Class RSProcedureDispatcher.ExecuteProceduresRemoteCall
java.lang.Object
org.apache.hadoop.hbase.master.procedure.RSProcedureDispatcher.ExecuteProceduresRemoteCall
- All Implemented Interfaces:
Runnable,RSProcedureDispatcher.RemoteProcedureResolver
- Direct Known Subclasses:
RSProcedureDispatcher.DeadRSRemoteCall
- Enclosing class:
- RSProcedureDispatcher
protected class RSProcedureDispatcher.ExecuteProceduresRemoteCall
extends Object
implements RSProcedureDispatcher.RemoteProcedureResolver, Runnable
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final intThe default retry limit.private static final intprivate final intprivate longprivate intprivate final Set<RemoteProcedureDispatcher.RemoteProcedure>private org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.ExecuteProceduresRequest.Builderprivate static final StringConfig to determine the retry limit while executing remote regionserver procedure.private static final Stringprivate final longprivate final ServerName -
Constructor Summary
ConstructorsConstructorDescriptionExecuteProceduresRemoteCall(ServerName serverName, Set<RemoteProcedureDispatcher.RemoteProcedure> remoteProcedures) -
Method Summary
Modifier and TypeMethodDescriptionvoiddispatchCloseRequests(MasterProcedureEnv env, List<RSProcedureDispatcher.RegionCloseOperation> operations) voiddispatchOpenRequests(MasterProcedureEnv env, List<RSProcedureDispatcher.RegionOpenOperation> operations) voiddispatchServerOperations(MasterProcedureEnv env, List<RSProcedureDispatcher.ServerOperation> operations) private longprivate AsyncRegionServerAdminprotected final ServerNameprivate booleanReturns true if the error type can allow fail-fast.private booleanReturns true if the error or its cause indicates a network connection issue.private booleanprotected final voidvoidrun()private booleanprotected org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.ExecuteProceduresResponsesendRequest(ServerName serverName, org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.ExecuteProceduresRequest request) private booleanThe category of exceptions where we can ensure that the request has not yet been received and/or processed by the target regionserver yet and hence we can determine whether it is safe to choose different regionserver as the target.private IOException
-
Field Details
-
serverName
-
remoteProcedures
-
numberOfAttemptsSoFar
-
maxWaitTime
-
rsRpcRetryInterval
-
RS_RPC_RETRY_INTERVAL_CONF_KEY
- See Also:
-
DEFAULT_RS_RPC_RETRY_INTERVAL
- See Also:
-
RS_REMOTE_PROC_FAIL_FAST_LIMIT
Config to determine the retry limit while executing remote regionserver procedure. This retry limit applies to only specific errors. These errors could potentially get the remote procedure stuck for several minutes unless the retry limit is applied.- See Also:
-
DEFAULT_RS_REMOTE_PROC_RETRY_LIMIT
The default retry limit. Waiting for more than 5 attempts is not going to help much for genuine connectivity errors. Therefore, consider fail-fast after 5 retries. Value = 5- See Also:
-
failFastRetryLimit
-
request
private org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.ExecuteProceduresRequest.Builder request
-
-
Constructor Details
-
ExecuteProceduresRemoteCall
public ExecuteProceduresRemoteCall(ServerName serverName, Set<RemoteProcedureDispatcher.RemoteProcedure> remoteProcedures)
-
-
Method Details
-
getRsAdmin
- Throws:
IOException
-
getServerName
-
scheduleForRetry
-
unableToConnectToServer
The category of exceptions where we can ensure that the request has not yet been received and/or processed by the target regionserver yet and hence we can determine whether it is safe to choose different regionserver as the target.- Parameters:
e- IOException thrown by the underlying rpc framework.- Returns:
- true if the exception belongs to the category where the regionserver has not yet received the request yet.
-
isSaslError
-
isNetworkError
Returns true if the error or its cause indicates a network connection issue.- Parameters:
e- IOException thrown by the underlying rpc framework.- Returns:
- True if the error or its cause indicates a network connection issue.
-
isErrorTypeFailFast
Returns true if the error type can allow fail-fast.- Parameters:
e- IOException thrown by the underlying rpc framework.- Returns:
- True if the error type can allow fail-fast.
-
getMaxWaitTime
-
unwrapException
-
run
-
dispatchOpenRequests
public void dispatchOpenRequests(MasterProcedureEnv env, List<RSProcedureDispatcher.RegionOpenOperation> operations) - Specified by:
dispatchOpenRequestsin interfaceRSProcedureDispatcher.RemoteProcedureResolver
-
dispatchCloseRequests
public void dispatchCloseRequests(MasterProcedureEnv env, List<RSProcedureDispatcher.RegionCloseOperation> operations) - Specified by:
dispatchCloseRequestsin interfaceRSProcedureDispatcher.RemoteProcedureResolver
-
dispatchServerOperations
public void dispatchServerOperations(MasterProcedureEnv env, List<RSProcedureDispatcher.ServerOperation> operations) - Specified by:
dispatchServerOperationsin interfaceRSProcedureDispatcher.RemoteProcedureResolver
-
sendRequest
protected org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.ExecuteProceduresResponse sendRequest(ServerName serverName, org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.ExecuteProceduresRequest request) throws IOException - Throws:
IOException
-
remoteCallFailed
-