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

Reply via email to