org.neo4j.kernel.ha.zookeeper
Class AbstractZooKeeperManager
java.lang.Object
org.neo4j.kernel.ha.zookeeper.AbstractZooKeeperManager
- All Implemented Interfaces:
- org.apache.zookeeper.Watcher
- Direct Known Subclasses:
- ZooClient, ZooKeeperClusterClient
public abstract class AbstractZooKeeperManager
- extends Object
- implements org.apache.zookeeper.Watcher
Contains basic functionality for a ZooKeeper manager, f.ex. how to get
the current master in the cluster.
| Nested classes/interfaces inherited from interface org.apache.zookeeper.Watcher |
org.apache.zookeeper.Watcher.Event |
|
Constructor Summary |
AbstractZooKeeperManager(String servers,
org.neo4j.kernel.AbstractGraphDatabase graphDb,
int clientReadTimeout,
int clientLockReadTimeout,
int maxConcurrentChannelsPerSlave)
|
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface org.apache.zookeeper.Watcher |
process |
HA_SERVERS_CHILD
protected static final String HA_SERVERS_CHILD
- See Also:
- Constant Field Values
SESSION_TIME_OUT
protected static final int SESSION_TIME_OUT
- See Also:
- Constant Field Values
NO_MASTER_MACHINE_PAIR
public static final org.neo4j.helpers.Pair<Master,Machine> NO_MASTER_MACHINE_PAIR
AbstractZooKeeperManager
public AbstractZooKeeperManager(String servers,
org.neo4j.kernel.AbstractGraphDatabase graphDb,
int clientReadTimeout,
int clientLockReadTimeout,
int maxConcurrentChannelsPerSlave)
instantiateZooKeeper
protected org.apache.zookeeper.ZooKeeper instantiateZooKeeper()
getZooKeeper
public abstract org.apache.zookeeper.ZooKeeper getZooKeeper(boolean sync)
getRoot
public abstract String getRoot()
getGraphDb
protected org.neo4j.kernel.AbstractGraphDatabase getGraphDb()
parseChild
protected org.neo4j.helpers.Pair<Integer,Integer> parseChild(String child)
readDataRepresentingInstance
protected org.neo4j.helpers.Pair<Long,Integer> readDataRepresentingInstance(String path)
throws InterruptedException,
org.apache.zookeeper.KeeperException
- Throws:
InterruptedException
org.apache.zookeeper.KeeperException
invalidateMaster
protected void invalidateMaster()
getMasterFromZooKeeper
protected org.neo4j.helpers.Pair<Master,Machine> getMasterFromZooKeeper(boolean wait,
boolean allowChange)
- Tries to discover the master from the zookeeper information. Will return
a
Pair of a Master and the Machine it resides
on. If the new master is different than the current then the current is
invalidated and if allowChange is set to true then the a connection to
the new master is established otherwise a NO_MASTER is returned.
- Parameters:
wait - Whether to wait for a sync connected eventallowChange - If to connect to the new master
- Returns:
- The master machine pair, possibly a NO_MASTER_MACHINE_PAIR
getMasterClientToMachine
protected Master getMasterClientToMachine(Machine master)
getMyMachineId
protected abstract int getMyMachineId()
getCachedMaster
public org.neo4j.helpers.Pair<Master,Machine> getCachedMaster()
getMasterBasedOn
protected ZooKeeperMachine getMasterBasedOn(Collection<ZooKeeperMachine> machines)
getConnectionLostHandler
protected Client.ConnectionLostHandler getConnectionLostHandler()
getAllMachines
protected Map<Integer,ZooKeeperMachine> getAllMachines(boolean wait)
getHaServer
protected String getHaServer(int machineId,
boolean wait)
readHaServer
protected org.neo4j.helpers.Pair<String,Integer> readHaServer(int machineId,
boolean wait)
shutdown
public void shutdown()
waitForSyncConnected
public abstract void waitForSyncConnected()
getServers
public String getServers()
Copyright © 2002-2012 The Neo4j Graph Database Project. All Rights Reserved.