[
https://issues.apache.org/jira/browse/HBASE-19052?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16223376#comment-16223376
]
Anoop Sam John commented on HBASE-19052:
----------------------------------------
This comparator name change is the only thing we did as breaking change for
HFile? Am not very sure. Whether some other changes also require us to ask
1st upgrade to 1.x and then 2.0? Sorry not remembering.. Ya we can think how
we can avoid this indirection.
bq. If we wrote the old name into the hfile, could new hfile readers in hbase2
map the old String to the new classes?
You mean the old 1.x comparator names right? Ya the 2.0 reader is already
having this code. When we will able to change this and write the
CellComparatorImpl name itself? Never?
> 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: Improvement
> Components: HFile
> 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)