Error while disabling backends due to NoSuchElementException in 
AbstractPoolConnectionManager.doConnectionFinalization(line 226)
--------------------------------------------------------------------------------------------------------------------------------

         Key: SEQUOIA-1143
         URL: https://forge.continuent.org/jira/browse/SEQUOIA-1143
     Project: Sequoia
        Type: Bug

  Components: Core  
    Reporter: Stephane Giron
 Assigned to: Stephane Giron 
     Fix For: sequoia 2.10.11


This is due to an unsynchronized access to freeConnections.

This unsynchronized access is done by removeIdleConnectionsThread in the 
VariablePoolConnectionManager, which is adding elements out of a synchronized 
block.

Full stack trace is :

Error while disabling backends
[org.continuent.sequoia.common.jmx.management.backendi...@1a0db2]
org.continuent.sequoia.common.exceptions.VirtualDatabaseException
        at 
org.continuent.sequoia.controller.virtualdatabase.DistributedVirtualDatabase.sendMessageToControllers(DistributedVirtualDatabase.java:3040)
        at 
org.continuent.sequoia.controller.requestmanager.distributed.DistributedRequestManager.disableBackendsWithCheckpoint(DistributedRequestManager.java:371)
        at 
org.continuent.sequoia.controller.requestmanager.RequestManager.disableBackendWithCheckpoint(RequestManager.java:2775)
        at 
org.continuent.sequoia.controller.virtualdatabase.VirtualDatabase.disableBackendWithCheckpoint(VirtualDatabase.java:1692)
        at 
org.continuent.sequoia.controller.virtualdatabase.management.VirtualDatabase.disableBackendWithCheckpoint(VirtualDatabase.java:213)
        at sun.reflect.GeneratedMethodAccessor209.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(Unknown 
Source)
        at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(Unknown 
Source)
        at com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(Unknown Source)
        at com.sun.jmx.mbeanserver.PerInterface.invoke(Unknown Source)
        at com.sun.jmx.mbeanserver.MBeanSupport.invoke(Unknown Source)
        at javax.management.StandardMBean.invoke(Unknown Source)
        at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(Unknown 
Source)
        at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(Unknown Source)
        at 
org.continuent.sequoia.controller.jmx.ChainedMBeanServer.invoke(ChainedMBeanServer.java:318)
        at 
org.continuent.sequoia.controller.jmx.AuthenticatingMBeanServer.invoke(AuthenticatingMBeanServer.java:127)
        at javax.management.remote.rmi.RMIConnectionImpl.doOperation(Unknown 
Source)
        at javax.management.remote.rmi.RMIConnectionImpl.access$200(Unknown 
Source)
        at 
javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(Unknown 
Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at 
javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(Unknown 
Source)
        at javax.management.remote.rmi.RMIConnectionImpl.invoke(Unknown Source)
        at sun.reflect.GeneratedMethodAccessor14.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at sun.rmi.server.UnicastServerRef.dispatch(Unknown Source)
        at sun.rmi.transport.Transport$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at sun.rmi.transport.Transport.serviceCall(Unknown Source)
        at sun.rmi.transport.tcp.TCPTransport.handleMessages(Unknown Source)
        at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(Unknown 
Source)
        at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(Unknown 
Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown 
Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)
Caused by: org.continuent.sequoia.common.exceptions.ControllerException
        at 
org.continuent.sequoia.common.exceptions.SequoiaException.fillInStackTrace(SequoiaException.java:103)
        at java.lang.Throwable.<init>(Throwable.java:181)
        at java.lang.Exception.<init>(Unknown Source)
        at 
org.continuent.sequoia.common.exceptions.SequoiaException.<init>(SequoiaException.java:66)
        at 
org.continuent.sequoia.common.exceptions.ControllerException.<init>(ControllerException.java:61)
        at 
org.continuent.sequoia.controller.virtualdatabase.protocol.DisableBackendsAndSetCheckpoint.handleMessageMultiThreaded(DisableBackendsAndSetCheckpoint.java:213)
        at 
org.continuent.sequoia.controller.virtualdatabase.DistributedVirtualDatabase.handleMessageMultiThreaded(DistributedVirtualDatabase.java:384)
        at 
org.continuent.hedera.adapters.MulticastRequestAdapterThread.run(MulticastRequestAdapterThread.java:129)
Caused by: java.util.NoSuchElementException
        at java.util.LinkedList.remove(Unknown Source)
        at java.util.LinkedList.removeLast(Unknown Source)
        at 
org.continuent.sequoia.controller.connection.AbstractPoolConnectionManager.doConnectionFinalization(AbstractPoolConnectionManager.java:226)
        at 
org.continuent.sequoia.controller.connection.VariablePoolConnectionManager.doConnectionFinalization(VariablePoolConnectionManager.java:313)
        at 
org.continuent.sequoia.controller.connection.AbstractConnectionManager.finalizeConnections(AbstractConnectionManager.java:337)
        at 
org.continuent.sequoia.controller.backend.DatabaseBackend.finalizeConnections(DatabaseBackend.java:677)
        at 
org.continuent.sequoia.controller.loadbalancer.raidb1.RAIDb1.terminateThreadsAndConnections(RAIDb1.java:2265)
        at 
org.continuent.sequoia.controller.loadbalancer.raidb1.RAIDb1.terminateThreadsAndConnections(RAIDb1.java:2256)
        at 
org.continuent.sequoia.controller.loadbalancer.raidb1.RAIDb1.disableBackend(RAIDb1.java:2228)
        at 
org.continuent.sequoia.controller.virtualdatabase.protocol.DisableBackendsAndSetCheckpoint.handleMessageMultiThreaded(DisableBackendsAndSetCheckpoint.java:196)
        ... 2 more


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   https://forge.continuent.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira

_______________________________________________
Sequoia mailing list
[email protected]
https://forge.continuent.org/mailman/listinfo/sequoia

Reply via email to