Class TestHFileInlineToRootChunkConversion

java.lang.Object
org.apache.hadoop.hbase.io.hfile.TestHFileInlineToRootChunkConversion

Test a case when an inline index chunk is converted to a root one. This reproduces the bug in HBASE-6871. We write a carefully selected number of relatively large keys so that we accumulate a leaf index chunk that only goes over the configured index chunk size after adding the last key/value. The bug is in that when we close the file, we convert that inline (leaf-level) chunk into a root chunk, but then look at the size of that root chunk, find that it is greater than the configured chunk size, and split it into a number of intermediate index blocks that should really be leaf-level blocks. If more keys were added, we would flush the leaf-level block, add another entry to the root-level block, and that would prevent us from upgrading the leaf-level chunk to the root chunk, thus not triggering the bug.