[infinispan-issues] [JBoss JIRA] (ISPN-2813) DummyTransaction do not commit is last resource transaction is read-only

Galder Zamarreño (JIRA) issues at jboss.org
Thu Apr 16 08:39:20 EDT 2015


     [ https://issues.jboss.org/browse/ISPN-2813?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Galder Zamarreño updated ISPN-2813:
-----------------------------------
    Fix Version/s: 7.2.0.Final


> DummyTransaction do not commit is last resource transaction is read-only
> ------------------------------------------------------------------------
>
>                 Key: ISPN-2813
>                 URL: https://issues.jboss.org/browse/ISPN-2813
>             Project: Infinispan
>          Issue Type: Bug
>          Components: Transactions
>    Affects Versions: 5.1.6.FINAL
>            Reporter: Vitalii Tymchyshyn
>            Assignee: Pedro Ruivo
>            Priority: Minor
>             Fix For: 7.2.0.CR1, 7.2.0.Final
>
>
> Currently HEAD DummyTransaction.java has this code:
> ...
>       for (XAResource res : resources) {
>          try {
>             int prepareStatus = res.prepare(xid);
>             transaction.setPrepareStatus(prepareStatus);
> ...
> This means that transaction gets prepare status of the last resource (cache in case of infinispan) enlisted.
> Also it has next code:
> ...
>          if (transaction.getPrepareStatus() == XAResource.XA_RDONLY) {
>             log.debug("This is a read-only tx");
>          } else {
>             ... Do commit ...
> ...
> This means that if last resource returned XA_RDONLY (e.g. when on last cache only get was performed) all other resources are not committed.
> For me this results in locks held indefinitely and transaction leak.
> Correct would be to remember prepare status per-resource and act accordinly.



--
This message was sent by Atlassian JIRA
(v6.3.11#6341)



More information about the infinispan-issues mailing list