IGNITE-1239 [Reopened]

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

IGNITE-1239 [Reopened]

Alexey Goncharuk
Igniters,

I was debugging the ignite-1239 ticket [1] and stumbled across a strange
behavior of IgniteCache#localPeek method. Namely, it peeks DHT cache only
if current node is either primary or backup. On a fast-changing topology
there may be a situation when neither primary nor a backup node is
currently a partition owner. Thus, there may be a window of time when
localPeek(key) returns null on *all* nodes in topology despite the fact
that there may be active partition owners.

In particular, it caused partition scan iterator to return partial results
in the test. I have changed the logic of localPeek in such a way that if
both primary and backup peek modes are set, then affinity check will be
ignored and DHT entry will be checked anyway. I think this behavior is more
correct.

Can somebody with good expertise in cache/queries take a look at my
changes? (added comment to the ticket).

Thanks,
AG