FYI: https://github.com/infinispan/infinispan/pull/5350
-- Galder Zamarreño Infinispan, Red Hat > On 3 Aug 2017, at 11:34, Galder Zamarreño <gal...@redhat.com> wrote: > > Thx Radim, I'll look into wrapping PerCacheInboundInvocationHandler. > > Cheers, > -- > Galder Zamarreño > Infinispan, Red Hat > >> On 2 Aug 2017, at 18:41, Radim Vansa <rva...@redhat.com> wrote: >> >> 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 _______________________________________________ infinispan-dev mailing list infinispan-dev@lists.jboss.org https://lists.jboss.org/mailman/listinfo/infinispan-dev