[ 
https://issues.apache.org/jira/browse/QPID-6502?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14501615#comment-14501615
 ] 

ASF subversion and git services commented on QPID-6502:
-------------------------------------------------------

Commit 1674585 from [~k-wall] in branch 'java/trunk'
[ https://svn.apache.org/r1674585 ]

QPID-6502: [Java Broker] 0-10 close connection in response to CSRE

> Close connection in response to a CSRE condition rather than sending a 
> execution exception
> ------------------------------------------------------------------------------------------
>
>                 Key: QPID-6502
>                 URL: https://issues.apache.org/jira/browse/QPID-6502
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Broker
>            Reporter: Keith Wall
>             Fix For: 6.0 [Java]
>
>
> The Java Broker internally throws a ConnectionScopeRuntimeException in 
> response to abnormal conditions encountered whilst processing commands from 
> the wire.  The intention is that this exception causes the Broker to close 
> the messaging connection.
> This is currently not the case within the 0-10 implementation.  A CSRE 
> originating from beneath ServerSessionDelegate#command currently causes a 
> execution exception to be sent down the wire, but the connection remains open.
> This problem is currently causing 
> MultiNodeTest#testTransferMasterWhilstMessagesInFlight to fail consistently 
> on the 0-10 BDB profile.   Here the execution exception causes the client to 
> close the JMS Session.  The JE thread, in response to lost of mastership,  
> then causes the  connection to be closed, and the client then fails-over.  
> However on reconnection to the new master the JMS connection no longer has a 
> Session so the test fails.
> Broker side:
> {noformat}
> 2015-04-17 22:49:01,624 INFO  [STD] (BROKER-10000) - 
> org.apache.qpid.server.util.ConnectionScopedRuntimeException: Environment 
> 'nodetestTransferMasterWhilstMessagesInFlight10001' cannot finish JE 
> operation because master is unknown
> 2015-04-17 22:49:01,624 INFO  [STD] (BROKER-10000) -    at 
> org.apache.qpid.server.store.berkeleydb.replication.ReplicatedEnvironmentFacade.handleDatabaseException(ReplicatedEnvironmentFacade.java:409)
> 2015-04-17 22:49:01,624 INFO  [STD] (BROKER-10000) -    at 
> org.apache.qpid.server.store.berkeleydb.replication.ReplicatedEnvironmentFacade.commit(ReplicatedEnvironmentFacade.java:288)
> 2015-04-17 22:49:01,624 INFO  [STD] (BROKER-10000) -    at 
> org.apache.qpid.server.store.berkeleydb.AbstractBDBMessageStore.commitTranImpl(AbstractBDBMessageStore.java:788)
> 2015-04-17 22:49:01,624 INFO  [STD] (BROKER-10000) -    at 
> org.apache.qpid.server.store.berkeleydb.AbstractBDBMessageStore.access$1200(AbstractBDBMessageStore.java:74)
> 2015-04-17 22:49:01,624 INFO  [STD] (BROKER-10000) -    at 
> org.apache.qpid.server.store.berkeleydb.AbstractBDBMessageStore$BDBTransaction.commitTran(AbstractBDBMessageStore.java:1367)
> 2015-04-17 22:49:01,624 INFO  [STD] (BROKER-10000) -    at 
> org.apache.qpid.server.txn.LocalTransaction.commit(LocalTransaction.java:348)
> 2015-04-17 22:49:01,624 INFO  [STD] (BROKER-10000) -    at 
> org.apache.qpid.server.txn.LocalTransaction.commit(LocalTransaction.java:338)
> 2015-04-17 22:49:01,624 INFO  [STD] (BROKER-10000) -    at 
> org.apache.qpid.server.protocol.v0_10.ServerSession.commit(ServerSession.java:672)
> 2015-04-17 22:49:01,624 INFO  [STD] (BROKER-10000) -    at 
> org.apache.qpid.server.protocol.v0_10.ServerSessionDelegate.txCommit(ServerSessionDelegate.java:552)
> 2015-04-17 22:49:01,624 INFO  [STD] (BROKER-10000) -    at 
> org.apache.qpid.server.protocol.v0_10.ServerSessionDelegate.txCommit(ServerSessionDelegate.java:86)
> 2015-04-17 22:49:01,624 INFO  [STD] (BROKER-10000) -    at 
> org.apache.qpid.transport.TxCommit.dispatch(TxCommit.java:82)
> 2015-04-17 22:49:01,624 INFO  [STD] (BROKER-10000) -    at 
> org.apache.qpid.transport.SessionDelegate.command(SessionDelegate.java:55)
> 2015-04-17 22:49:01,624 INFO  [STD] (BROKER-10000) -    at 
> org.apache.qpid.server.protocol.v0_10.ServerSessionDelegate.command(ServerSessionDelegate.java:103)
> 2015-04-17 22:49:01,624 INFO  [STD] (BROKER-10000) -    at 
> org.apache.qpid.server.protocol.v0_10.ServerSessionDelegate.command(ServerSessionDelegate.java:86)
> 2015-04-17 22:49:01,624 INFO  [STD] (BROKER-10000) -    at 
> org.apache.qpid.transport.Method.delegate(Method.java:159)
> 2015-04-17 22:49:01,624 INFO  [STD] (BROKER-10000) -    at 
> org.apache.qpid.transport.Session.received(Session.java:596)
> 2015-04-17 22:49:01,624 INFO  [STD] (BROKER-10000) -    at 
> org.apache.qpid.transport.Connection.dispatch(Connection.java:463)
> 2015-04-17 22:49:01,624 INFO  [STD] (BROKER-10000) -    at 
> org.apache.qpid.transport.ConnectionDelegate.handle(ConnectionDelegate.java:64)
> 2015-04-17 22:49:01,624 INFO  [STD] (BROKER-10000) -    at 
> org.apache.qpid.transport.ConnectionDelegate.handle(ConnectionDelegate.java:40)
> 2015-04-17 22:49:01,624 INFO  [STD] (BROKER-10000) -    at 
> org.apache.qpid.transport.MethodDelegate.txCommit(MethodDelegate.java:152)
> 2015-04-17 22:49:01,624 INFO  [STD] (BROKER-10000) -    at 
> org.apache.qpid.transport.TxCommit.dispatch(TxCommit.java:82)
> 2015-04-17 22:49:01,624 INFO  [STD] (BROKER-10000) -    at 
> org.apache.qpid.transport.ConnectionDelegate.command(ConnectionDelegate.java:54)
> 2015-04-17 22:49:01,624 INFO  [STD] (BROKER-10000) -    at 
> org.apache.qpid.transport.ConnectionDelegate.command(ConnectionDelegate.java:40)
> 2015-04-17 22:49:01,624 INFO  [STD] (BROKER-10000) -    at 
> org.apache.qpid.transport.Method.delegate(Method.java:159)
> 2015-04-17 22:49:01,624 INFO  [STD] (BROKER-10000) -    at 
> org.apache.qpid.transport.Connection.received(Connection.java:416)
> 2015-04-17 22:49:01,624 INFO  [STD] (BROKER-10000) -    at 
> org.apache.qpid.server.protocol.v0_10.ServerConnection.access$001(ServerConnection.java:70)
> 2015-04-17 22:49:01,624 INFO  [STD] (BROKER-10000) -    at 
> org.apache.qpid.server.protocol.v0_10.ServerConnection$2.run(ServerConnection.java:347)
> 2015-04-17 22:49:01,624 INFO  [STD] (BROKER-10000) -    at 
> org.apache.qpid.server.protocol.v0_10.ServerConnection$2.run(ServerConnection.java:343)
> 2015-04-17 22:49:01,624 INFO  [STD] (BROKER-10000) -    at 
> java.security.AccessController.doPrivileged(Native Method)
> 2015-04-17 22:49:01,624 INFO  [STD] (BROKER-10000) -    at 
> javax.security.auth.Subject.doAs(Subject.java:360)
> 2015-04-17 22:49:01,624 INFO  [STD] (BROKER-10000) -    at 
> org.apache.qpid.server.protocol.v0_10.ServerConnection.received(ServerConnection.java:342)
> 2015-04-17 22:49:01,624 INFO  [STD] (BROKER-10000) -    at 
> org.apache.qpid.transport.network.Assembler.emit(Assembler.java:98)
> 2015-04-17 22:49:01,624 INFO  [STD] (BROKER-10000) -    at 
> org.apache.qpid.transport.network.Assembler.assemble(Assembler.java:199)
> 2015-04-17 22:49:01,624 INFO  [STD] (BROKER-10000) -    at 
> org.apache.qpid.transport.network.Assembler.frame(Assembler.java:132)
> 2015-04-17 22:49:01,624 INFO  [STD] (BROKER-10000) -    at 
> org.apache.qpid.transport.network.Frame.delegate(Frame.java:128)
> 2015-04-17 22:49:01,624 INFO  [STD] (BROKER-10000) -    at 
> org.apache.qpid.transport.network.Assembler.received(Assembler.java:103)
> 2015-04-17 22:49:01,624 INFO  [STD] (BROKER-10000) -    at 
> org.apache.qpid.server.protocol.v0_10.ServerAssembler.received(ServerAssembler.java:48)
> 2015-04-17 22:49:01,624 INFO  [STD] (BROKER-10000) -    at 
> org.apache.qpid.transport.network.InputHandler.next(InputHandler.java:200)
> 2015-04-17 22:49:01,624 INFO  [STD] (BROKER-10000) -    at 
> org.apache.qpid.transport.network.InputHandler.received(InputHandler.java:115)
> 2015-04-17 22:49:01,624 INFO  [STD] (BROKER-10000) -    at 
> org.apache.qpid.server.protocol.v0_10.ProtocolEngine_0_10.received(ProtocolEngine_0_10.java:218)
> 2015-04-17 22:49:01,624 INFO  [STD] (BROKER-10000) -    at 
> org.apache.qpid.server.protocol.MultiVersionProtocolEngine.received(MultiVersionProtocolEngine.java:159)
> 2015-04-17 22:49:01,624 INFO  [STD] (BROKER-10000) -    at 
> org.apache.qpid.server.transport.NonBlockingConnection.doRead(NonBlockingConnection.java:375)
> 2015-04-17 22:49:01,624 INFO  [STD] (BROKER-10000) -    at 
> org.apache.qpid.server.transport.NonBlockingConnection.doWork(NonBlockingConnection.java:276)
> 2015-04-17 22:49:01,624 INFO  [STD] (BROKER-10000) -    at 
> org.apache.qpid.server.transport.NetworkConnectionScheduler.processConnection(NetworkConnectionScheduler.java:94)
> 2015-04-17 22:49:01,624 INFO  [STD] (BROKER-10000) -    at 
> org.apache.qpid.server.transport.NetworkConnectionScheduler.access$000(NetworkConnectionScheduler.java:34)
> 2015-04-17 22:49:01,624 INFO  [STD] (BROKER-10000) -    at 
> org.apache.qpid.server.transport.NetworkConnectionScheduler$2.run(NetworkConnectionScheduler.java:75)
> 2015-04-17 22:49:01,624 INFO  [STD] (BROKER-10000) -    at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> 2015-04-17 22:49:01,624 INFO  [STD] (BROKER-10000) -    at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> 2015-04-17 22:49:01,624 INFO  [STD] (BROKER-10000) -    at 
> java.lang.Thread.run(Thread.java:745)
> 2015-04-17 22:49:01,624 INFO  [STD] (BROKER-10000) - Caused by: 
> com.sleepycat.je.rep.UnknownMasterException: (JE 5.0.104) Problem closing 
> transaction -68. The current state is:UNKNOWN. The node transitioned to this 
> state at:Fri Apr 17 22:49:01 BST 2015
> 2015-04-17 22:49:01,624 INFO  [STD] (BROKER-10000) -    at 
> com.sleepycat.je.rep.impl.RepImpl.checkIfMaster(RepImpl.java:872)
> 2015-04-17 22:49:01,624 INFO  [STD] (BROKER-10000) -    at 
> com.sleepycat.je.rep.txn.MasterTxn.checkIfFrozen(MasterTxn.java:631)
> 2015-04-17 22:49:01,624 INFO  [STD] (BROKER-10000) -    at 
> com.sleepycat.je.txn.Txn.commit(Txn.java:834)
> 2015-04-17 22:49:01,624 INFO  [STD] (BROKER-10000) -    at 
> com.sleepycat.je.Transaction.doCommit(Transaction.java:609)
> 2015-04-17 22:49:01,624 INFO  [STD] (BROKER-10000) -    at 
> com.sleepycat.je.Transaction.commit(Transaction.java:410)
> 2015-04-17 22:49:01,624 INFO  [STD] (BROKER-10000) -    at 
> org.apache.qpid.server.store.berkeleydb.replication.ReplicatedEnvironmentFacade.commit(ReplicatedEnvironmentFacade.java:284)
> 2015-04-17 22:49:01,624 INFO  [STD] (BROKER-10000) -    ... 47 more
> {noformat}
> Client side:
> {noformat}
>        at 
> org.apache.qpid.client.AMQSession_0_10.setCurrentException(AMQSession_0_10.java:1082)
>         at 
> org.apache.qpid.client.AMQSession_0_10.exception(AMQSession_0_10.java:936)
>         at 
> org.apache.qpid.transport.SessionDelegate.executionException(SessionDelegate.java:182)
>         at 
> org.apache.qpid.transport.SessionDelegate.executionException(SessionDelegate.java:32)
>         at 
> org.apache.qpid.transport.ExecutionException.dispatch(ExecutionException.java:103)
>         at 
> org.apache.qpid.transport.SessionDelegate.command(SessionDelegate.java:55)
>         at 
> org.apache.qpid.transport.SessionDelegate.command(SessionDelegate.java:50)
>         at 
> org.apache.qpid.transport.SessionDelegate.command(SessionDelegate.java:32)
>         at org.apache.qpid.transport.Method.delegate(Method.java:159)
>         at org.apache.qpid.transport.Session.received(Session.java:596)
>         at org.apache.qpid.transport.Connection.dispatch(Connection.java:463)
>         at 
> org.apache.qpid.transport.ConnectionDelegate.handle(ConnectionDelegate.java:64)
>         at 
> org.apache.qpid.transport.ConnectionDelegate.handle(ConnectionDelegate.java:40)
>         at 
> org.apache.qpid.transport.MethodDelegate.executionException(MethodDelegate.java:110)
>         at 
> org.apache.qpid.transport.ExecutionException.dispatch(ExecutionException.java:103)
>         at 
> org.apache.qpid.transport.ConnectionDelegate.command(ConnectionDelegate.java:54)
>         at 
> org.apache.qpid.transport.ConnectionDelegate.command(ConnectionDelegate.java:40)
>         at org.apache.qpid.transport.Method.delegate(Method.java:159)
>         at org.apache.qpid.transport.Connection.received(Connection.java:416)
>         at org.apache.qpid.transport.network.Assembler.emit(Assembler.java:98)
>         at 
> org.apache.qpid.transport.network.Assembler.assemble(Assembler.java:199)
>         at 
> org.apache.qpid.transport.network.Assembler.frame(Assembler.java:132)
>         at org.apache.qpid.transport.network.Frame.delegate(Frame.java:128)
>         at 
> org.apache.qpid.transport.network.Assembler.received(Assembler.java:103)
>         at 
> org.apache.qpid.transport.network.InputHandler.next(InputHandler.java:200)
>         at 
> org.apache.qpid.transport.network.InputHandler.received(InputHandler.java:115)
>         at org.apache.qpid.transport.network.io.IoReceiver.run(
> {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