This is to support the work in
HBASE-12295. We have to return the blocks when the close() happens on the HFileScanner. Right now close is not at all there. Will add. The StoreFileScanner will call it on its close().
In KVHeap when we see one of the child scanner runs out of cells, we will remove them from the PriorityQueue as well as close it. Also the same kind of stuff in StoreScanner too. But when we want to do the return block in close() this kind of early close is not correct. Still there might be cells created out of these cached blocks.
This Jira aims at changing these container scanners not to do early close. When it seems a child scanner no longer required, it will avoid using it completely but just wont call close(). Instead it will be added to another list for a delayed close and that will be closed when the container scanner close() happens.