For conditional Hot Rod operations (putIfAbsent, replace, replaceWithVersion and removeWithVersion) if they are used on non-transactional cache we get this warning:
Conditional operation should be used with transactional caches, otherwise data inconsistency issues could arise under failure situations
I read all the discussions related to this issue (ISPN-2956, forum post and Bug 1004193) and it seems that under failure scenarios return values might not be correct but atomicity of the operation is not impacted.
Is that correct understanding, or the actual correctness violation and data inconsistency (apart from not returning accurate return value) is possible?
Yeah, this is mostly about the values returned by the applications. Atomicity should be fine, but applications might rely on the return types in ways that they cannot leave with results not always being correct.