@InterfaceAudience.Private public class ZKProcedureCoordinatorRpcs extends Object implements ProcedureCoordinatorRpcs
ProcedureCoordinatorRpcs for a ProcedureCoordinator| Modifier and Type | Field and Description |
|---|---|
protected ProcedureCoordinator |
coordinator |
static org.apache.commons.logging.Log |
LOG |
| Constructor and Description |
|---|
ZKProcedureCoordinatorRpcs(ZooKeeperWatcher watcher,
String procedureClass,
String coordName) |
| Modifier and Type | Method and Description |
|---|---|
protected void |
abort(String abortNode)
Receive a notification and propagate it to the local coordinator
|
void |
close() |
void |
resetMembers(Procedure proc)
Delete znodes that are no longer in use.
|
void |
sendAbortToMembers(Procedure proc,
ForeignException ee)
This is the abort message being sent by the coordinator to member
TODO this code isn't actually used but can be used to issue a cancellation from the
coordinator.
|
void |
sendGlobalBarrierAcquire(Procedure proc,
byte[] info,
List<String> nodeNames)
The "acquire" phase.
|
void |
sendGlobalBarrierReached(Procedure proc,
List<String> nodeNames)
Notify members that all members have acquired their parts of the barrier and that they can
now execute under the global barrier.
|
boolean |
start(ProcedureCoordinator coordinator)
Start monitoring znodes in ZK - subclass hook to start monitoring znodes they are about.
|
public static final org.apache.commons.logging.Log LOG
protected ProcedureCoordinator coordinator
public ZKProcedureCoordinatorRpcs(ZooKeeperWatcher watcher, String procedureClass, String coordName) throws org.apache.zookeeper.KeeperException
watcher - zookeeper watcher. Owned by this and closed via close()procedureClass - procedure type name is a category for when there are multiple kinds of
procedures.-- this becomes a znode so be aware of the naming restrictionscoordName - name of the node running the coordinatororg.apache.zookeeper.KeeperException - if an unexpected zk error occurspublic final void sendGlobalBarrierAcquire(Procedure proc, byte[] info, List<String> nodeNames) throws IOException, IllegalArgumentException
sendGlobalBarrierAcquire in interface ProcedureCoordinatorRpcsproc - the Procedureinfo - data to be stored in the acquire nodenodeNames - children of the acquire phaseIOException - if any failure occurs.IllegalArgumentException - if the procedure was already marked as failedpublic void sendGlobalBarrierReached(Procedure proc, List<String> nodeNames) throws IOException
ProcedureCoordinatorRpcsProcedureCoordinatorRpcs.sendGlobalBarrierAcquire(Procedure, byte[], List)sendGlobalBarrierReached in interface ProcedureCoordinatorRpcsproc - name of the procedure to startnodeNames - members to tell we have reached in-barrier phaseIOException - if we can't reach the remote notification mechanismpublic final void resetMembers(Procedure proc) throws IOException
resetMembers in interface ProcedureCoordinatorRpcsproc - name of the procedure to resetIOException - if the remote notification mechanism cannot be reachedpublic final boolean start(ProcedureCoordinator coordinator)
start in interface ProcedureCoordinatorRpcspublic final void sendAbortToMembers(Procedure proc, ForeignException ee)
sendAbortToMembers in interface ProcedureCoordinatorRpcsproc - name of the procedure that was abortedee - the reason why the procedure needs to be abortedprotected void abort(String abortNode)
abortNode - full znode path to the failed procedure informationpublic final void close()
throws IOException
close in interface Closeableclose in interface AutoCloseableIOExceptionCopyright © 2014 The Apache Software Foundation. All rights reserved.