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
