we are having a problem with a message that doesn't lose its lock.
The message resides in the queue since February, the last router startup was in October. Although I do not know if locks are kept on HA failover, since February there was at least one incident where we lost the entire HA cluster due to startup negotiation problems, also the producer was last restarted yesterday, consumer was a JavaMail bridge, which I have just deconfigured.
I am planning to delete the entire queue and would like to purge it before I do that, as I believe the message will otherwise remain in the store. Is there any chance to figure out what is locking the message or to force an unlock or deletion?
We have quite some transactions there, I believe I can just delete the completed transactions, but I have absolutely no clue what these transactions are, neither the complete nor prepared ones.
As the locked messages are most likely no longer needed, is "rollback" preferred over "commit" or what will happen with the messages on each action? Is there any way to identify a date of the initial transaction or somehow match it to a message on the router? Thanks again for your help!
We only have the Xid and the information whether it is routing or not. For consumed messages (those that are locked) you should do a commit which deletes it from the queue. A rollback would lead to an unlock and redelivery.