[infinispan-issues] [JBoss JIRA] (ISPN-3903) Transaction Code Optimizations
Pedro Ruivo (JIRA)
issues at jboss.org
Mon Jan 20 07:12:28 EST 2014
[ https://issues.jboss.org/browse/ISPN-3903?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Pedro Ruivo updated ISPN-3903:
------------------------------
Description:
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
was:
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).
> 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: http://www.atlassian.com/software/jira
More information about the infinispan-issues
mailing list