Fixed a ZK issue, where the watches were doubling each time they would fire.
Project: http://git-wip-us.apache.org/repos/asf/incubator-blur/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-blur/commit/c4ff7daf Tree: http://git-wip-us.apache.org/repos/asf/incubator-blur/tree/c4ff7daf Diff: http://git-wip-us.apache.org/repos/asf/incubator-blur/diff/c4ff7daf Branch: refs/heads/0.1.5 Commit: c4ff7dafcfbc211dd88272ecb4eba98cdf85955d Parents: d6f8d53 Author: Aaron McCurry <[email protected]> Authored: Sat Apr 27 17:39:02 2013 -0400 Committer: Aaron McCurry <[email protected]> Committed: Sat Apr 27 17:39:02 2013 -0400 ---------------------------------------------------------------------- .../indexserver/DistributedIndexServer.java | 1 - .../org/apache/blur/zookeeper/WatchChildren.java | 17 ++++++++------- .../org/apache/blur/zookeeper/WatchNodeData.java | 16 +++++++------- .../apache/blur/zookeeper/WatchNodeExistance.java | 16 +++++++------- 4 files changed, 25 insertions(+), 25 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/c4ff7daf/src/blur-core/src/main/java/org/apache/blur/manager/indexserver/DistributedIndexServer.java ---------------------------------------------------------------------- diff --git a/src/blur-core/src/main/java/org/apache/blur/manager/indexserver/DistributedIndexServer.java b/src/blur-core/src/main/java/org/apache/blur/manager/indexserver/DistributedIndexServer.java index 2ed0c43..a1421fd 100644 --- a/src/blur-core/src/main/java/org/apache/blur/manager/indexserver/DistributedIndexServer.java +++ b/src/blur-core/src/main/java/org/apache/blur/manager/indexserver/DistributedIndexServer.java @@ -182,7 +182,6 @@ public class DistributedIndexServer extends AbstractIndexServer { _prevOnlineShards = onlineShards; _layoutManagers.clear(); _layoutCache.clear(); - LOG.info("--------------------CALL--------------------"); LOG.info("Online shard servers changed, clearing layout managers and cache."); if (oldOnlineShards == null) { oldOnlineShards = new ArrayList<String>(); http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/c4ff7daf/src/blur-util/src/main/java/org/apache/blur/zookeeper/WatchChildren.java ---------------------------------------------------------------------- diff --git a/src/blur-util/src/main/java/org/apache/blur/zookeeper/WatchChildren.java b/src/blur-util/src/main/java/org/apache/blur/zookeeper/WatchChildren.java index d58255a..e9c3b72 100644 --- a/src/blur-util/src/main/java/org/apache/blur/zookeeper/WatchChildren.java +++ b/src/blur-util/src/main/java/org/apache/blur/zookeeper/WatchChildren.java @@ -68,18 +68,19 @@ public class WatchChildren implements Closeable { _watchThread = new Thread(new Runnable() { @Override public void run() { + Watcher watcher = new Watcher() { + @Override + public void process(WatchedEvent event) { + synchronized (_lock) { + _lock.notify(); + } + } + }; startDoubleCheckThread(); while (_running.get()) { synchronized (_lock) { try { - _children = _zooKeeper.getChildren(_path, new Watcher() { - @Override - public void process(WatchedEvent event) { - synchronized (_lock) { - _lock.notify(); - } - } - }); + _children = _zooKeeper.getChildren(_path, watcher); try { onChange.action(_children); } catch (Throwable t) { http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/c4ff7daf/src/blur-util/src/main/java/org/apache/blur/zookeeper/WatchNodeData.java ---------------------------------------------------------------------- diff --git a/src/blur-util/src/main/java/org/apache/blur/zookeeper/WatchNodeData.java b/src/blur-util/src/main/java/org/apache/blur/zookeeper/WatchNodeData.java index ee8a9c3..9a3c1b6 100644 --- a/src/blur-util/src/main/java/org/apache/blur/zookeeper/WatchNodeData.java +++ b/src/blur-util/src/main/java/org/apache/blur/zookeeper/WatchNodeData.java @@ -59,6 +59,14 @@ public class WatchNodeData implements Closeable { @Override public void run() { + Watcher watcher = new Watcher() { + @Override + public void process(WatchedEvent event) { + synchronized (_lock) { + _lock.notify(); + } + } + }; startDoubleCheckThread(); while (_running.get()) { synchronized (_lock) { @@ -68,14 +76,6 @@ public class WatchNodeData implements Closeable { LOG.debug("Path [{0}] not found.", _path); return; } - Watcher watcher = new Watcher() { - @Override - public void process(WatchedEvent event) { - synchronized (_lock) { - _lock.notify(); - } - } - }; _data = _zooKeeper.getData(_path, watcher, stat); onChange.action(_data); _lock.wait(); http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/c4ff7daf/src/blur-util/src/main/java/org/apache/blur/zookeeper/WatchNodeExistance.java ---------------------------------------------------------------------- diff --git a/src/blur-util/src/main/java/org/apache/blur/zookeeper/WatchNodeExistance.java b/src/blur-util/src/main/java/org/apache/blur/zookeeper/WatchNodeExistance.java index 4dc384b..d23a4c3 100644 --- a/src/blur-util/src/main/java/org/apache/blur/zookeeper/WatchNodeExistance.java +++ b/src/blur-util/src/main/java/org/apache/blur/zookeeper/WatchNodeExistance.java @@ -57,18 +57,18 @@ public class WatchNodeExistance implements Closeable { _watchThread = new Thread(new Runnable() { @Override public void run() { + Watcher watcher = new Watcher() { + @Override + public void process(WatchedEvent event) { + synchronized (_lock) { + _lock.notify(); + } + } + }; startDoubleCheckThread(); while (_running.get()) { synchronized (_lock) { try { - Watcher watcher = new Watcher() { - @Override - public void process(WatchedEvent event) { - synchronized (_lock) { - _lock.notify(); - } - } - }; _stat = _zooKeeper.exists(_path, watcher); onChange.action(_stat); _lock.wait();
