Uploaded image for project: 'WildFly'
  1. WildFly
  2. WFLY-5590

Shared object store recovery problem

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Won't Do
    • Icon: Critical Critical
    • None
    • 10.0.0.CR3
    • Transactions
    • None
    • Hide

      Reproduce using two server.

      On both servers:
      1. Configure server1 and server2 with different node identifiers to use standard object store the same directory. Restart the servers.
      2. Enlist test XA resource.
      3. Enlist JMS XA resource.
      4. Prepare both resources.
      5. Crash both servers on the entry of test XA resource commit.

      6. Restart server1.
      7. Restart server2.
      8. Process recovery on server1.
      9. Process recovery on server2.
      10. Test XA resource on server2 is rollback. For the server which recovery is started the second, has test XA resource rolled-back.
      However JMS XA resource is committed on both servers.

      Trace logs of both servers are attached.

      It happens for shared JDBC object store as well.

      It can be reproduced by crashrec testsuite:
      1. Clone the repo: "git clone git://git.app.eng.bos.redhat.com/jbossqe-eap-tests-transactions.git tests-transactions"
      2. Change directory: "cd tests-transactions/jbossts/"
      3. Run test: "mvn clean verify -Djboss.dist=$JBOSS_HOME -Dtest=SharedStoreLoadTestCase#commitHaltClientServer"

      Show
      Reproduce using two server. On both servers: 1. Configure server1 and server2 with different node identifiers to use standard object store the same directory. Restart the servers. 2. Enlist test XA resource. 3. Enlist JMS XA resource. 4. Prepare both resources. 5. Crash both servers on the entry of test XA resource commit. 6. Restart server1. 7. Restart server2. 8. Process recovery on server1. 9. Process recovery on server2. 10. Test XA resource on server2 is rollback. For the server which recovery is started the second, has test XA resource rolled-back. However JMS XA resource is committed on both servers. Trace logs of both servers are attached. It happens for shared JDBC object store as well. It can be reproduced by crashrec testsuite: 1. Clone the repo: "git clone git://git.app.eng.bos.redhat.com/jbossqe-eap-tests-transactions.git tests-transactions" 2. Change directory: "cd tests-transactions/jbossts/" 3. Run test: "mvn clean verify -Djboss.dist=$JBOSS_HOME -Dtest=SharedStoreLoadTestCase#commitHaltClientServer"

      There is a problem with recovery of crashed transactions on two servers when they share the same object store.
      The server which starts the recovery second, has problems with processing the logs.

        1. Server1.log
          648 kB
        2. Server2.log
          635 kB

              hhovsepy@redhat.com Hayk Hovsepyan
              hhovsepy@redhat.com Hayk Hovsepyan
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: