Read Only transaction optimization doesn't work properly for
RepeatableRead
---------------------------------------------------------------------------
Key: ISPN-3542
URL:
https://issues.jboss.org/browse/ISPN-3542
Project: Infinispan
Issue Type: Bug
Components: Transactions
Affects Versions: 6.0.0.Beta1
Reporter: William Burns
Assignee: William Burns
Attachments: ISPN-3542-patch
There is a readOnly optimization that Infinispan does to make sure we don't do a 2PC
when there is no data to update. However the code for this does
{code}
public boolean isReadOnly() {
return (modifications == null || modifications.isEmpty()) &&
(lookedUpEntries == null || lookedUpEntries.isEmpty());
}
{code}
For repeatable read we always add a value to lookedUpEntries so this optimization never
works that isolation level.
Looking closer it seems we do a 1PC when it is readOnly to clean up values, so there
shouldn't be a need to care about lookedUpEntries (my guess is this was done as a way
to test for locks).
--
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: