So it turns out that the heap infrastructure was using the scanner in a way
that wasnt previously expected.

Right now the heap ignores 'next' return value, assuming that getKeyValue()
return null at the end.

But this is not the case in a HalfHFileReader - it turns out that during a
split, one half would get half, the other half would get BOTH halfs.  Thus
the system would split again, and again, and maybe another time.  You could
end up with 4 regions instead of 2  (ARGH).

It is also a likely candidate for the actual problem that was being seen
only under half hfile case.

I attached it to 1495.  it's pushed to git.

-ryan

Reply via email to