]
Dan Berindei commented on ISPN-5600:
------------------------------------
I assume Narayana is processing synchronizations sequentially?
It would definitely be an improvement for users of multiple caches in the same
transaction, but it may also need extensive changes in how we process transactions in
Infinispan.
Optimize transactions on multiple caches
----------------------------------------
Key: ISPN-5600
URL:
https://issues.jboss.org/browse/ISPN-5600
Project: Infinispan
Issue Type: Enhancement
Components: Transactions
Affects Versions: 8.0.0.Alpha2
Reporter: Radim Vansa
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.