[ 
https://issues.apache.org/jira/browse/HBASE-23705?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17018624#comment-17018624
 ] 

Michael Stack commented on HBASE-23705:
---------------------------------------

This depends on this one. UTs are broken because encoder is using wrong 
CellComparator. This issue fixes the wrong CellComparator problem.

> 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
>            Priority: Major
>             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 even though it has reference to 
> filecontext) and HFile does similar. What CellComparator to use in a given 
> context is confused.
> 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)

Reply via email to