I was always under the impression there was a check, presumably on the
client side, that would end a scan session if a key was returned that was
not in the original scan range.
Say I scanned my table for the range ["A", "B"], but I had an iterator that
returned only keys beginning with "C". I would expect that I wouldn't see
any data, and I'm reasonably certain that in some 1.3 variants this was the
case. However, I was able to drum up a test case that disproves this. A
similar test can be found here http://pastebin.com/g109eACC. It will
require some import magic to get running, but the jist is pretty simple. I
am running against Accumulo 1.4.2.
I'm hitting up the user list because I'd like to confirm:
1) Is it expected behavior that a scan should terminate once it receives a
key outside of its scan range?
2) If (1) is true, when did this change?
I'm actually incredibly glad it works the way it does for my needs, however
I believe we should document that doing this has several pitfalls and
possible remedies for those pitfalls.