/** * Sets znodes used in 0.94 version. Only table and replication znodes will be upgraded to PB, * others would be deleted. * @throws KeeperException */ private static void setUp94Znodes() throws IOException, KeeperException { // add some old znodes, which would be deleted after upgrade. String rootRegionServerZnode = ZKUtil.joinZNode(zkw.baseZNode, "root-region-server"); ZKUtil.createWithParents(zkw, rootRegionServerZnode); ZKUtil.createWithParents(zkw, zkw.backupMasterAddressesZNode); // add table znode, data of its children would be protobuffized tableAZnode = ZKUtil.joinZNode(zkw.tableZNode, "a"); ZKUtil.createWithParents(zkw, tableAZnode, Bytes.toBytes(ZooKeeperProtos.Table.State.ENABLED.toString())); // add replication znodes, data of its children would be protobuffized String replicationZnode = ZKUtil.joinZNode(zkw.baseZNode, "replication"); replicationPeerZnode = ZKUtil.joinZNode(replicationZnode, "peers"); peer1Znode = ZKUtil.joinZNode(replicationPeerZnode, "1"); peer1 = ReplicationPeer.newBuilder().setClusterkey("abc:123:/hbase").build(); ZKUtil.createWithParents(zkw, peer1Znode, Bytes.toBytes(peer1.getClusterkey())); }
private void checkReplicationPeerData(byte[] data, ReplicationPeer peer) throws InvalidProtocolBufferException { int magicLen = ProtobufUtil.lengthOfPBMagic(); ZooKeeperProtos.ReplicationPeer.Builder builder = ZooKeeperProtos.ReplicationPeer.newBuilder(); assertEquals(builder.mergeFrom(data, magicLen, data.length - magicLen).build().getClusterkey(), peer.getClusterkey()); }
private void migrateClusterKeyToPB(ZooKeeperWatcher zkw, String peerZnode, byte[] data) throws KeeperException, NoNodeException { ReplicationPeer peer = ZooKeeperProtos.ReplicationPeer.newBuilder() .setClusterkey(Bytes.toString(data)).build(); ZKUtil.setData(zkw, peerZnode, ProtobufUtil.prependPBMagic(peer.toByteArray())); }