On 09/09/2013 02:42 PM, Zhemzhitsky Sergey wrote:
HI qpid gurus,
Recently we have faced with following exception
2013-09-09 17:38:23,874 | ERROR | IoReceiver - locahost/10.20.26.150:5672 |
org.apache.qpid.client.AMQConnectionDelegate_0_10 | | 217 - qpid - 0.18.0.1 |
connection exception: conn:21aa419a
org.apache.qpid.transport.ConnectionException: Queue test_queue:
async_dequeue() failed: jexception 0x0b02 wmgr::dequeue_check() threw
JERR_MAP_LOCKED: Record ID locked by a pending transaction. (drid=0xde12a)
(MessageStoreImpl.cpp:1419)
at
org.apache.qpid.transport.Connection.closeCode(Connection.java:531)[217:qpid:0.18.0.1]
at
org.apache.qpid.transport.ConnectionDelegate.connectionClose(ConnectionDelegate.java:75)[217:qpid:0.18.0.1]
at
org.apache.qpid.transport.ConnectionDelegate.connectionClose(ConnectionDelegate.java:40)[217:qpid:0.18.0.1]
at
org.apache.qpid.transport.ConnectionClose.dispatch(ConnectionClose.java:91)[217:qpid:0.18.0.1]
at
org.apache.qpid.transport.ConnectionDelegate.control(ConnectionDelegate.java:49)[217:qpid:0.18.0.1]
at
org.apache.qpid.transport.ConnectionDelegate.control(ConnectionDelegate.java:40)[217:qpid:0.18.0.1]
at
org.apache.qpid.transport.Method.delegate(Method.java:163)[217:qpid:0.18.0.1]
at
org.apache.qpid.transport.Connection.received(Connection.java:376)[217:qpid:0.18.0.1]
To be honest, this sounds like it must be a bug of some kind. A message
should be acquired by only one subscriber at a time and either dequeued
or released by that subscriber.
It seems that there is a pending transaction here – “Record ID locked by a
pending transaction. (drid=0xde12a)”.
Is there any known way to abort such a transaction manually?
Are you using XA? If so the transaction manager may offer tools to list
transactions. You can do it using AMQP 0-10 directly, but not through
the recommended APIs. Worst case I could give you a little script.
If not using XA, the transaction would be tied to a session and ending
the session without a commit would abort the transaction.
However, as I say, I fear this may be a bug of some kind and if it is in
the broker, that may then mean the state is somehow inconsistent which
may mean it can't be corrected.
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org
For additional commands, e-mail: users-h...@qpid.apache.org