@InterfaceAudience.Private public class ZKPermissionWatcher extends ZooKeeperListener
AccessController instance
on the _acl_ table regions, creates a znode for each table as
/hbase/acl/tablename, with the znode data containing a serialized
list of the permissions granted for the table. The AccessController
instances on all other cluster hosts watch the znodes for updates, which
trigger updates in the TableAuthManager permission cache.| Modifier and Type | Field and Description |
|---|---|
(package private) static String |
ACL_NODE |
(package private) String |
aclZNode |
(package private) TableAuthManager |
authManager |
(package private) CountDownLatch |
initialized |
private static org.apache.commons.logging.Log |
LOG |
watcher| Constructor and Description |
|---|
ZKPermissionWatcher(ZooKeeperWatcher watcher,
TableAuthManager authManager,
org.apache.hadoop.conf.Configuration conf) |
| Modifier and Type | Method and Description |
|---|---|
void |
deleteNamespaceACLNode(String namespace)
Delete the acl notify node of namespace
|
void |
deleteTableACLNode(TableName tableName)
Delete the acl notify node of table
|
void |
nodeChildrenChanged(String path)
Called when an existing node has a child node added or removed.
|
void |
nodeCreated(String path)
Called when a new node has been created.
|
void |
nodeDataChanged(String path)
Called when an existing node has changed data.
|
void |
nodeDeleted(String path)
Called when a node has been deleted
|
private void |
refreshAuthManager(String entry,
byte[] nodeData) |
private void |
refreshNodes(List<ZKUtil.NodeAndData> nodes) |
void |
start() |
private void |
waitUntilStarted() |
void |
writeToZookeeper(byte[] entry,
byte[] permsData)
Write a table's access controls to the permissions mirror in zookeeper
|
getWatcherprivate static final org.apache.commons.logging.Log LOG
static final String ACL_NODE
TableAuthManager authManager
String aclZNode
CountDownLatch initialized
public ZKPermissionWatcher(ZooKeeperWatcher watcher, TableAuthManager authManager, org.apache.hadoop.conf.Configuration conf)
public void start()
throws org.apache.zookeeper.KeeperException
org.apache.zookeeper.KeeperExceptionprivate void waitUntilStarted()
public void nodeCreated(String path)
ZooKeeperListenernodeCreated in class ZooKeeperListenerpath - full path of the new nodepublic void nodeDeleted(String path)
ZooKeeperListenernodeDeleted in class ZooKeeperListenerpath - full path of the deleted nodepublic void nodeDataChanged(String path)
ZooKeeperListenernodeDataChanged in class ZooKeeperListenerpath - full path of the updated nodepublic void nodeChildrenChanged(String path)
ZooKeeperListenernodeChildrenChanged in class ZooKeeperListenerpath - full path of the node whose children have changedprivate void refreshNodes(List<ZKUtil.NodeAndData> nodes)
private void refreshAuthManager(String entry, byte[] nodeData) throws IOException
IOExceptionpublic void writeToZookeeper(byte[] entry,
byte[] permsData)
entry - permsData - public void deleteTableACLNode(TableName tableName)
tableName - public void deleteNamespaceACLNode(String namespace)
Copyright © 2007–2019 The Apache Software Foundation. All rights reserved.