You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Ted Yu (JIRA)" <ji...@apache.org> on 2015/09/05 18:15:45 UTC

[jira] [Created] (HBASE-14370) Use separate thread for calling ZKPermissionWatcher#refreshNodes()

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)