You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Keith Wall (JIRA)" <ji...@apache.org> on 2016/02/15 13:33:18 UTC

[jira] [Resolved] (QPID-7060) [Java Broker] [0-10] Connection close disassociates virtualhost before closing sessions and connection model object

     [ https://issues.apache.org/jira/browse/QPID-7060?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Keith Wall resolved QPID-7060.
------------------------------
       Resolution: Fixed
    Fix Version/s: qpid-java-6.0.1

> [Java Broker] [0-10] Connection close disassociates virtualhost before closing sessions and connection model object
> -------------------------------------------------------------------------------------------------------------------
>
>                 Key: QPID-7060
>                 URL: https://issues.apache.org/jira/browse/QPID-7060
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Broker
>    Affects Versions: qpid-java-6.0
>            Reporter: Keith Wall
>            Assignee: Alex Rudyy
>            Priority: Minor
>             Fix For: qpid-java-6.0.1, qpid-java-6.1
>
>
> As highlighted by the following test failure:
> https://builds.apache.org/view/M-R/view/Qpid/job/Qpid-Java-Java-Test-IBMJDK1.7/1440/testReport/org.apache.qpid.test.unit.xa/FaultTest/testForget/
> On the 0-10 path, a closed disassociates the connection from the virtual host _before_ closing the session(s) and causing the connection model object to closed.  This means that if an close initiated by the client occurs just before a Broker shutdown, a rice is possible.  The VHN will shutdown the VH executor as soon as the last connection is disassociated, so the following stack trace is possible:
> {noformat}
> java.lang.IllegalStateException: Task executor VirtualHostNode-test-Config is not in ACTIVE state
> 	at org.apache.qpid.server.configuration.updater.TaskExecutorImpl.checkState(TaskExecutorImpl.java:225) ~[qpid-broker-core-6.1.0-SNAPSHOT.jar:6.1.0-SNAPSHOT]
> 	at org.apache.qpid.server.configuration.updater.TaskExecutorImpl.submitWrappedTask(TaskExecutorImpl.java:147) ~[qpid-broker-core-6.1.0-SNAPSHOT.jar:6.1.0-SNAPSHOT]
> 	at org.apache.qpid.server.configuration.updater.TaskExecutorImpl.submit(TaskExecutorImpl.java:142) ~[qpid-broker-core-6.1.0-SNAPSHOT.jar:6.1.0-SNAPSHOT]
> 	at org.apache.qpid.server.model.AbstractConfiguredObject.doOnConfigThread(AbstractConfiguredObject.java:513) ~[qpid-broker-core-6.1.0-SNAPSHOT.jar:6.1.0-SNAPSHOT]
> 	at org.apache.qpid.server.model.AbstractConfiguredObject.setDesiredState(AbstractConfiguredObject.java:1400) ~[qpid-broker-core-6.1.0-SNAPSHOT.jar:6.1.0-SNAPSHOT]
> 	at org.apache.qpid.server.model.AbstractConfiguredObject.deleteAsync(AbstractConfiguredObject.java:2014) ~[qpid-broker-core-6.1.0-SNAPSHOT.jar:6.1.0-SNAPSHOT]
> 	at org.apache.qpid.server.model.adapter.SessionAdapter$2.performAction(SessionAdapter.java:78) ~[qpid-broker-core-6.1.0-SNAPSHOT.jar:6.1.0-SNAPSHOT]
> 	at org.apache.qpid.server.protocol.v0_10.ServerSession.onClose(ServerSession.java:510) ~[qpid-broker-plugins-amqp-0-10-protocol-6.1.0-SNAPSHOT.jar:6.1.0-SNAPSHOT]
> 	at org.apache.qpid.server.protocol.v0_10.ServerSessionDelegate.closed(ServerSessionDelegate.java:1682) ~[qpid-broker-plugins-amqp-0-10-protocol-6.1.0-SNAPSHOT.jar:6.1.0-SNAPSHOT]
> 	at org.apache.qpid.transport.Session.closed(Session.java:1094) ~[qpid-common-6.1.0-SNAPSHOT.jar:na]
> 	at org.apache.qpid.transport.Connection.closed(Connection.java:583) ~[qpid-common-6.1.0-SNAPSHOT.jar:na]
> 	at org.apache.qpid.server.protocol.v0_10.ServerConnection.closed(ServerConnection.java:427) ~[qpid-broker-plugins-amqp-0-10-protocol-6.1.0-SNAPSHOT.jar:6.1.0-SNAPSHOT]
> 	at org.apache.qpid.server.protocol.v0_10.ServerAssembler.closed(ServerAssembler.java:132) ~[qpid-broker-plugins-amqp-0-10-protocol-6.1.0-SNAPSHOT.jar:6.1.0-SNAPSHOT]
> 	at org.apache.qpid.server.protocol.v0_10.ServerInputHandler.closed(ServerInputHandler.java:194) ~[qpid-broker-plugins-amqp-0-10-protocol-6.1.0-SNAPSHOT.jar:6.1.0-SNAPSHOT]
> 	at org.apache.qpid.server.protocol.v0_10.AMQPConnection_0_10$5.run(AMQPConnection_0_10.java:227) ~[qpid-broker-plugins-amqp-0-10-protocol-6.1.0-SNAPSHOT.jar:6.1.0-SNAPSHOT]
> 	at org.apache.qpid.server.protocol.v0_10.AMQPConnection_0_10$5.run(AMQPConnection_0_10.java:223) ~[qpid-broker-plugins-amqp-0-10-protocol-6.1.0-SNAPSHOT.jar:6.1.0-SNAPSHOT]
> 	at java.security.AccessController.doPrivileged(AccessController.java:300) ~[na:1.7.0]
> 	at org.apache.qpid.server.protocol.v0_10.AMQPConnection_0_10.closed(AMQPConnection_0_10.java:222) ~[qpid-broker-plugins-amqp-0-10-protocol-6.1.0-SNAPSHOT.jar:6.1.0-SNAPSHOT]
> 	at org.apache.qpid.server.transport.MultiVersionProtocolEngine.closed(MultiVersionProtocolEngine.java:112) ~[qpid-broker-core-6.1.0-SNAPSHOT.jar:6.1.0-SNAPSHOT]
> 	at org.apache.qpid.server.transport.NonBlockingConnection.shutdown(NonBlockingConnection.java:365) ~[qpid-broker-core-6.1.0-SNAPSHOT.jar:6.1.0-SNAPSHOT]
> 	at org.apache.qpid.server.transport.NonBlockingConnection.doWork(NonBlockingConnection.java:305) ~[qpid-broker-core-6.1.0-SNAPSHOT.jar:6.1.0-SNAPSHOT]
> 	at org.apache.qpid.server.transport.NetworkConnectionScheduler.processConnection(NetworkConnectionScheduler.java:108) ~[qpid-broker-core-6.1.0-SNAPSHOT.jar:6.1.0-SNAPSHOT]
> 	at org.apache.qpid.server.transport.SelectorThread$ConnectionProcessor.processConnection(SelectorThread.java:504) ~[qpid-broker-core-6.1.0-SNAPSHOT.jar:6.1.0-SNAPSHOT]
> 	at org.apache.qpid.server.transport.SelectorThread$SelectionTask.performSelect(SelectorThread.java:337) ~[qpid-broker-core-6.1.0-SNAPSHOT.jar:6.1.0-SNAPSHOT]
> 	at org.apache.qpid.server.transport.SelectorThread$SelectionTask.run(SelectorThread.java:86) ~[qpid-broker-core-6.1.0-SNAPSHOT.jar:6.1.0-SNAPSHOT]
> 	at org.apache.qpid.server.transport.SelectorThread.run(SelectorThread.java:462) ~[qpid-broker-core-6.1.0-SNAPSHOT.jar:6.1.0-SNAPSHOT]
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) ~[na:1.7.0]
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) ~[na:1.7.0]
> 	at java.lang.Thread.run(Thread.java:781) ~[na:1.7.0]
> {noformat}
> This error is possible only when shutting down  a Broker.  There is negligible end-user impact.



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

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org