You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Alex Rudyy (JIRA)" <ji...@apache.org> on 2019/05/07 08:36:00 UTC
[jira] [Created] (QPID-8309) [Broker-J] [AMQP 0-8..0-91] Concurrent
transaction commit can fail with: Cannot commit transaction with state
'DISCHARGING'
Alex Rudyy created QPID-8309:
--------------------------------
Summary: [Broker-J] [AMQP 0-8..0-91] Concurrent transaction commit can fail with: Cannot commit transaction with state 'DISCHARGING'
Key: QPID-8309
URL: https://issues.apache.org/jira/browse/QPID-8309
Project: Qpid
Issue Type: Bug
Components: Broker-J
Affects Versions: qpid-java-broker-7.1.2, qpid-java-broker-7.1.1, qpid-java-broker-7.1.0
Reporter: Alex Rudyy
Fix For: qpid-java-broker-7.1.3
Concurrent transaction commit can end-up in error: Cannot commit transaction with state 'DISCHARGING'. The stack trace like the one below is reported into Qpid broker logs:
{noformat}
2019-05-06 03:32:05,960 WARN [IO-/127.0.0.1:5672] (o.a.q.s.p.v.AMQPConnection_0_8Impl) - Unexpected exception
java.lang.IllegalStateException: Cannot commit transaction with state 'DISCHARGING'
at org.apache.qpid.server.txn.LocalTransaction.commitAsync(LocalTransaction.java:427)
at org.apache.qpid.server.protocol.v0_8.AMQChannel.commit(AMQChannel.java:1092)
at org.apache.qpid.server.protocol.v0_8.AMQChannel.receiveTxCommit(AMQChannel.java:3385)
at org.apache.qpid.server.protocol.v0_8.ServerDecoder.processMethod(ServerDecoder.java:230)
at org.apache.qpid.server.protocol.v0_8.AMQDecoder.processFrame(AMQDecoder.java:203)
at org.apache.qpid.server.protocol.v0_8.BrokerDecoder.doProcessFrame(BrokerDecoder.java:141)
at org.apache.qpid.server.protocol.v0_8.BrokerDecoder.processFrame(BrokerDecoder.java:65)
at org.apache.qpid.server.protocol.v0_8.AMQDecoder.processInput(AMQDecoder.java:185)
at org.apache.qpid.server.protocol.v0_8.BrokerDecoder$1.run(BrokerDecoder.java:104)
at org.apache.qpid.server.protocol.v0_8.BrokerDecoder$1.run(BrokerDecoder.java:97)
at java.security.AccessController.doPrivileged(Native Method)
at org.apache.qpid.server.protocol.v0_8.BrokerDecoder.processAMQPFrames(BrokerDecoder.java:96)
at org.apache.qpid.server.protocol.v0_8.AMQDecoder.decode(AMQDecoder.java:118)
{noformat}
Transaction state checks added as part of QPID-7541 introduced a regression for asynchronous way of committing transactions used for AMQP 0-8..0-91. The asynchronous transaction needs to be synced before state check is performed.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org