Atomikos Forum |
|
Hi,
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 (http://www.atomikos.com/Documentation/JmxInstrumentation): "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
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? Thanks
Just make sure to export our JMX module like this: http://www.atomikos.com/Documentation/SpringIntegration#JMX_Administration_of_Atomikos_T
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...
Hello
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. Thanks
Hi,
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. HTH |