Uploaded image for project: 'Infinispan'
  1. Infinispan
  2. ISPN-8853

Registering interposed synchronization fails in async operation with implicit transaction

    Details

      Description

      TransactionTable.enlist calls transactionSynchronizationRegistry.registerInterposedSynchronization(sync); but when an async operation is invoked with implicit transaction, the thread-local transaction is suspended. That can result in

      java.lang.NullPointerException
      	at java.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.java:936)
      	at org.jboss.as.txn.service.internal.tsr.TransactionSynchronizationRegistryWrapper.registerInterposedSynchronization(TransactionSynchronizationRegistryWrapper.java:69)
      

      I guess that since TransactionSynchronizationRegistry does not offer a variant that would accept the transaction as parameter we need to wrap the call with resume & suspend.

        Gliffy Diagrams

          Attachments

            Activity

              People

              • Assignee:
                rvansa Radim Vansa
                Reporter:
                rvansa Radim Vansa
              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: