• Bug
  • Status: Closed
  • 1 Critical
  • Resolution: Fixed
  • hhuynh
  • Reporter: ssubbiah
  • October 02, 2008
  • 0
  • Watchers: 0
  • September 17, 2009
  • October 02, 2008

Description

The TPS of the server fell to zero, the server log doesnt give much. But the console logs have this exception.

java.lang.InterruptedException at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireInterruptibly(AbstractQueuedSynchronizer.java:1062) at java.util.concurrent.locks.ReentrantLock.lockInterruptibly(ReentrantLock.java:307) at java.util.concurrent.LinkedBlockingQueue.put(LinkedBlockingQueue.java:240) at com.tc.util.concurrent.TCLinkedBlockingQueue.put(TCLinkedBlockingQueue.java:34) at com.tc.async.impl.StageQueueImpl.add(StageQueueImpl.java:90) at com.tc.net.protocol.delivery.StateMachineRunner.scheduleIfNeeded(StateMachineRunner.java:74) at com.tc.net.protocol.delivery.StateMachineRunner.addEvent(StateMachineRunner.java:68) at com.tc.net.protocol.delivery.GuaranteedDeliveryProtocol.send(GuaranteedDeliveryProtocol.java:32) at com.tc.net.protocol.delivery.OnceAndOnlyOnceProtocolNetworkLayerImpl.send(OnceAndOnlyOnceProtocolNetworkLayerImpl.java:97) at com.tc.net.protocol.tcm.AbstractMessageChannel.send(AbstractMessageChannel.java:165) at com.tc.net.protocol.tcm.TCMessageImpl.basicSend(TCMessageImpl.java:325) at com.tc.net.protocol.tcm.TCMessageImpl.send(TCMessageImpl.java:320) at com.tc.management.remote.protocol.terracotta.TunnelingMessageConnection.writeMessage(TunnelingMessageConnection.java:82) at com.sun.jmx.remote.generic.ClientSynchroMessageConnectionImpl.sendWithReturn(ClientSynchroMessageConnectionImpl.java:231) at javax.management.remote.generic.ClientIntermediary.mBeanServerRequest(ClientIntermediary.java:975) at javax.management.remote.generic.ClientIntermediary.mBeanServerRequest(ClientIntermediary.java:957) at javax.management.remote.generic.ClientIntermediary.getAttribute(ClientIntermediary.java:369) at javax.management.remote.generic.GenericConnector$RemoteMBeanServerConnection.getAttribute(GenericConnector.java:490) at javax.management.MBeanServerInvocationHandler.invoke(MBeanServerInvocationHandler.java:175) at $Proxy0.getSupportedStatistics(Unknown Source) at com.tc.statistics.agent.StatisticsAgentConnection.getSupportedStatistics(StatisticsAgentConnection.java:70) at com.tc.statistics.beans.impl.StatisticsGatewayMBeanImpl.getSupportedStatistics(StatisticsGatewayMBeanImpl.java:121) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at com.sun.jmx.mbeanserver.StandardMetaDataImpl.getAttribute(StandardMetaDataImpl.java:637) at com.sun.jmx.mbeanserver.StandardMetaDataImpl.getAttribute(StandardMetaDataImpl.java:265) at javax.management.StandardMBean.getAttribute(StandardMBean.java:278) at com.sun.jmx.mbeanserver.DynamicMetaDataImpl.getAttribute(DynamicMetaDataImpl.java:96) at com.sun.jmx.mbeanserver.MetaDataImpl.getAttribute(MetaDataImpl.java:181) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getAttribute(DefaultMBeanServerInterceptor.java:638) at com.sun.jmx.mbeanserver.JmxMBeanServer.getAttribute(JmxMBeanServer.java:659) at javax.management.remote.generic.ServerIntermediary.handleRequest(ServerIntermediary.java:222) at javax.management.remote.generic.ServerIntermediary$PrivilegedRequestJob.run(ServerIntermediary.java:951) at java.security.AccessController.doPrivileged(Native Method) at javax.management.remote.generic.ServerIntermediary$RequestHandler.handleMBSReqMessage(ServerIntermediary.java:727) at javax.management.remote.generic.ServerIntermediary$RequestHandler.execute(ServerIntermediary.java:629) at com.sun.jmx.remote.generic.ServerSynchroMessageConnectionImpl$RemoteJob.run(ServerSynchroMessageConnectionImpl.java:266) at com.sun.jmx.remote.opt.util.ThreadService$ThreadServiceJob.run(ThreadService.java:208) at com.sun.jmx.remote.opt.util.JobExecutor.run(JobExecutor.java:59)

Comments

Fiona OShea 2008-10-02

One place where Thread.interrupt() is called is when a remote jmx client disconnects. If there is an outstanding request being processed on behalf of that client when it disconnects, the thread processing the request will be interrupted.

Hung Huynh 2008-11-04

test existed