com.tc.object.ObjectID

Terracotta Project Issue Tracker | Chris Dennis | 8 years ago
tip
Your exception is missing from the Samebug knowledge base.
Here are the best solutions we found on the Internet.
Click on the to mark the helpful solution and get rewards for you help.
  1. 0

    The getter TC generates for a final field currently looks something like this (simplified): public Object getField() { synchronized (__tc_managed()) { if (field == null) { resolveReference("fieldName"); } } return field } For a final field I think this can be changed to something like this: public Object getField() { if (field == null) { synchronized (__tc_managed()) { resolveReference("fieldName"); } } return field } The field is final - so if you see a non null value then it must be the correct one. This has been seen to be a bottleneck in some of our performance tests... PerAppThread-8" prio=10 tid=0x81c5c800 nid=0x69ca waiting for monitor entry [0x7df5c000] java.lang.Thread.State: BLOCKED (on object monitor) at org.terracotta.cache.serialization.ObjectStreamClassSerializer.__tc_getmappings(ObjectStreamClassSerializer.java) - waiting to lock <0x8a098750> (a com.tc.object.ObjectID) at org.terracotta.cache.serialization.ObjectStreamClassSerializer.getMappingFor(ObjectStreamClassSerializer.java:29) at org.terracotta.cache.serialization.DsoSerializationStrategy$OOS.writeClassDescriptor(DsoSerializationStrategy.java:85) at java.io.ObjectOutputStream.writeNonProxyDesc(ObjectOutputStream.java:1245) at java.io.ObjectOutputStream.writeClassDesc(ObjectOutputStream.java:1203) at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1387) at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150) at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326) at org.terracotta.cache.serialization.DsoSerializationStrategy.writeStringKey(DsoSerializationStrategy.java:54) at org.terracotta.cache.serialization.DsoSerializationStrategy.generateStringKeyFor(DsoSerializationStrategy.java:46) at org.terracotta.modules.ehcache.store.ClusteredStore.generateStringKeyFor(ClusteredStore.java:236) at org.terracotta.modules.ehcache.store.ClusteredStore.get(ClusteredStore.java:113)

    Terracotta Project Issue Tracker | 8 years ago | Chris Dennis
    com.tc.object.ObjectID

    Root Cause Analysis

    1. com.tc.object.ObjectID

      No message provided

      at org.terracotta.cache.serialization.ObjectStreamClassSerializer.getMappingFor()
    2. org.terracotta.cache
      DsoSerializationStrategy$OOS.writeClassDescriptor
      1. org.terracotta.cache.serialization.ObjectStreamClassSerializer.getMappingFor(ObjectStreamClassSerializer.java:29)
      2. org.terracotta.cache.serialization.DsoSerializationStrategy$OOS.writeClassDescriptor(DsoSerializationStrategy.java:85)
      2 frames
    3. Java RT
      ObjectOutputStream.writeObject
      1. java.io.ObjectOutputStream.writeNonProxyDesc(ObjectOutputStream.java:1245)
      2. java.io.ObjectOutputStream.writeClassDesc(ObjectOutputStream.java:1203)
      3. java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1387)
      4. java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
      5. java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
      5 frames
    4. org.terracotta.cache
      DsoSerializationStrategy.generateStringKeyFor
      1. org.terracotta.cache.serialization.DsoSerializationStrategy.writeStringKey(DsoSerializationStrategy.java:54)
      2. org.terracotta.cache.serialization.DsoSerializationStrategy.generateStringKeyFor(DsoSerializationStrategy.java:46)
      2 frames
    5. org.terracotta.modules
      ClusteredStore.get
      1. org.terracotta.modules.ehcache.store.ClusteredStore.generateStringKeyFor(ClusteredStore.java:236)
      2. org.terracotta.modules.ehcache.store.ClusteredStore.get(ClusteredStore.java:113)
      2 frames