[
https://issues.apache.org/jira/browse/HBASE-11490?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Qianxi Zhang updated HBASE-11490:
---------------------------------
Attachment: HBASE_11490_trunk_v1.patch
> In HBase Shell set_peer_tableCFs, if the tableCFS is null, it will be wrong
> ---------------------------------------------------------------------------
>
> Key: HBASE-11490
> URL: https://issues.apache.org/jira/browse/HBASE-11490
> Project: HBase
> Issue Type: Bug
> Components: Replication
> Affects Versions: 0.99.0
> Reporter: Qianxi Zhang
> Assignee: Qianxi Zhang
> Priority: Minor
> Attachments: HBASE_11490_trunk_v1.patch
>
>
> In HBase Shell set_peer_tableCFs, If the tableCFS is null, it will throw NPE
> # set all tables to be replicable for a peer
> hbase> set_peer_tableCFs '1', ""
> hbase> set_peer_tableCFs '1'
> ReplicationAdmin#199
> {code}
> public void setPeerTableCFs(String id, String tableCFs) throws
> ReplicationException {
> this.replicationPeers.setPeerTableCFsConfig(id, tableCFs);
> }
> {code}
> ReplicationPeersZKImpl#177
> {code}
> public void setPeerTableCFsConfig(String id, String tableCFsStr) throws
> ReplicationException {
> try {
> if (!peerExists(id)) {
> throw new IllegalArgumentException("Cannot set peer tableCFs because
> id=" + id
> + " does not exist.");
> }
> String tableCFsZKNode = getTableCFsNode(id);
> byte[] tableCFs = Bytes.toBytes(tableCFsStr);
> if (ZKUtil.checkExists(this.zookeeper, tableCFsZKNode) != -1) {
> ZKUtil.setData(this.zookeeper, tableCFsZKNode, tableCFs);
> } else {
> ZKUtil.createAndWatch(this.zookeeper, tableCFsZKNode, tableCFs);
> }
> LOG.info("Peer tableCFs with id= " + id + " is now " + tableCFsStr);
> } catch (KeeperException e) {
> throw new ReplicationException("Unable to change tableCFs of the peer
> with id=" + id, e);
> }
> }
> {code}
--
This message was sent by Atlassian JIRA
(v6.2#6252)