if (zkw.getZNodePaths().isClientReadable(node)) { acls.addAll(Ids.CREATOR_ALL_ACL); acls.addAll(Ids.READ_ACL_UNSAFE);
@Test public void testIsClientReadable() { ZNodePaths znodePaths = new ZNodePaths(HBaseConfiguration.create()); assertTrue(znodePaths.isClientReadable(znodePaths.baseZNode)); assertTrue(znodePaths.isClientReadable(znodePaths.getZNodeForReplica(0))); assertTrue(znodePaths.isClientReadable(znodePaths.masterAddressZNode)); assertTrue(znodePaths.isClientReadable(znodePaths.clusterIdZNode)); assertTrue(znodePaths.isClientReadable(znodePaths.tableZNode)); assertTrue(znodePaths.isClientReadable(ZNodePaths.joinZNode(znodePaths.tableZNode, "foo"))); assertTrue(znodePaths.isClientReadable(znodePaths.rsZNode)); assertFalse(znodePaths.isClientReadable(znodePaths.tableLockZNode)); assertFalse(znodePaths.isClientReadable(znodePaths.balancerZNode)); assertFalse(znodePaths.isClientReadable(znodePaths.regionNormalizerZNode)); assertFalse(znodePaths.isClientReadable(znodePaths.clusterStateZNode)); assertFalse(znodePaths.isClientReadable(znodePaths.drainingZNode)); assertFalse(znodePaths.isClientReadable(znodePaths.splitLogZNode)); assertFalse(znodePaths.isClientReadable(znodePaths.backupMasterAddressesZNode)); } }
private void checkZnodePermsRecursive(ZKWatcher watcher, RecoverableZooKeeper zk, String znode) throws KeeperException, InterruptedException { boolean expectedWorldReadable = watcher.getZNodePaths().isClientReadable(znode); assertZnodePerms(zk, znode, expectedWorldReadable); try { List<String> children = zk.getChildren(znode, false); for (String child : children) { checkZnodePermsRecursive(watcher, zk, ZNodePaths.joinZNode(znode, child)); } } catch (KeeperException ke) { // if we are not authenticated for listChildren, it is fine. if (ke.code() != Code.NOAUTH && ke.code() != Code.NONODE) { throw ke; } } }
@Test public void testIsClientReadable() { ZNodePaths znodePaths = new ZNodePaths(HBaseConfiguration.create()); assertTrue(znodePaths.isClientReadable(znodePaths.baseZNode)); assertTrue(znodePaths.isClientReadable(znodePaths.getZNodeForReplica(0))); assertTrue(znodePaths.isClientReadable(znodePaths.masterAddressZNode)); assertTrue(znodePaths.isClientReadable(znodePaths.clusterIdZNode)); assertTrue(znodePaths.isClientReadable(znodePaths.tableZNode)); assertTrue(znodePaths.isClientReadable(ZNodePaths.joinZNode(znodePaths.tableZNode, "foo"))); assertTrue(znodePaths.isClientReadable(znodePaths.rsZNode)); assertFalse(znodePaths.isClientReadable(znodePaths.tableLockZNode)); assertFalse(znodePaths.isClientReadable(znodePaths.balancerZNode)); assertFalse(znodePaths.isClientReadable(znodePaths.regionNormalizerZNode)); assertFalse(znodePaths.isClientReadable(znodePaths.clusterStateZNode)); assertFalse(znodePaths.isClientReadable(znodePaths.drainingZNode)); assertFalse(znodePaths.isClientReadable(znodePaths.splitLogZNode)); assertFalse(znodePaths.isClientReadable(znodePaths.backupMasterAddressesZNode)); } }
if (zkw.getZNodePaths().isClientReadable(node)) { acls.addAll(Ids.CREATOR_ALL_ACL); acls.addAll(Ids.READ_ACL_UNSAFE);
private void checkZnodePermsRecursive(ZKWatcher watcher, RecoverableZooKeeper zk, String znode) throws KeeperException, InterruptedException { boolean expectedWorldReadable = watcher.getZNodePaths().isClientReadable(znode); assertZnodePerms(zk, znode, expectedWorldReadable); try { List<String> children = zk.getChildren(znode, false); for (String child : children) { checkZnodePermsRecursive(watcher, zk, ZNodePaths.joinZNode(znode, child)); } } catch (KeeperException ke) { // if we are not authenticated for listChildren, it is fine. if (ke.code() != Code.NOAUTH && ke.code() != Code.NONODE) { throw ke; } } }