Terracotta unexpected CommonShutDownHook and client exiting

bestweb

New Member
I use \[code\]Weblogic 9\[/code\] + app with distributed \[code\]ehcache\[/code\].
During some tests the following event was occured: \[code\]2012-07-04 13:28:52,498 [TC Memory Monitor] INFO com.tc.runtime.TCMemoryManagerImpl - Sleep time changed to : 60 2012-07-04 13:28:54,870 [CommonShutDownHook] INFO com.terracottatech.dso - L1 Exiting... 2012-07-04 13:28:54,959 [WorkerThread(cluster_events_stage, 0)] INFO com.tc.object.bytecode.Manager - Ignoring com.tc.exception.TCNotRunningException in unlock(lockID=DsoLockID(ObjectID=[12362]), level=WRITE) 2012-07-04 13:28:54,960 [WorkerThread(cluster_events_stage, 0)] ERROR com.tc.cluster.DsoClusterImpl - Ignoring TCNotRunningException when notifying DsoClusterEvent:ClientID[6] : Node Left2012-07-04 13:28:54,960 [WorkerThread(cluster_events_stage, 0)] ERROR com.tc.cluster.DsoClusterImpl - Ignoring TCNotRunningException when notifying DsoClusterEvent:ClientID[47] : Node Left2012-07-04 13:28:54,960 [WorkerThread(cluster_events_stage, 0)] ERROR com.tc.cluster.DsoClusterImpl - Ignoring TCNotRunningException when notifying DsoClusterEvent:ClientID[47] : Node Left2012-07-04 13:28:54,960 [WorkerThread(cluster_events_stage, 0)] ERROR com.tc.cluster.DsoClusterImpl - Ignoring TCNotRunningException when notifying DsoClusterEvent:ClientID[47] : Node Left2012-07-04 13:28:54,960 [WorkerThread(cluster_events_stage, 0)] ERROR com.tc.cluster.DsoClusterImpl - Ignoring TCNotRunningException when notifying DsoClusterEvent:ClientID[47] : Node Left2012-07-04 13:28:54,960 [WorkerThread(cluster_events_stage, 0)] ERROR com.tc.cluster.DsoClusterImpl - Ignoring TCNotRunningException when notifying DsoClusterEvent:ClientID[47] : Node Left2012-07-04 13:28:54,960 [WorkerThread(cluster_events_stage, 0)] ERROR com.tc.cluster.DsoClusterImpl - Ignoring TCNotRunningException when notifying DsoClusterEvent:ClientID[47] : Node Left2012-07-04 13:28:55,037 [WorkerThread(cluster_events_stage, 0)] ERROR com.tc.cluster.DsoClusterImpl - Ignoring TCNotRunningException when notifying DsoClusterEvent:ClientID[46] : Node Left2012-07-04 13:28:55,037 [WorkerThread(cluster_events_stage, 0)] ERROR com.tc.cluster.DsoClusterImpl - Ignoring TCNotRunningException when notifying DsoClusterEvent:ClientID[46] : Node Left2012-07-04 13:28:55,037 [WorkerThread(cluster_events_stage, 0)] ERROR com.tc.cluster.DsoClusterImpl - Ignoring TCNotRunningException when notifying DsoClusterEvent:ClientID[46] : Node Left2012-07-04 13:28:55,037 [WorkerThread(cluster_events_stage, 0)] ERROR com.tc.cluster.DsoClusterImpl - Ignoring TCNotRunningException when notifying DsoClusterEvent:ClientID[46] : Node Left2012-07-04 13:28:55,037 [WorkerThread(cluster_events_stage, 0)] ERROR com.tc.cluster.DsoClusterImpl - Ignoring TCNotRunningException when notifying DsoClusterEvent:ClientID[46] : Node Left2012-07-04 13:28:55,037 [WorkerThread(cluster_events_stage, 0)] ERROR com.tc.cluster.DsoClusterImpl - Ignoring TCNotRunningException when notifying DsoClusterEvent:ClientID[46] : Node Left2012-07-04 13:28:55,060 [WorkerThread(cluster_events_stage, 0)] ERROR com.tc.cluster.DsoClusterImpl - Ignoring TCNotRunningException when notifying DsoClusterEvent:ClientID[44] : Node Left2012-07-04 13:28:55,060 [WorkerThread(cluster_events_stage, 0)] ERROR com.tc.cluster.DsoClusterImpl - Ignoring TCNotRunningException when notifying DsoClusterEvent:ClientID[44] : Node Left2012-07-04 13:28:55,060 [WorkerThread(cluster_events_stage, 0)] ERROR com.tc.cluster.DsoClusterImpl - Ignoring TCNotRunningException when notifying DsoClusterEvent:ClientID[44] : Node Left2012-07-04 13:28:55,060 [WorkerThread(cluster_events_stage, 0)] ERROR com.tc.cluster.DsoClusterImpl - Ignoring TCNotRunningException when notifying DsoClusterEvent:ClientID[44] : Node Left2012-07-04 13:28:55,060 [WorkerThread(cluster_events_stage, 0)] ERROR com.tc.cluster.DsoClusterImpl - Ignoring TCNotRunningException when notifying DsoClusterEvent:ClientID[44] : Node Left2012-07-04 13:28:55,060 [WorkerThread(cluster_events_stage, 0)] ERROR com.tc.cluster.DsoClusterImpl - Ignoring TCNotRunningException when notifying DsoClusterEvent:ClientID[44] : Node Left2012-07-04 13:28:55,433 [Thread-64] INFO com.tc.object.tx.RemoteTransactionManagerImpl - ClientID[45]: stop(): took 0 millis to complete2012-07-04 13:28:55,439 [Thread-64] INFO com.tc.net.protocol.transport.ConnectionHealthCheckerImpl: DSO Client - Connection to [10.6.140.119:9510] CLOSED. Health Monitoring for this node is now disabled.2012-07-04 13:28:55,442 [Thread-64] WARN com.tc.net.protocol.tcm.ClientMessageChannel - Attempt to get the channel ID of an unopened channel - ChannelID=[45]2012-07-04 13:28:55,442 [Thread-64] INFO com.terracottatech.console - Channel ChannelID=[45] closed.2012-07-04 13:28:55,442 [Thread-64] INFO com.terracottatech.dso - Channel ChannelID=[45] closed.2012-07-04 13:28:55,442 [Thread-64] INFO com.terracottatech.dso - Shutting down clientHandshakeManager...\[/code\]As \[code\]Terracotta\[/code\] client uses separate classloader it unloaded its classes and I got following error in \[code\]Weblogic\[/code\]: \[code\]java.lang.NoClassDefFoundError: net/sf/ehcache/concurrent/LockType at net.sf.ehcache.store.FrontEndCacheTier.readLock(FrontEndCacheTier.java:632) at net.sf.ehcache.store.FrontEndCacheTier.getKeys(FrontEndCacheTier.java:485) at net.sf.ehcache.Cache.getKeys(Cache.java:1913) at org.terracotta.modules.ehcache.store.servermap.OnlineEhcacheSMLocalStore.getKeys(OnlineEhcacheSMLocalStore.java:44) at org.terracotta.modules.ehcache.store.servermap.EhcacheSMLocalStore.getKeys(EhcacheSMLocalStore.java:82) at com.terracotta.toolkit.collections.servermap.L1ServerMapLocalCacheStoreImpl.getKeys(L1ServerMapLocalCacheStoreImpl.java:51) at com.tc.object.servermap.localcache.impl.ServerMapLocalCacheImpl.clear(ServerMapLocalCacheImpl.java:247) at com.tc.object.TCObjectServerMapImpl.clearLocalCache(TCObjectServerMapImpl.java:600) at com.terracotta.toolkit.collections.ConcurrentDistributedServerMapDsoApplicator.hydrate(ConcurrentDistributedServerMapDsoApplicator.java:145) at com.tc.object.TCClassImpl.hydrate(TCClassImpl.java:199) at com.tc.object.TCObjectImpl.hydrate(TCObjectImpl.java:113) at com.tc.object.tx.ClientTransactionManagerImpl.basicApply(ClientTransactionManagerImpl.java:350) at com.tc.object.tx.ClientTransactionManagerImpl.apply(ClientTransactionManagerImpl.java:378) at com.tc.object.handler.ReceiveTransactionHandler.handleEvent(ReceiveTransactionHandler.java:100) at com.tc.async.impl.StageImpl$WorkerThread.run(StageImpl.java:145)<04.07.2012 13:28:54 MSD> Notice WebLogicServer BEA-000388 JVM called WLS shutdown hook. The server will force shutdown now <04.07.2012 13:28:54 MSD> Alert WebLogicServer BEA-000396 Server shutdown has been requested by WLS KernelException in thread "Thread-42" java.lang.NoClassDefFoundError: net/sf/ehcache/concurrent/LockType at net.sf.ehcache.store.FrontEndCacheTier.writeLock(FrontEndCacheTier.java:644) at net.sf.ehcache.store.FrontEndCacheTier.removeAll(FrontEndCacheTier.java:503) at net.sf.ehcache.Cache.removeAll(Cache.java:2461) at net.sf.ehcache.Cache.removeAll(Cache.java:2446) at org.terracotta.modules.ehcache.store.servermap.OnlineEhcacheSMLocalStore.clear(OnlineEhcacheSMLocalStore.java:13\[/code\]What is the reason of \[code\]Terracotta\[/code\] client exiting?
Is it possible to configure \[code\]Weblogic\[/code\] in the way not to stop all application when this error occurs?
 
Top