helix-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Lei Xia (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HELIX-527) Mitigate zookeeper watch leak
Date Wed, 31 Aug 2016 17:44:21 GMT

    [ https://issues.apache.org/jira/browse/HELIX-527?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15452861#comment-15452861

Lei Xia commented on HELIX-527:

We may need to reevaluate this issue and figure out the solution.  Assigned to me, and I will
spend some time on this issue.

> Mitigate zookeeper watch leak
> -----------------------------
>                 Key: HELIX-527
>                 URL: https://issues.apache.org/jira/browse/HELIX-527
>             Project: Apache Helix
>          Issue Type: Bug
>            Reporter: Zhen Zhang
> On investigating zookeeper watch leakage problem, it turns out to be a zookeeper issue:
> https://issues.apache.org/jira/browse/ZOOKEEPER-442
> For zookeeper before 3.5.0, we can't remove watches that are no longer of interests.
The only way to remove a watch is to trigger it; that is, if it is a DataWatch, we need to
trigger a data change on the watching path, or if it is a ChildWatch, we need to trigger a
child change on the watching path. Unfortunately, if we are watching a path that has been
deleted, unless we re-create the path, there is no way we can remove the watch.
> Here are some of the most common scenarios where we will have dead zookeeper watches
on zookeeper server side even though we unregister all the listeners on the zookeeper client
> - When we drop a resource group from a cluster, we may have dead watches on ideal-state,
participant current-state, and external-view
> - When we remove an instance from a cluster, we may have dead watches on current-state,
participant-config, and participant messages
> - When we use property store with caches enabled by zookeeper watches, we may have dead
watches on all removed paths

This message was sent by Atlassian JIRA

View raw message