[infinispan-dev] Partial updates in 2LC
Radim Vansa
rvansa at redhat.com
Fri Dec 14 08:43:31 EST 2018
You're right, it would be wiser for the Sync to let the exception be
propagated. I can't recall why I've caught the exception terminally.
About CorrectnessTestCase - this is a stress test, and as such we're not
running it by default. TBH it's been a while since I've last started
that... It also has some parameters that I used to tune manually
(commenting certain parts), such as running evictAll which dramatically
lowers the likelihood of other events to happen.
Radim
On 12/14/2018 10:08 AM, Galder Zamarreno wrote:
> Forgot to point out, here is where Sync logs the exception:
> https://github.com/infinispan/infinispan/blob/master/hibernate/cache-v53/src/main/java/org/infinispan/hibernate/cache/v53/impl/Sync.java#L78
>
> On Fri, Dec 14, 2018 at 10:05 AM Galder Zamarreno <galder at redhat.com
> <mailto:galder at redhat.com>> wrote:
>
> Hey Radim,
>
> We've had some chats in the past where we discussed the behaviour
> of non-tx 2LC and partial updates. I've wrote a couple of tests
> [1] to see how things behave:
>
> For a repl read-write, entity cache, if the failure happens on the
> async FutureUpdate call, that's fine because the Tombstone has
> already been sent and the cache won't return anything.
>
> 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't find the Tombstone.
>
> 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.
>
> As a side note, the CorrectnessTestCase subclasses are not running
> by default, we should change that.
>
> Cheers,
> Galder
>
> [1]
> https://github.com/galderz/infinispan/commit/2934e0b3e8ab9af5fb1471c5fdbb0716e5a11c31
> [2]
> https://github.com/infinispan/infinispan/blob/master/hibernate/cache-v53/src/main/java/org/infinispan/hibernate/cache/v53/impl/Sync.java
>
--
Radim Vansa <rvansa at redhat.com>
JBoss Performance Team
More information about the infinispan-dev
mailing list