[infinispan-dev] Reliability of return values

Radim Vansa rvansa at redhat.com
Mon May 12 03:21:13 EDT 2014


Hi,

recently I've stumbled upon one already expected behaviour (one instance 
is [1]), but which did not got much attention.

In non-tx cache, when the primary owner fails after the request has been 
replicated to backup owner, the request is retried in the new topology. 
Then, the operation is executed on the new primary (the previous 
backup). The outcome has been already fixed in [2], but the return value 
may be wrong. For example, when we do a put, the return value for the 
second attempt will be the currently inserted value (although the entry 
was just created). Same situation may happen for other operations.

Currently, it's not possible to return the correct value (because it has 
already been overwritten and we don't keep a history of values), but 
shouldn't we rather throw an exception if we were not able to fulfil the 
API contract?

Radim

[1] https://issues.jboss.org/browse/ISPN-2956
[2] https://issues.jboss.org/browse/ISPN-3422

-- 
Radim Vansa <rvansa at redhat.com>
JBoss DataGrid QA



More information about the infinispan-dev mailing list