Uploaded image for project: 'JBoss Transaction Manager'
  1. JBoss Transaction Manager
  2. JBTM-1284

Optionally circumvent ThreadAction in ArjunaCore when using concurrent nested transactions

XMLWordPrintable

    • Icon: Feature Request Feature Request
    • Resolution: Won't Do
    • Icon: Major Major
    • None
    • None
    • Transaction Core
    • None

      Needs sanity checking
      We can collaborate on the work via linked GitHub branch
      The problem out of the box is when you AtomicAction "begin" - you will link to the ThreadActionData, as you can see in the test I can circumvent that via a different API call start passing in the parent directly.
      You can see there is precedent to manipulate ThreadActionData: ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/coordinator/AsyncPrepare.java (doing the prepare in multiple threads)

      I think this is feasible, it may need some thread safety via synchronization in the AtomicAction.

      Nested Transactions in core look to be able to support concurrent access except:
      1. Threading may not work, will need to check and fix
      2. ThreadActionData imposes a stack

      You can see in my test (linked in the GitHub branch) I am circumventing the stack.

      we already support nested transactions, it should just be not associating them with a thread and making sure they are thread safe when they talk to their parents

            Unassigned Unassigned
            thjenkin@redhat.com Tom Jenkinson
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: