@InterfaceAudience.Private public abstract class MasterProcedureManager extends ProcedureManager implements Stoppable
MasterProcedureManager and RegionServerProcedureManager. Implementation of
 MasterProcedureManager is loaded into HMaster
 process via configuration parameter 'hbase.procedure.master.classes', while implementation of
 RegionServerProcedureManager is loaded into
 HRegionServer process via
 configuration parameter 'hbase.procedure.regionserver.classes'.
 An example of globally barriered procedure implementation is
 SnapshotManager and
 RegionServerSnapshotManager.
 A globally barriered procedure is identified by its signature (usually it is the name of the
 procedure znode). During the initialization phase, the initialize methods are called by both
 HMaster
 and HRegionServer which create the procedure znode
 and register the listeners. A procedure can be triggered by its signature and an instant name
 (encapsulated in a HBaseProtos.ProcedureDescription object). When the servers are shutdown,
 the stop methods on both classes are called to clean up the data associated with the procedure.| Constructor and Description | 
|---|
| MasterProcedureManager() | 
| Modifier and Type | Method and Description | 
|---|---|
| abstract void | checkPermissions(org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.ProcedureDescription desc,
                AccessChecker accessChecker,
                User user)Check for required permissions before executing the procedure. | 
| void | execProcedure(org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.ProcedureDescription desc)Execute a distributed procedure on cluster | 
| byte[] | execProcedureWithRet(org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.ProcedureDescription desc)Execute a distributed procedure on cluster with return data. | 
| abstract void | initialize(MasterServices master,
          MetricsMaster metricsMaster)Initialize a globally barriered procedure for master. | 
| abstract boolean | isProcedureDone(org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.ProcedureDescription desc)Check if the procedure is finished successfully | 
equals, getProcedureSignature, hashCodepublic MasterProcedureManager()
public abstract void initialize(MasterServices master, MetricsMaster metricsMaster) throws org.apache.zookeeper.KeeperException, IOException, UnsupportedOperationException
master - Master service interfaceorg.apache.zookeeper.KeeperExceptionIOExceptionUnsupportedOperationExceptionpublic void execProcedure(org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.ProcedureDescription desc) throws IOException
desc - Procedure descriptionIOExceptionpublic byte[] execProcedureWithRet(org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.ProcedureDescription desc) throws IOException
desc - Procedure descriptionIOExceptionpublic abstract void checkPermissions(org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.ProcedureDescription desc, AccessChecker accessChecker, User user) throws IOException
IOException - if permissions requirements are not met.public abstract boolean isProcedureDone(org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.ProcedureDescription desc) throws IOException
desc - Procedure descriptionIOExceptionCopyright © 2007–2021 The Apache Software Foundation. All rights reserved.