]
Galder Zamarreño updated ISPN-3903:
-----------------------------------
Status: Resolved (was: Pull Request Sent)
Resolution: Done
Transaction Code Optimizations
------------------------------
Key: ISPN-3903
URL:
https://issues.jboss.org/browse/ISPN-3903
Project: Infinispan
Issue Type: Enhancement
Components: Transactions
Affects Versions: 6.0.1.Final
Reporter: Pedro Ruivo
Assignee: Pedro Ruivo
Fix For: 7.0.0.Alpha1
Currently, I found the following problems (so far, last update 18/01, 17h30, fix in
progress):
* the LocalTxInvocationContext is creating an empty map every time a new instance is
created. It originates >10GB of data in 5min. It can use the Collections.emptyMap()
* TransactionCoordinator is creating LocalTxInvocationContext twice when commit. First,
prepare() method creates LocalTxInvocationContext and if it is read only, it invokes
commitInternal (that will create a new LocalTxInvocationContext). The same for commit()
method when the transaction is one phase. commitInternal() can reuse the
LocalTxInvocationContext since they are stateless (and they already have a reference for
the LocalTransaction).
* Refactor LocalTxInvocationContext and RemoteTxInvocationContext
Results (for 5 min profiling):
* HashMap allocation reduced from 20.80GB to 3.76GB
* LocalTxInvocationContext allocation reduced from 13.80GB to 7.44GB
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: