Guanghao Zhang created HBASE-18626:
--------------------------------------

             Summary: 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
            Reporter: Guanghao Zhang
            Priority: Blocker


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
(v6.4.14#64029)

Reply via email to