HBASE-3172 Reverse order of AssignmentManager and MetaNodeTracker in ZooKeeperWatcher
git-svn-id: https://svn.apache.org/repos/asf/hbase/trunk@1028911 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
022f70b722
commit
8379057874
|
@ -624,6 +624,8 @@ Release 0.21.0 - Unreleased
|
||||||
and assorted fixes around this + TestRollingRestart added
|
and assorted fixes around this + TestRollingRestart added
|
||||||
HBASE-3160 Use more intelligent priorities for PriorityCompactionQueue
|
HBASE-3160 Use more intelligent priorities for PriorityCompactionQueue
|
||||||
(Nicolas Spiegelberg via Stack)
|
(Nicolas Spiegelberg via Stack)
|
||||||
|
HBASE-3172 Reverse order of AssignmentManager and MetaNodeTracker in
|
||||||
|
ZooKeeperWatcher
|
||||||
|
|
||||||
|
|
||||||
IMPROVEMENTS
|
IMPROVEMENTS
|
||||||
|
|
|
@ -342,7 +342,7 @@ implements HMasterInterface, HMasterRegionInterface, MasterServices, Server {
|
||||||
|
|
||||||
this.assignmentManager = new AssignmentManager(this, serverManager,
|
this.assignmentManager = new AssignmentManager(this, serverManager,
|
||||||
this.catalogTracker, this.executorService);
|
this.catalogTracker, this.executorService);
|
||||||
zooKeeper.registerListener(assignmentManager);
|
zooKeeper.registerListenerFirst(assignmentManager);
|
||||||
|
|
||||||
this.regionServerTracker = new RegionServerTracker(zooKeeper, this,
|
this.regionServerTracker = new RegionServerTracker(zooKeeper, this,
|
||||||
this.serverManager);
|
this.serverManager);
|
||||||
|
|
|
@ -21,8 +21,9 @@ package org.apache.hadoop.hbase.zookeeper;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.concurrent.CopyOnWriteArraySet;
|
import java.util.concurrent.CopyOnWriteArrayList;
|
||||||
|
|
||||||
import org.apache.commons.logging.Log;
|
import org.apache.commons.logging.Log;
|
||||||
import org.apache.commons.logging.LogFactory;
|
import org.apache.commons.logging.LogFactory;
|
||||||
|
@ -64,8 +65,8 @@ public class ZooKeeperWatcher implements Watcher, Abortable {
|
||||||
private Abortable abortable;
|
private Abortable abortable;
|
||||||
|
|
||||||
// listeners to be notified
|
// listeners to be notified
|
||||||
private final Set<ZooKeeperListener> listeners =
|
private final List<ZooKeeperListener> listeners =
|
||||||
new CopyOnWriteArraySet<ZooKeeperListener>();
|
new CopyOnWriteArrayList<ZooKeeperListener>();
|
||||||
|
|
||||||
// set of unassigned nodes watched
|
// set of unassigned nodes watched
|
||||||
private Set<String> unassignedNodes = new HashSet<String>();
|
private Set<String> unassignedNodes = new HashSet<String>();
|
||||||
|
@ -200,6 +201,15 @@ public class ZooKeeperWatcher implements Watcher, Abortable {
|
||||||
listeners.add(listener);
|
listeners.add(listener);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Register the specified listener to receive ZooKeeper events and add it as
|
||||||
|
* the first in the list of current listeners.
|
||||||
|
* @param listener
|
||||||
|
*/
|
||||||
|
public void registerListenerFirst(ZooKeeperListener listener) {
|
||||||
|
listeners.add(0, listener);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the connection to ZooKeeper.
|
* Get the connection to ZooKeeper.
|
||||||
* @return connection reference to zookeeper
|
* @return connection reference to zookeeper
|
||||||
|
|
Loading…
Reference in New Issue