You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "stack (JIRA)" <ji...@apache.org> on 2018/02/13 18:30:00 UTC

[jira] [Updated] (HBASE-19116) Currently the tail of hfiles with CellComparator* classname makes it so hbase1 can't open hbase2 written hfiles; fix

     [ https://issues.apache.org/jira/browse/HBASE-19116?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

stack updated HBASE-19116:
--------------------------
    Attachment: HBASE-19116.branch-2.001.patch

> Currently the tail of hfiles with CellComparator* classname makes it so hbase1 can't open hbase2 written hfiles; fix
> --------------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-19116
>                 URL: https://issues.apache.org/jira/browse/HBASE-19116
>             Project: HBase
>          Issue Type: Sub-task
>          Components: HFile, migration
>            Reporter: stack
>            Assignee: stack
>            Priority: Critical
>             Fix For: 2.0.0-beta-2
>
>         Attachments: HBASE-19116.branch-2.001.patch
>
>
> See tail of HBASE-19052 for discussion which concludes we should try and make it so operators do not have to go to latest hbase version before they upgrade, at least if we can avoid it.
> The necessary change of our default comparator from KV to Cell naming has hfiles with tails that have the classname CellComparator in them in place of KeyValueComparator. If an hbase1 tries to open them, it will fail not having a CellComparator in its classpath (We have name of comparator in tail because different files require different comparators... perhaps we write an alias instead of a class one day... TODO). HBASE-16189 and HBASE-19052 are about trying to carry knowledge of hbase2 back to hbase1, a brittle approach making it so operators will have to upgrade to the latest branch-1 before they can go to hbase2.
> This issue is about undoing our writing of an incompatible (to hbase1) tail, not unless we really have to (and it sounds like we could do without writing an incompatible tail) to see if we can avoid requiring operators go to lastest branch-1 (we may end up needing this but lets a have a really good reason for it if we do).
> Oh, let this filing be an answer to our [~anoop.hbase]'s old high-level question over in HBASE-16189:
> bq. ...means when rolling upgrade done to 2.0, first users have to upgrade to some 1.x versions which is having this fix and then to 2.0.. What do you guys think Whether we should avoid this kind of indirection? cc Enis Soztutar, Stack, Ted Yu, Matteo Bertozzi
> Yeah, lets try to avoid this if we can...



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)