[
https://issues.jboss.org/browse/ISPN-5600?page=com.atlassian.jira.plugin....
]
Radim Vansa commented on ISPN-5600:
-----------------------------------
I was looking to this for a while and started prototyping, but I've found that I would
break interceptors that handle Prepare/Commit/Rollback commands since I would have to send
them through the stack twice, and the code would get quite messy, too. I think that this
cannot be implemented until we get explicit interceptor stack, that means 9.0 at best :-(
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.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)