<div dir="ltr">Hey Radim,<div><br></div><div>We&#39;ve had some chats in the past where we discussed the behaviour of non-tx 2LC and partial updates. I&#39;ve wrote a couple of tests [1] to see how things behave: </div><div><br></div><div>For a repl read-write, entity cache, if the failure happens on the async FutureUpdate call, that&#39;s fine because the Tombstone has already been sent and the cache won&#39;t return anything.</div><div><br></div><div>If the failure happens when the Tombstone is sent, we seem to have a problem because it results in stale data in the node that failed to apply the Tombstone. The FutureUpdate that comes after the Tombstone cannot apply because it doesn&#39;t find the Tombstone.</div><div><br></div><div>Sync logs any errors but does not propagate them [2]. Is there any reason for not rethrowing the exception? I tried to rethrow it and the JDBC transaction rolls back, which is not too bad cos at least that way both nodes contain the last committed data.</div><div><br></div><div>As a side note, the CorrectnessTestCase subclasses are not running by default, we should change that.</div><div><br></div><div>Cheers,<br>Galder</div><div><br></div><div>[1] <a href="https://github.com/galderz/infinispan/commit/2934e0b3e8ab9af5fb1471c5fdbb0716e5a11c31">https://github.com/galderz/infinispan/commit/2934e0b3e8ab9af5fb1471c5fdbb0716e5a11c31</a></div><div>[2] <a href="https://github.com/infinispan/infinispan/blob/master/hibernate/cache-v53/src/main/java/org/infinispan/hibernate/cache/v53/impl/Sync.java">https://github.com/infinispan/infinispan/blob/master/hibernate/cache-v53/src/main/java/org/infinispan/hibernate/cache/v53/impl/Sync.java</a></div><div><br></div></div>