qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF subversion and git services (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (QPID-6102) Client connection closure whilst HA transitioning state can lead to unexpected Broker shutdown
Date Tue, 23 Sep 2014 06:55:34 GMT

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

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

Commit 1626953 from [~k-wall] in branch 'qpid/trunk'
[ https://svn.apache.org/r1626953 ]

QPID-6102: [Java Broker] HA Prevent InsufficientReplica/InsufficientAckExceptions and other
exceptions that require JE environment restart from causing Broker shutdown.

> Client connection closure whilst HA transitioning state can lead to unexpected Broker
shutdown
> ----------------------------------------------------------------------------------------------
>
>                 Key: QPID-6102
>                 URL: https://issues.apache.org/jira/browse/QPID-6102
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Broker
>    Affects Versions: 0.31
>            Reporter: Keith Wall
>         Attachments: 0001-QPID-6102-Java-Broker-HA-Prevent-InsufficientReplica.patch
>
>
> Whilst testing the transfer master operation whilst the group was underload I ran into
the following exception causing unexpected  shutdown of the previous Master.
> # Bring up a group of four
> # Organise for a publisher/consumer on separate connections steadily consuming messages.
> # Use transfer master to move the mastership from one node to another.
> # Following exception observed on the node from which the mastership was being moved.
> {noformat}
> ########################################################################
> #
> # Unhandled Exception com.sleepycat.je.rep.MasterReplicaTransitionException: (JE 5.0.97)
Environment must be closed, caused by: com.sleepycat.je.rep.MasterReplicaTransitionException:
Environment invalid because of previous exception: (JE 5.0.97) mars(4):/home/keith/trunk/qpid/qpid/java/systests/target/qpid-broker/0.32-SNAPSHOT/work4/mars/config
com.sleepycat.je.rep.stream.MasterStatus$MasterSyncException: Master change. Node master id:
mars(4) Group master id: earth(3) MASTER_TO_REPLICA_TRANSITION: This node was a master and
must reinitialize internal state to become a replica. The application must close and reopen
all Environment handles. Environment is invalid and must be closed. in Thread IoReceiver -
/192.168.0.1:55912
> #
> # Exiting
> #
> ########################################################################
> com.sleepycat.je.rep.MasterReplicaTransitionException: (JE 5.0.97) Environment must be
closed, caused by: com.sleepycat.je.rep.MasterReplicaTransitionException: Environment invalid
because of previous exception: (JE 5.0.97) mars(4):/home/keith/trunk/qpid/qpid/java/systests/target/qpid-broker/0.32-SNAPSHOT/work4/mars/config
com.sleepycat.je.rep.stream.MasterStatus$MasterSyncException: Master change. Node master id:
mars(4) Group master id: earth(3) MASTER_TO_REPLICA_TRANSITION: This node was a master and
must reinitialize internal state to become a replica. The application must close and reopen
all Environment handles. Environment is invalid and must be closed.
>         at com.sleepycat.je.rep.MasterReplicaTransitionException.wrapSelf(MasterReplicaTransitionException.java:50)
>         at com.sleepycat.je.dbi.EnvironmentImpl.checkIfInvalid(EnvironmentImpl.java:1594)
>         at com.sleepycat.je.Environment.checkEnv(Environment.java:2225)
>         at com.sleepycat.je.Environment.beginTransactionInternal(Environment.java:1348)
>         at com.sleepycat.je.Environment.beginTransaction(Environment.java:1319)
>         at org.apache.qpid.server.store.berkeleydb.AbstractBDBMessageStore.removeMessage(AbstractBDBMessageStore.java:376)
>         at org.apache.qpid.server.store.berkeleydb.AbstractBDBMessageStore$StoredBDBMessage.remove(AbstractBDBMessageStore.java:1436)
>         at org.apache.qpid.server.message.AbstractServerMessageImpl.decrementReference(AbstractServerMessageImpl.java:101)
>         at org.apache.qpid.server.message.AbstractServerMessageImpl.access$500(AbstractServerMessageImpl.java:37)
>         at org.apache.qpid.server.message.AbstractServerMessageImpl$Reference.release(AbstractServerMessageImpl.java:275)
>         at org.apache.qpid.server.exchange.AbstractExchange$2.onRollback(AbstractExchange.java:571)
>         at org.apache.qpid.server.txn.LocalTransaction.doRollbackActions(LocalTransaction.java:270)
>         at org.apache.qpid.server.txn.LocalTransaction.rollback(LocalTransaction.java:374)
>         at org.apache.qpid.server.protocol.v0_8.AMQChannel.close(AMQChannel.java:739)
>         at org.apache.qpid.server.protocol.v0_8.AMQChannel.close(AMQChannel.java:715)
>         at org.apache.qpid.server.protocol.v0_8.AMQProtocolEngine.closeAllChannels(AMQProtocolEngine.java:942)
>         at org.apache.qpid.server.protocol.v0_8.AMQProtocolEngine.closeSession(AMQProtocolEngine.java:981)
>         at org.apache.qpid.server.protocol.v0_8.AMQProtocolEngine$3.run(AMQProtocolEngine.java:1035)
>         at java.security.AccessController.doPrivileged(Native Method)
>         at javax.security.auth.Subject.doAs(Subject.java:356)
>         at org.apache.qpid.server.protocol.v0_8.AMQProtocolEngine.runAsSubject(AMQProtocolEngine.java:223)
>         at org.apache.qpid.server.protocol.v0_8.AMQProtocolEngine.closeSession(AMQProtocolEngine.java:1030)
>         at org.apache.qpid.server.protocol.v0_8.AMQProtocolEngine.closed(AMQProtocolEngine.java:1299)
>         at org.apache.qpid.server.protocol.MultiVersionProtocolEngine.closed(MultiVersionProtocolEngine.java:117)
>         at org.apache.qpid.transport.network.io.IoReceiver.run(IoReceiver.java:222)
>         at java.lang.Thread.run(Thread.java:745)
> Caused by: com.sleepycat.je.rep.MasterReplicaTransitionException: Environment invalid
because of previous exception: (JE 5.0.97) mars(4):/home/keith/trunk/qpid/qpid/java/systests/target/qpid-broker/0.32-SNAPSHOT/work4/mars/config
com.sleepycat.je.rep.stream.MasterStatus$MasterSyncException: Master change. Node master id:
mars(4) Group master id: earth(3) MASTER_TO_REPLICA_TRANSITION: This node was a master and
must reinitialize internal state to become a replica. The application must close and reopen
all Environment handles. Environment is invalid and must be closed.
>         at com.sleepycat.je.rep.impl.node.FeederManager.runFeeders(FeederManager.java:458)
>         at com.sleepycat.je.rep.impl.node.RepNode.run(RepNode.java:1463)
> Caused by: com.sleepycat.je.rep.stream.MasterStatus$MasterSyncException: Master change.
Node master id: mars(4) Group master id: earth(3)
>         at com.sleepycat.je.rep.stream.MasterStatus.assertSync(MasterStatus.java:107)
>         at com.sleepycat.je.rep.impl.node.FeederManager.runFeeders(FeederManager.java:390)
>         ... 1 more
> {noformat}



--
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


Mime
View raw message