Javadoc
Because of the region splitting, it's possible that the split key locate in the middle of a
block. So it's possible that both the daughter regions load the same block from their parent
HFile. When pread, we don't force the read to read all of the next block header. So when two
threads try to cache the same block, it's possible that one thread read all of the next block
header but the other one didn't. if the already cached block hasn't next block header but the
new block to cache has, then we can replace the existing block with the new block for better
performance.(HBASE-20447)