Michael Stack created HBASE-23705:
-------------------------------------
Summary: Add CellComparator to HFileContext
Key: HBASE-23705
URL: https://issues.apache.org/jira/browse/HBASE-23705
Project: HBase
Issue Type: Sub-task
Components: io
Reporter: Michael Stack
Assignee: Michael Stack
Fix For: 3.0.0, 2.3.0
The HFileContext is present when reading and writing files. It is populated at
read time using HFile trailer content and file metadata. At write time, we
create it up front.
Interesting is that though CellComparator is written to the HFile trailer, and
parse of the Trailer creates an HFileInfo which builds the HFileContext at read
time, the HFileContext does not expose what CellComparator to use decoding and
seeking. Around the codebase there are various compensations made for this lack
with decoders that actually have a decoding context (with a reference to the
hfilecontext), hard-coding use of the default CellComparator. StoreFileInfo
will use default if not passed a comparator (even though we'd just read the
trailer) and HFile itself is similar.
Let me fix this situation removing ambiguity. It will also fix bugs in parent
issue where UTs are failing because wrong CellComparator is being used.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)