On 08/02/2017 01:02 PM, Galder Zamarreño wrote: > Hey Radim, > > Re: https://issues.jboss.org/browse/ISPN-8114 > > I've been looking at the trace logs of this failure. I've extracted the most > interesting parts of this failure into [1]. > > What happens is that after loading the entries into the cache, the end > invalidation message to allow put from loads to succeed does not get executed > in time before the put from load is attempted. As a result of this, the put > from load does not happen and hence the entry is not loaded into the cache. > > The end invalidation message eventually gets through. There's a gap between > receiving the JGroups message and the actual execution, but that's due to the > delivery mode of the message. > > I'm not sure how we should fix this. Options: > > 1) A thread sleep before loading entries "might work" but for a CI test this > could always backfire with the right timing sets. > > 2) Find a way to hook into the PFLValidator class and only load after we know > end invalidation has been received by all nodes. > > 3) Make end invalidation message sync? This would expensive. Even with async, > changing delivery mode might have worked here... but under the right > circumstances you could still get the same issue with async.
1) is unreliable and wrong from a testsuite perspective, and 3) is completely wrong (making sth sync just because it's easier to test it that way). Spying on PFVL is an option, but I would rather wrap PerCacheInboundInvocationHandler (I hope that's the correct way). Note that there's even a TestingUtil.wrapInboundInvocationHandler() helper method. If I am missing the complexity, please elaborate. Radim > I'm keen on trying to find a potential solution using 2), but wondered if you > have other ideas. > > Cheers, > > [1] https://gist.github.com/galderz/0bce6dce16de018375e43e25c0cf3913 > -- > Galder Zamarreño > Infinispan, Red Hat > -- Radim Vansa <rva...@redhat.com> JBoss Performance Team _______________________________________________ infinispan-dev mailing list infinispan-dev@lists.jboss.org https://lists.jboss.org/mailman/listinfo/infinispan-dev