[
https://issues.apache.org/jira/browse/HBASE-19052?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16212454#comment-16212454
]
Anoop Sam John commented on HBASE-19052:
----------------------------------------
2.0 based HFiles handling is already there in FFT#getComparatorClass
{code}
} else if
(comparatorClassName.equals("org.apache.hadoop.hbase.CellComparator")) {
// 2.0 based comparators found in class name. Convert it to
corresponding Comparators in 1.x
// branch. Refer to HBASE-16189
comparatorClassName = KeyValue.COMPARATOR.getClass().getName();
} else if ((comparatorClassName
.equals("org.apache.hadoop.hbase.CellComparator$MetaCellComparator"))) {
{code}
We just need to change CellComparator to CellComparatorImpl here.
> 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
> Attachments: 19052.branch-1.txt, 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)