Here is the other partial stack-trace for reference to the first object that has a blocked thread.
Code:
"Dispatcher-0" prio=10 tid=0x00007fab5c008800 nid=0x3ed4 in Object.wait() [0x00007faa5c9bb000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at com.tc.object.RemoteServerMapManagerImpl.waitForResult(RemoteServerMapManagerImpl.java:157)
at com.tc.object.RemoteServerMapManagerImpl.getMappingForKey(RemoteServerMapManagerImpl.java:99)
- locked <0x0000000781ca2038> (a com.tc.object.RemoteServerMapManagerImpl)
at com.tc.object.TCObjectServerMapImpl.getValueForKeyFromServer(TCObjectServerMapImpl.java:405)
at com.tc.object.TCObjectServerMapImpl.getValueUnlocked(TCObjectServerMapImpl.java:304)
- locked <0x0000000782440ef0> (a java.lang.Object)
at com.terracotta.toolkit.collections.ConcurrentDistributedServerMapDso.unlockedGet(ConcurrentDistributedServerMapDso.java:353)
at com.terracotta.toolkit.collections.ConcurrentDistributedMapDsoArray.unlockedGet(ConcurrentDistributedMapDsoArray.java:176)
at org.terracotta.collections.ConcurrentDistributedMap.unlockedGet(ConcurrentDistributedMap.java:224)
at org.terracotta.cache.TerracottaDistributedCache.getNonExpiredEntry(TerracottaDistributedCache.java:235)
at org.terracotta.cache.TerracottaDistributedCache.getNonExpiredEntryUnlocked(TerracottaDistributedCache.java:157)
at org.terracotta.cache.TerracottaDistributedCache.unlockedGetTimestampedValue(TerracottaDistributedCache.java:654)
at org.terracotta.modules.ehcache.store.ClusteredStoreBackendImpl.unlockedGetTimestampedValue(ClusteredStoreBackendImpl.java:183)
at org.terracotta.modules.ehcache.store.backend.NonStrictBackend.get(NonStrictBackend.java:185)
at org.terracotta.modules.ehcache.store.ClusteredStore.doGet(ClusteredStore.java:411)
at org.terracotta.modules.ehcache.store.ClusteredStore.getQuiet(ClusteredStore.java:402)
at org.terracotta.modules.ehcache.store.ClusteredSafeStore.getQuiet(ClusteredSafeStore.java:288)
at net.sf.ehcache.Cache.searchInStoreWithoutStats(Cache.java:2101)
at net.sf.ehcache.Cache.get(Cache.java:1630)
at net.sf.ehcache.Cache.get(Cache.java:1597)
Also we see in TC server log GC warnings around this time we're and investigating if it happens above or after above problem.
Code:
2012-12-17 12:21:13,869 [TC Memory Monitor] WARN com.tc.runtime.logging.LongGCLogger - Detected long GC>8,000ms. GC count:1. GC Time:44,572ms. Frequent long GC cycles cause severe performance degradation. Use Terracotta BigMemory to eliminate them.