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

Optimize transactions on multiple caches


    • Icon: Enhancement Enhancement
    • Resolution: Unresolved
    • Icon: Major Major
    • None
    • 8.0.0.Alpha2
    • Transactions
    • None

      NON_XA transactions that span multiple caches are registered as multiple synchronizations, and these synchronizations are often processed sequentially 1; therefore, we send synchronous PrepareCommand for each cache and then CommitCommand for each cache as well, delaying the commit by these round-trips.

      Since the targets for different caches may differ, we still need to send the RPCs separately, but in parallel. Therefore, there should be one uber-synchronization for all caches that use NON_XA mode (and maybe something similar with XA). I believe that using single synchronization could save some allocations, too.

      1 Not sure if full-fledged JTA implementations do that; JTA spec does not say anything about the order of synchronizations and whether these should be processed in parallel.

            pruivo@redhat.com Pedro Ruivo
            rvansa1@redhat.com Radim Vansa (Inactive)
            0 Vote for this issue
            2 Start watching this issue