[infinispan-issues] [JBoss JIRA] (ISPN-7505) Non-functional read in transaction with modifications returns old value
Radim Vansa (JIRA)
issues at jboss.org
Wed Feb 22 04:07:00 EST 2017
Radim Vansa created ISPN-7505:
---------------------------------
Summary: Non-functional read in transaction with modifications returns old value
Key: ISPN-7505
URL: https://issues.jboss.org/browse/ISPN-7505
Project: Infinispan
Issue Type: Bug
Reporter: Radim Vansa
Assignee: Radim Vansa
See this modified FunctionalTxInMemoryTest:
{code:java}
@Test(dataProvider = "owningModeAndReadWrites")
public void testReadWriteAfterMods(boolean isOwner, WriteMethod method) throws Exception {
Object KEY = getKey(isOwner);
cache(0, DIST).put(KEY, "a");
tm.begin();
assertEquals("a", rw.eval(KEY, append("b")).join());
assertEquals("ab", rw.evalMany(Collections.singleton(KEY), append("c")).findAny().get());
assertEquals("abc", cache(0, DIST).get(KEY)); // <-- THIS FAILS
assertEquals(null, rw.eval("otherKey", append("d")).join());
assertEquals("abc", method.action.eval(KEY, wo, rw,
MarshallableFunctions.returnReadOnlyFindOrNull(),
(BiConsumer<EntryView.WriteEntryView<String>, String> & Serializable) (e, prev) -> {}, getClass()));
tm.commit();
}
{code}
When the entry was modified in given transaction, we have to do the read using functional identity read which passes all modifications along. We need to do this for all {{remoteGet}}s, including those invoked for {{putIfAbsent}} etc.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
More information about the infinispan-issues
mailing list