Discussions
Categories
Groups
Community Home
Categories
INTERNAL ENABLEMENT
POPULAR
THRUST SERVICES & TOOLS
CLOUD EDITIONS
Quick Links
MY LINKS
HELPFUL TIPS
Back to website
Home
Web Experience Management
NullPointer while building channel link using JSTL(Once in a while)
Uday Bhasker Jorigala
Hi All,
Environment:
-------------------
VCM - 8.0 SP3 (Cluster)
VAP - 8.1 (Cluster)
DPM - Cluster sharing same cache filesystem
FURL - Yes
Application Server - WebSphere 7
ObjectCache Setting in Generic Resource:
--------------------------------------------------------------
object.cache.cacheLifeTime=43200000
object.cache.expiration.batch.size=1000
object.cache.fs.interval=10000
object.cache.max.disk.used=2147483648
object.cache.max.files=800000
object.cache.max.memory.used=268435456
object.cache.max.size=100000
object.cache.name=ObjectCache
object.cache.purge.files.interval=43200000
object.cache.reduction.factor=80
object.cache.shared=true
objectcache.impl=com.vignette.ext.templating.cache.ObjectCache
Problem:
Some times in the deliverysite we are seeing NullPointer exceptions while building channel link eventhough channel is published and same channel link was built successfullybefore. Below is the JSTL code in our displayview which is throwing theexception. This problem goes away when we clear object cache or refreshthe channel cache. We noticed problem on delivery (might have happenedin preview as well but never noticed it). Verified that the channel existsin the DB when the problem happens.
And problem doesn't happen with thesame channel every time. Also we did not notice problem with Content Instance.
<
templating:contentLink
var
=
"url"
oid
=
"
${channel.system.id}
"
/>
Exception from DPM log, and could notfind any exception from WebSphere logs or Page Trace logs (As it is productionall our logs are in info so could not get more information)
java.lang.NullPointerException
atcom.vignette.ext.furl.mappers.util.MapperUtil.getChannelName(MapperUtil.java:1123)
atcom.vignette.ext.furl.mappers.channel.ChannelMapper.getChannelBreadcrumbPath(ChannelMapper.java:516)
atcom.vignette.ext.furl.mappers.channel.ChannelMapper.buildLink(ChannelMapper.java:337)
atcom.vignette.ext.furl.mappers.channel.ChannelMapper.generateLink(ChannelMapper.java:223)
atcom.vignette.ext.furl.link.FriendlyURLLinkPrinter.printLink(FriendlyURLLinkPrinter.java:221)
atcom.vignette.ext.templating.link.LinkBuilder.processLinkPrinterPlugin(LinkBuilder.java:326)
atcom.vignette.ext.templating.link.LinkBuilder.buildLink(LinkBuilder.java:485)
atcom.vignette.ext.templating.taglib.LinkTagSupport.doStartTag(LinkTagSupport.java:197)
atcom.ibm._jsp._navigation._jspx_meth_templating_contentLink_4(_navigation.java:1109)
atcom.ibm._jsp._navigation._jspx_meth_c_if_7(_navigation.java:1396)
What we are thinking:
This ishappening because of bad cache in the system or two threads are tryingto access the same cache object where one is trying to expire the objectby generating new cache and other thread reading expired object (or staleobject). We might be completely wrong in our thinking.
Have any one seen this kind of issuebefore? what could be causing this kind of problem and how can we avoidit future? Does clearing object cache by API every 24 hrs will fix thiskind of problem?
Please give any input/suggestion youhave, Your replies are appreciated.
Thanks,
Uday Bhasker J.
Find more posts tagged with
Comments
There are no comments yet