Ted Yu created HBASE-14370:
------------------------------

             Summary: Use separate thread for calling 
ZKPermissionWatcher#refreshNodes()
                 Key: HBASE-14370
                 URL: https://issues.apache.org/jira/browse/HBASE-14370
             Project: HBase
          Issue Type: Improvement
    Affects Versions: 0.98.0
            Reporter: Ted Yu
            Assignee: Ted Yu


I came off a support case (0.98.0) where main zk thread was seen doing the 
following:
{code}
  at 
org.apache.hadoop.hbase.security.access.ZKPermissionWatcher.refreshAuthManager(ZKPermissionWatcher.java:152)
  at 
org.apache.hadoop.hbase.security.access.ZKPermissionWatcher.refreshNodes(ZKPermissionWatcher.java:135)
  at 
org.apache.hadoop.hbase.security.access.ZKPermissionWatcher.nodeChildrenChanged(ZKPermissionWatcher.java:121)
  at 
org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher.process(ZooKeeperWatcher.java:348)
  at 
org.apache.zookeeper.ClientCnxn$EventThread.processEvent(ClientCnxn.java:519)
  at org.apache.zookeeper.ClientCnxn$EventThread.run(ClientCnxn.java:495)
{code}
There were 62000 nodes under /acl due to lack of fix from HBASE-12635, leading 
to slowness in table creation because zk notification for region offline was 
blocked by the above.

The attached patch separates refreshNodes() call into its own thread.

Thanks to Enis and Devaraj for offline discussion.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to