Interface RemoteProcedureDispatcher.RemoteProcedure<TEnv,TRemote>

All Known Implementing Classes:
AssignProcedure, ClaimReplicationQueueRemoteProcedure, CloseRegionProcedure, FlushRegionProcedure, OpenRegionProcedure, RefreshPeerProcedure, RegionRemoteProcedureBase, RegionTransitionProcedure, ServerRemoteProcedure, SnapshotRegionProcedure, SnapshotVerifyProcedure, SplitWALRemoteProcedure, SwitchRpcThrottleRemoteProcedure, SyncReplicationReplayWALRemoteProcedure, UnassignProcedure
Enclosing class:
RemoteProcedureDispatcher<TEnv,TRemote extends Comparable<TRemote>>

public static interface RemoteProcedureDispatcher.RemoteProcedure<TEnv,TRemote>
Remote procedure reference.
  • Method Details

    • remoteCallBuild

      For building the remote operation. May be empty if no need to send remote call. Usually, this means the RemoteProcedure has been finished already. This is possible, as we may have already sent the procedure to RS but then the rpc connection is broken so the executeProcedures call fails, but the RS does receive the procedure and execute it and then report back, before we retry again.
    • remoteCallFailed

      void remoteCallFailed(TEnv env, TRemote remote, IOException exception)
      Called when the executeProcedure call is failed.
    • remoteOperationCompleted

      Called when RS tells the remote procedure is succeeded through the reportProcedureDone method.
    • remoteOperationFailed

      Called when RS tells the remote procedure is failed through the reportProcedureDone method.
    • storeInDispatchedQueue

      default boolean storeInDispatchedQueue()
      Whether store this remote procedure in dispatched queue only OpenRegionProcedure and CloseRegionProcedure return false since they are not fully controlled by dispatcher