Atomikos Forum

no mbean method to remove problematic transactions


I setup the mbean for managing atomikos via JMX to overcome the issue of a transaction printing the below 5 lines every second in the transaction log.

2011-01-04 16:08:07,990 [Atomikos:3] WARN atomikos - Local heuristic termination of coordinator xxxxx with state HEUR_HAZARD

The link on this in atomikos says (

"The Atomikos JMX administration facility offers a graphical interface to the active transactions in the core. Administrators can use this to perform the following operations:

- Retrieve the list of currently active transactions.
- Filter out any problematic HEURISTIC transactions.
- Manually terminate problematic transactions."

I used the Atomikos mbean to try and terminate a problematic transaction when we were experiencing the HEUR_HAZARD issue. However, I found no functionality in the mbean to do this. I could only see the name of the transaction (which is also in the HEUR_HAZARD log messages) and not much else. I checked the mbeans thoroughly in JConsole to make sure I wasn't missing something but there is no method to remove this problematic transaction.

Please help.

dilshan thambawita Send private email
Tuesday, January 11, 2011
You can use the "forceForget" operation to do this...
Guy Pardon Send private email
Wednesday, January 12, 2011
Hi Guy Pardon,

Thanks for your reply. How can I achieve this? Do I need to expose another JMX mbean in addition to the com.atomikos.icatch.admin.jmx.JmxTransactionService and if so could you please let me know the method.

Or do I need to write an mbean method my self to call this forceForget method? How can I go about doing this?

dilshan thambawita Send private email
Thursday, January 13, 2011
Just make sure to export our JMX module like this:

In the jconsole, click on "transactions" -> you get one MBean per transaction. Click on one to see details. If it is a problematic one, there will be 'forceForget' among the operations.

No need to write anything...
Guy Pardon Send private email
Thursday, January 13, 2011
Thanks! I will try this out
dilshan thambawita Send private email
Thursday, January 13, 2011

In reference to the JMX operation forceForget() which is exposed, what defines a 'problematic transaction'?
We have a requirement to:
- trace a 'hung' or similar (perhaps locking too many tables) transaction, to a particular user
- kill the transaction
- issue a note to the user

I'd like to ask how I may simulate such a 'problematic transaction', in order to reveal and use the JMX forceForget() operation. I can also then try to extend the transaction to help associate the user who started it.

Alkesh Rathod Send private email
Wednesday, January 26, 2011

Problematic transactions are those that terminate in a "heuristic" way. These are by default the only ones that show up in the JMX console.

We create such cases with our test framework but that is not part of the public release...

For detecting long-running transactions (other than heuristic problems) we currently have no built-in support but we can consider any suggestions you might have.

Guy Pardon Send private email
Monday, January 31, 2011

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics