@InterfaceAudience.Private public class SplitWALRemoteProcedure extends ServerRemoteProcedure implements ServerProcedureInterface
SplitWALProcedure will help
handle the situation that encounters DoNotRetryIOException. Otherwise it will retry until
success.Procedure.LockStateServerProcedureInterface.ServerOperationTypedispatched, event, succ, targetServerNO_PROC_ID, NO_TIMEOUT| Constructor and Description |
|---|
SplitWALRemoteProcedure() |
SplitWALRemoteProcedure(ServerName worker,
ServerName crashedServer,
String wal) |
| Modifier and Type | Method and Description |
|---|---|
protected boolean |
abort(MasterProcedureEnv env) |
protected void |
complete(MasterProcedureEnv env,
Throwable error) |
protected void |
deserializeStateData(ProcedureStateSerializer serializer) |
String |
getProcName() |
ServerName |
getServerName() |
ServerProcedureInterface.ServerOperationType |
getServerOperationType()
Given an operation type we can take decisions about what to do with pending operations.
|
String |
getWAL() |
boolean |
hasMetaTableRegion() |
Optional<RemoteProcedureDispatcher.RemoteOperation> |
remoteCallBuild(MasterProcedureEnv env,
ServerName serverName) |
protected void |
rollback(MasterProcedureEnv env) |
protected void |
serializeStateData(ProcedureStateSerializer serializer) |
protected void |
toStringClassDetails(StringBuilder builder) |
completionCleanup, execute, remoteCallFailed, remoteOperationCompleted, remoteOperationFailedacquireLock, addStackIndex, afterReplay, beforeReplay, bypass, compareTo, doExecute, doRollback, elapsedTime, getChildrenLatch, getException, getLastUpdate, getNonceKey, getOwner, getParentProcId, getProcedureMetrics, getProcId, getProcIdHashCode, getResult, getRootProcedureId, getRootProcId, getStackIndexes, getState, getSubmittedTime, getTimeout, getTimeoutTimestamp, hasChildren, hasException, hasLock, hasOwner, hasParent, hasTimeout, haveSameParent, holdLock, incChildrenLatch, isBypass, isFailed, isFinished, isInitializing, isLockedWhenLoading, isRunnable, isSuccess, isWaiting, isYieldAfterExecutionStep, releaseLock, removeStackIndex, setAbortFailure, setChildrenLatch, setFailure, setFailure, setLastUpdate, setNonceKey, setOwner, setOwner, setParentProcId, setProcId, setResult, setRootProcId, setStackIndexes, setState, setSubmittedTime, setTimeout, setTimeoutFailure, shouldWaitClientAck, skipPersistence, toString, toStringClass, toStringDetails, toStringSimpleSB, toStringState, updateMetricsOnFinish, updateMetricsOnSubmit, updateTimestamp, waitInitialized, wasExecutedclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitstoreInDispatchedQueuepublic SplitWALRemoteProcedure()
public SplitWALRemoteProcedure(ServerName worker, ServerName crashedServer, String wal)
protected void rollback(MasterProcedureEnv env) throws IOException, InterruptedException
rollback in class Procedure<MasterProcedureEnv>IOExceptionInterruptedExceptionprotected boolean abort(MasterProcedureEnv env)
abort in class Procedure<MasterProcedureEnv>protected void serializeStateData(ProcedureStateSerializer serializer) throws IOException
serializeStateData in class Procedure<MasterProcedureEnv>IOExceptionprotected void deserializeStateData(ProcedureStateSerializer serializer) throws IOException
deserializeStateData in class Procedure<MasterProcedureEnv>IOExceptionpublic Optional<RemoteProcedureDispatcher.RemoteOperation> remoteCallBuild(MasterProcedureEnv env, ServerName serverName)
remoteCallBuild in interface RemoteProcedureDispatcher.RemoteProcedure<MasterProcedureEnv,ServerName>protected void complete(MasterProcedureEnv env, Throwable error)
complete in class ServerRemoteProcedurepublic String getWAL()
public ServerName getServerName()
getServerName in interface ServerProcedureInterfacepublic boolean hasMetaTableRegion()
hasMetaTableRegion in interface ServerProcedureInterfacepublic ServerProcedureInterface.ServerOperationType getServerOperationType()
ServerProcedureInterfacegetServerOperationType in interface ServerProcedureInterfaceprotected void toStringClassDetails(StringBuilder builder)
toStringClassDetails in class Procedure<MasterProcedureEnv>public String getProcName()
getProcName in class Procedure<MasterProcedureEnv>Copyright © 2007–2020 The Apache Software Foundation. All rights reserved.