hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Guanghao Zhang (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HBASE-18626) Handle the incompatible change about the replication TableCFs' config
Date Sat, 18 Nov 2017 07:35:00 GMT

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

Guanghao Zhang updated HBASE-18626:
    Attachment: HBASE-18626.branch-1.001.patch

Attach a patch for branch-1.

> Handle the incompatible change about the replication TableCFs' config
> ---------------------------------------------------------------------
>                 Key: HBASE-18626
>                 URL: https://issues.apache.org/jira/browse/HBASE-18626
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 3.0.0, 1.4.0, 1.5.0, 2.0.0-alpha-3
>            Reporter: Guanghao Zhang
>            Assignee: Guanghao Zhang
>         Attachments: HBASE-18626.branch-1.001.patch
> About compatibility, there is one incompatible change about the replication TableCFs'
config. The old config is a string and it concatenate the list of tables and column families
in format "table1:cf1,cf2;table2:cfA,cfB" in zookeeper for table-cf to replication peer mapping.
When parse the config, it use ":" to split the string. If table name includes namespace, it
will be wrong (See HBASE-11386). It is a problem since we support namespace (0.98). So HBASE-11393
(and HBASE-16653) changed it to a PB object. When rolling update cluster, you need rolling
master first. And the master will try to translate the string config to a PB object. But there
are two problems.
> 1. Permission problem. The replication client can write the zookeeper directly. So the
znode may have different owner. And master may don't have the write permission for the znode.
It maybe failed to translate old table-cfs string to new PB Object. See HBASE-16938
> 2. We usually keep compatibility between old client and new server. But the old replication
client may write a string config to znode directly. Then the new server can't parse them.

This message was sent by Atlassian JIRA

View raw message