You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "Andrew Kyle Purtell (Jira)" <ji...@apache.org> on 2022/06/11 20:24:00 UTC

[jira] [Resolved] (HBASE-8368) Improve ZK notification handling in Master

     [ https://issues.apache.org/jira/browse/HBASE-8368?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andrew Kyle Purtell resolved HBASE-8368.
----------------------------------------
      Assignee:     (was: Jeffrey Zhong)
    Resolution: Abandoned

> Improve ZK notification handling in Master
> ------------------------------------------
>
>                 Key: HBASE-8368
>                 URL: https://issues.apache.org/jira/browse/HBASE-8368
>             Project: HBase
>          Issue Type: Improvement
>          Components: master
>    Affects Versions: 0.95.0
>            Reporter: Jeffrey Zhong
>            Priority: Major
>
> In ZooKeeperWatcher, we handle ZK notifications in a single queue(except AM) and each listener is handling notifications synchronously. 
> This cause potential performance issue if Master is handling an event which may jam the queue so that ZooKeeperWatcher won't get new notifications in time. For example, we have several region un-assigned notifications in pipeline and logsplitting or SSH handling etc handling will be delayed.
> I'm proposing:
> During registerListeners, we can let a user to choose which queue current listener want to register. For example, 
> registerListener(QueueName, ZNodePathPrefix, listener);
> Such as:
> registerListener("unsigned_regions", "/hbase/unassigned", AMlistener);
> registerListener("logSplitting", "/hbase/splitlog", LogSplittingManagerlistener);
> ...
> For each queue, we use a single thread(consumer) to process events in order.
> The ZNodePathPrefix is to pre-filter out notifications that current listener is only interested in. 
> For listeners without specifying a queue name, the listener will be put on a new "default" queue.
> Please let me know if you have better ideas!
> Thanks.



--
This message was sent by Atlassian Jira
(v8.20.7#820007)