[
https://issues.apache.org/jira/browse/QPID-7080?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Keith Wall updated QPID-7080:
-----------------------------
Description:
Tes MultiNodeTest#testQuorumOverride is racey. The test verifies the
behaviour of a group when all the replicas are killed and quorum override is
applied to allow the master to continue in isolation.
The test currently assumes that failover doesn't occur. This is wrong,
failover may occur if the master discovers itself alone before the quorum
override is applied. This discovery is asynchronous. The test cannot predict
if failover will occur of not.
In the unlucky case where failure occurs, the the failover happens whilst the
test is committing a transaction. The transaction will correctly. The test
does include code to retry failed transactions.
Error Message
Session exception occurred while trying to commit: sender for socket
/127.0.0.1:36660-localhost/127.0.0.1:10000 is closed
Stacktrace
javax.jms.JMSException: Session exception occurred while trying to commit:
sender for socket /127.0.0.1:36660-localhost/127.0.0.1:10000 is closed
at
org.apache.qpid.transport.network.io.IoSender.checkNotAlreadyClosed(IoSender.java:377)
at org.apache.qpid.transport.network.io.IoSender.send(IoSender.java:122)
at
org.apache.qpid.client.AMQProtocolHandler.writeFrame(AMQProtocolHandler.java:563)
at
org.apache.qpid.client.AMQSession_0_8.acknowledgeMessage(AMQSession_0_8.java:177)
at
org.apache.qpid.client.AMQSession_0_8.commitImpl(AMQSession_0_8.java:271)
at org.apache.qpid.client.AMQSession.commit(AMQSession.java:866)
at
org.apache.qpid.test.utils.QpidBrokerTestCase.assertProducingConsuming(QpidBrokerTestCase.java:1265)
at
org.apache.qpid.server.store.berkeleydb.replication.MultiNodeTest.testQuorumOverride(MultiNodeTest.java:483)
was:
Tes MultiNodeTest#testQuorumOverride is racey. The test verifies the
behaviour of a group when all the replicas are killed and quorum override is
applied to allow the master to continue in isolation.
The test currently assumes that failover doesn't occur. This is wrong,
failover may occur is the master discovers itself alone before the quorum
override is applied. This discovery is asynchronous. The test cannot predict
if failover will occur of not.
In the unlucky case where failure occurs, the the failover happens whilst the
test is committing a transaction. The transaction will correctly. The test
does include code to retry failed transactions.
Error Message
Session exception occurred while trying to commit: sender for socket
/127.0.0.1:36660-localhost/127.0.0.1:10000 is closed
Stacktrace
javax.jms.JMSException: Session exception occurred while trying to commit:
sender for socket /127.0.0.1:36660-localhost/127.0.0.1:10000 is closed
at
org.apache.qpid.transport.network.io.IoSender.checkNotAlreadyClosed(IoSender.java:377)
at org.apache.qpid.transport.network.io.IoSender.send(IoSender.java:122)
at
org.apache.qpid.client.AMQProtocolHandler.writeFrame(AMQProtocolHandler.java:563)
at
org.apache.qpid.client.AMQSession_0_8.acknowledgeMessage(AMQSession_0_8.java:177)
at
org.apache.qpid.client.AMQSession_0_8.commitImpl(AMQSession_0_8.java:271)
at org.apache.qpid.client.AMQSession.commit(AMQSession.java:866)
at
org.apache.qpid.test.utils.QpidBrokerTestCase.assertProducingConsuming(QpidBrokerTestCase.java:1265)
at
org.apache.qpid.server.store.berkeleydb.replication.MultiNodeTest.testQuorumOverride(MultiNodeTest.java:483)
> MultiNodeTest#testQuorumOverride may fail sporadically
> ------------------------------------------------------
>
> Key: QPID-7080
> URL: https://issues.apache.org/jira/browse/QPID-7080
> Project: Qpid
> Issue Type: Bug
> Components: Java Broker, Java Tests
> Reporter: Keith Wall
> Priority: Minor
>
> Tes MultiNodeTest#testQuorumOverride is racey. The test verifies the
> behaviour of a group when all the replicas are killed and quorum override is
> applied to allow the master to continue in isolation.
> The test currently assumes that failover doesn't occur. This is wrong,
> failover may occur if the master discovers itself alone before the quorum
> override is applied. This discovery is asynchronous. The test cannot
> predict if failover will occur of not.
> In the unlucky case where failure occurs, the the failover happens whilst the
> test is committing a transaction. The transaction will correctly. The test
> does include code to retry failed transactions.
> Error Message
> Session exception occurred while trying to commit: sender for socket
> /127.0.0.1:36660-localhost/127.0.0.1:10000 is closed
> Stacktrace
> javax.jms.JMSException: Session exception occurred while trying to commit:
> sender for socket /127.0.0.1:36660-localhost/127.0.0.1:10000 is closed
> at
> org.apache.qpid.transport.network.io.IoSender.checkNotAlreadyClosed(IoSender.java:377)
> at org.apache.qpid.transport.network.io.IoSender.send(IoSender.java:122)
> at
> org.apache.qpid.client.AMQProtocolHandler.writeFrame(AMQProtocolHandler.java:563)
> at
> org.apache.qpid.client.AMQSession_0_8.acknowledgeMessage(AMQSession_0_8.java:177)
> at
> org.apache.qpid.client.AMQSession_0_8.commitImpl(AMQSession_0_8.java:271)
> at org.apache.qpid.client.AMQSession.commit(AMQSession.java:866)
> at
> org.apache.qpid.test.utils.QpidBrokerTestCase.assertProducingConsuming(QpidBrokerTestCase.java:1265)
> at
> org.apache.qpid.server.store.berkeleydb.replication.MultiNodeTest.testQuorumOverride(MultiNodeTest.java:483)
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]