CDV ❯ java.lang.AssertionError: missing reverse mapping for 14
-
Bug
-
Status: Closed
-
2 Major
-
Resolution: Fixed
-
-
-
teck
-
Reporter: teck
-
May 28, 2010
-
0
-
Watchers: 0
-
July 15, 2010
-
May 28, 2010
Description
This assertion error can happen for TC clustered quartz
java.lang.AssertionError: missing reverse mapping for 14 at org.terracotta.cache.serialization.ObjectStreamClassSerializer.getObjectStreamClassFor(ObjectStreamClassSerializer.java:78) at org.terracotta.cache.serialization.DsoSerializationStrategy$OIS.readClassDescriptor(DsoSerializationStrategy.java:87) at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1534) at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1466) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1699) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348) at org.terracotta.cache.serialization.DsoSerializationStrategy.deserialize(DsoSerializationStrategy.java:37) at org.terracotta.quartz.Serializer.deserialize(ClusteredJobStore.java:1993) at org.terracotta.quartz.TriggerWrapper.getTrigger(ClusteredJobStore.java:1841) at org.terracotta.quartz.TriggerComparator.compare(ClusteredJobStore.java:1668) at org.terracotta.quartz.TriggerComparator.compare(ClusteredJobStore.java:1663) at java.util.TreeMap.compare(TreeMap.java:1093) at java.util.TreeMap.put(TreeMap.java:465) at java.util.TreeSet.add(TreeSet.java:210) at org.terracotta.quartz.TriggerSet.insertLocal(TriggerSet.java:71) at org.terracotta.quartz.TriggerSet.__tc_applicator_put(TriggerSet.java:131) at com.tc.object.applicator.HashMapApplicator.apply(HashMapApplicator.java:74) at com.tc.object.applicator.HashMapApplicator.hydrate(HashMapApplicator.java:58) at com.tc.object.TCClassImpl.hydrate(TCClassImpl.java:198) at com.tc.object.TCObjectImpl.hydrate(TCObjectImpl.java:118) at com.tc.object.tx.ClientTransactionManagerImpl.basicApply(ClientTransactionManagerImpl.java:338) at com.tc.object.tx.ClientTransactionManagerImpl.apply(ClientTransactionManagerImpl.java:365) at com.tc.object.handler.ReceiveTransactionHandler.handleEvent(ReceiveTransactionHandler.java:88) at com.tc.async.impl.StageImpl$WorkerThread.run(StageImpl.java:127)
This can happen if an unlucky transaction fold occurs and is really the same issue as DEV-3070
Running NodeDeathTest you can get this to happen about 5% of the time if you’re lucky.
This will be fixed in trunk and 3.2.x users can disable transaction folding or simply restart their L1.