]
Tristan Tarrant updated ISPN-5600:
----------------------------------
Fix Version/s: 9.1.0.Final
(was: 9.0.0.Final)
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
Fix For: 9.1.0.Final
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.