4 Replies Latest reply on May 20, 2008 10:40 AM by Dmitri Voronov

    Object store and dealing with unrecoverable transactions

    Dmitri Voronov Novice

      Hi all,

      Could somebody write me how to deal with the "hopeless" entries in the ObjectStore, which cannot be recovered automatically by the recovery mechanism?

      After a crash in the prepare phase the transaction ended with a heuristic outcome. TX and AtomicAction entries remain in the ObjectStore. The db schema or its objects are locked then. I could resolve the lock manually on db. (For Oracle users there is a useful site: http://download.oracle.com/docs/cd/B10501_01/server.920/a96521/ds_txnman.htm)
      But what can I do with the ObjectStore's entries? Is there an API in arjuna to delete these entries from ObjectStore?
      I would like to write an MBean, which would send notification if an entry in the ObjectStore gets "heuristic" and allow to purge the ObjectStore.

      Thanks a lot in advance.

        • 1. Re: Object store and dealing with unrecoverable transactions
          Michael Musgrove Master

          We are working on GUI to resolve in doubt transactions in the object store. Until then you will need to resolve them manually as outlined on the JBoss Wiki:
          http://wiki.jboss.org/wiki/DiskFullWarnMessage

          • 2. Re: Object store and dealing with unrecoverable transactions
            Mark Little Master

            Does the current heuristic resolution tool (mentioned in the docs) not suffice? If not, let us know because that is its reason for existing.

            The ObjectStore API and implementations are available to you directly if you want to use them programmatically. But you need to be sure that what you delete is safe! Otherwise you may corrupt your system.

            • 3. Re: Object store and dealing with unrecoverable transactions
              Jonathan Halliday Master

              I think this is a weak point in the current tooling, particularly for users of JBossAS. I've created a feature request for improved tooling: http://jira.jboss.com/jira/browse/JBTM-366 Sadly it won't help you in the short term though. You can try the existing objectstore browser from the full TS distribution bundle, but for a development environment simply deleting the objectstore as described in the link above is probably simpler.

              • 4. Re: Object store and dealing with unrecoverable transactions
                Dmitri Voronov Novice

                Thanks a lot to all for your answers!

                Does the current heuristic resolution tool (mentioned in the docs) not suffice?

                If you mean the Object Store browser, then jhalliday is right:
                "jhalliday" wrote:
                I think this is a weak point...


                I'm using JBoss TS 4.3 GA. I got Object Store browser running (not in the last 10 min), but didn't see object details. There are many stumbling block in this version starting with classpath and missed classes of the particular OSVs. The classes are actually as source code available. But the next problem is the difference between the repository entry and the getType return: slash vs. back-slash.

                The ObjectStore API and implementations are available to you directly if you want to use them programmatically. But you need to be sure that what you delete is safe! Otherwise you may corrupt your system.

                Of course, if we deploy a service which allows to manage the heuristic entries in the Object Store over JMX, this service will be accessible for admin only. The admin will be instructed to resolve TX lock on the db first and then adjust the Object Store. Moreover this service will discover the heuristic TXs in ObjectStore and expose this information over JMX. It should also notify if heuristic outcome occurs.

                My concern is to avoid any restarts in production and keep lock time caused by "in doubt transactions" as short as possible.