• 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)

Comments

Tim Eck 2010-05-28

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.