CDV ❯ NullPointerException in TC job store
-
Bug
-
Status: Closed
-
2 Major
-
Resolution: Fixed
-
-
-
lorban
-
Reporter: teck
-
May 18, 2010
-
0
-
Watchers: 2
-
March 24, 2011
-
July 14, 2010
Description
http://forums.terracotta.org/forums/posts/list/3687.page
The NPE here certainly looks like a bug in our job store, but I don’t understand how it can happen.
Comments
Ludovic Orban 2010-06-29
Tim Eck 2010-07-14
I think this NPE is resolved now. There was an issue if the DistributedSortedSet$Storage was flushed and faulted
Robert Egglestone 2010-11-15
This issue has hit us about half a dozen times in production. It’s excellent to see that it’s been fixed.
Please could you clarify which release the fix is included in? The Terracotta target is listed as “Fremantle”. The community development versions page lists some codenames, but I don’t see Fremantle mentioned in the list.
https://jira.terracotta.org/jira/browse/CDV#selectedTab=com.atlassian.jira.plugin.system.project%3Aversions-panel
Is this fix included in Terracotta 3.4.0, or would it be in a following release?
Thanks, Robert
Tim Eck 2010-11-15
For the conditions that we knew about that can cause this NPE, the fixes are present in the artifacts that accompany 3.4.0
You actually don’t need to update your core terracotta version. The fix is in version 1.4.1 of tim-quartz-1.8 and 1.2.1 of terracotta-quartz. Both of those should be compatible with 3.3.0 and 3.4.0 on the terracotta server side.
That said I always encourage you to be on the latest versions :-)
Another one which happens spuriously:
05:39:37,824 ERROR org.quartz.core.QuartzSchedulerThread - quartzSchedulerThreadLoop: RuntimeException null java.lang.NullPointerException at org.terracotta.collections.quartz.DistributedSortedSet$Storage.insertLocal(DistributedSortedSet.java:120) at org.terracotta.collections.quartz.DistributedSortedSet$Storage.applyPut(DistributedSortedSet.java:148) at org.terracotta.collections.quartz.DistributedSortedSet$PendingApply$Put.apply(DistributedSortedSet.java:303) at org.terracotta.collections.quartz.DistributedSortedSet$PendingApply.apply(DistributedSortedSet.java:283) at org.terracotta.collections.quartz.DistributedSortedSet$Storage.applyPending(DistributedSortedSet.java:138) at org.terracotta.collections.quartz.DistributedSortedSet$Storage.removeFirst(DistributedSortedSet.java:107) at org.terracotta.collections.quartz.DistributedSortedSet.removeFirst(DistributedSortedSet.java:53) at org.terracotta.quartz.ClusteredJobStore.acquireNextTriggers(ClusteredJobStore.java:1311) at org.terracotta.quartz.PlainTerracottaJobStore.acquireNextTriggers(PlainTerracottaJobStore.java:47) at org.quartz.core.QuartzSchedulerThread.run(QuartzSchedulerThread.java:267)