Keith Wall created QPID-6495:
--------------------------------

             Summary: Ensure that closing a 0-10 connection from management 
releases the protocol layer's session resources too
                 Key: QPID-6495
                 URL: https://issues.apache.org/jira/browse/QPID-6495
             Project: Qpid
          Issue Type: Bug
          Components: Java Broker
            Reporter: Keith Wall
             Fix For: 6.0 [Java]


On closing a 0-10 connection from management (or Broker shutdown) currently 
consumers are closed, but the protocol layer's session resources remain even 
after the connection itself is closed (ServerConnection#closeAsync)

The work of QPID-6450 exposed this as a problem.  It introduced a VHN scoped 
task executor which is closed as the VHN is closed.  In the current arrangement 
this means that it is the Port that attempts to release the session's 
resources, leading to a task executor as the session tries to schedule the 
destruction of its model object on the now closed task executor.

{noformat}
Thread terminated due to uncaught exceptionjava.lang.IllegalStateException: 
Task executor is not in ACTIVE state
at 
org.apache.qpid.server.configuration.updater.TaskExecutorImpl.checkState(TaskExecutorImpl.java:308)
at 
org.apache.qpid.server.configuration.updater.TaskExecutorImpl.submit(TaskExecutorImpl.java:136)
at 
org.apache.qpid.server.model.AbstractConfiguredObject.doOnConfigThread(AbstractConfiguredObject.java:498)
at 
org.apache.qpid.server.model.AbstractConfiguredObject.setDesiredState(AbstractConfiguredObject.java:1272)
at 
org.apache.qpid.server.model.AbstractConfiguredObject.deleteAsync(AbstractConfiguredObject.java:1773)
at 
org.apache.qpid.server.model.adapter.SessionAdapter$2.performAction(SessionAdapter.java:76)
at 
org.apache.qpid.server.protocol.v0_10.ServerSession.onClose(ServerSession.java:498)
at 
org.apache.qpid.server.protocol.v0_10.ServerSessionDelegate.closed(ServerSessionDelegate.java:1625)
at org.apache.qpid.transport.Session.closed(Session.java:1108)
at org.apache.qpid.transport.Connection.closed(Connection.java:599)
at 
org.apache.qpid.server.protocol.v0_10.ServerConnection.closed(ServerConnection.j
at org.apache.qpid.transport.network.Assembler.closed(Assembler.java:113)
at org.apache.qpid.transport.network.InputHandler.closed(InputHandler.java:215)
at 
org.apache.qpid.server.protocol.v0_10.ProtocolEngine_0_10.closed(ProtocolEngine_0_10.java:270)
at 
org.apache.qpid.server.protocol.MultiVersionProtocolEngine.closed(MultiVersionProtocolEngine.java:129)
at 
org.apache.qpid.server.transport.NonBlockingConnection.doWork(NonBlockingConnection.java:325)
at 
org.apache.qpid.server.transport.NetworkConnectionScheduler.processConnection(NetworkConnectionScheduler.java:94)
at 
org.apache.qpid.server.transport.NetworkConnectionScheduler.access$000(NetworkConnectionScheduler.java:34)
at 
org.apache.qpid.server.transport.NetworkConnectionScheduler$2.run(NetworkConnectionScheduler.java:75)
at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
{noformat}




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to