[
https://issues.apache.org/jira/browse/HBASE-19052?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16222716#comment-16222716
]
Sean Busbey commented on HBASE-19052:
-------------------------------------
can we please update the hfile format appendix in the ref guide with this cell
comparator stuff (especially how it varies by version):
http://hbase.apache.org/book.html#_hfile_format_2
HFiles written in HBase 2 alphas have the CellComparator name, yeah? We'll need
to call out in the upgrade guide that folks should plan to delete and reinstall
if they use the alpha versions.
Double rolling upgrade stinks. why can't we make that a rolling upgrade +
rolling restart by writing the name of the branch-1 compatible comparator when
we first come up?
> FixedFileTrailer should recognize CellComparatorImpl class in branch-1.x
> ------------------------------------------------------------------------
>
> Key: HBASE-19052
> URL: https://issues.apache.org/jira/browse/HBASE-19052
> Project: HBase
> Issue Type: Bug
> Reporter: Ted Yu
> Assignee: Ted Yu
> Priority: Critical
> Fix For: 1.4.0, 1.3.2, 1.5.0, 1.2.7, 1.1.13
>
> Attachments: 19052.branch-1.txt
>
>
> HBASE-18945 has gone into branch-2 .
> Let's consider rolling upgrade scenario from 1.x to 2.0 where there're three
> servers: s1, s2, s3
> s1 is upgraded to 2.0 first. It flushes to hfile in region r1 with
> CellComparatorImpl written in the hfile trailer.
> Somehow s1 crashes and master assigns r1 to s2 which is still running 1.x
> The following code in FixedFileTrailer would be triggered:
> {code}
> try {
> comparatorKlass = (Class<? extends CellComparator>)
> Class.forName(comparatorClassName);
> } catch (ClassNotFoundException e) {
> throw new IOException(e);
> }
> {code}
> since s2 is not aware of CellComparatorImpl.
> This issue is to backport CellComparatorImpl related change to branch-1.x
> Note: CellComparatorImpl wouldn't be used in write path, only in read path.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)