Class CreatePipeProcedureV2
java.lang.Object
org.apache.iotdb.confignode.procedure.Procedure<Env>
org.apache.iotdb.confignode.procedure.impl.StateMachineProcedure<ConfigNodeProcedureEnv,TState>
org.apache.iotdb.confignode.procedure.impl.node.AbstractNodeProcedure<OperatePipeTaskState>
org.apache.iotdb.confignode.procedure.impl.pipe.AbstractOperatePipeProcedureV2
org.apache.iotdb.confignode.procedure.impl.pipe.task.CreatePipeProcedureV2
- All Implemented Interfaces:
Comparable<Procedure<ConfigNodeProcedureEnv>>
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.iotdb.confignode.procedure.impl.StateMachineProcedure
StateMachineProcedure.Flow -
Field Summary
Fields inherited from class org.apache.iotdb.confignode.procedure.impl.pipe.AbstractOperatePipeProcedureV2
isRollbackFromOperateOnDataNodesSuccessful, isRollbackFromValidateTaskSuccessful, pipeTaskInfoFields inherited from class org.apache.iotdb.confignode.procedure.impl.StateMachineProcedure
isGeneratedByPipeFields inherited from class org.apache.iotdb.confignode.procedure.Procedure
NO_PROC_ID, NO_TIMEOUT -
Constructor Summary
ConstructorsConstructorDescriptionCreatePipeProcedureV2(TCreatePipeReq createPipeRequest) CreatePipeProcedureV2(TCreatePipeReq createPipeRequest, AtomicReference<PipeTaskInfo> pipeTaskInfo) This is only used when the pipe task info lock is held by another procedure. -
Method Summary
Modifier and TypeMethodDescriptionvoiddeserialize(ByteBuffer byteBuffer) booleanvoidExecute at stateOperatePipeTaskState.CALCULATE_INFO_FOR_TASK.voidExecute at stateOperatePipeTaskState.OPERATE_ON_DATA_NODES.booleanCheck thePipePluginconfiguration in Pipe.voidExecute at stateOperatePipeTaskState.WRITE_CONFIG_NODE_CONSENSUS.‘protected PipeTaskOperationinthashCode()voidvoidvoidvoidvoidserialize(DataOutputStream stream) Methods inherited from class org.apache.iotdb.confignode.procedure.impl.pipe.AbstractOperatePipeProcedureV2
acquireLock, acquireLockInternal, dropSinglePipeOnDataNodes, executeFromState, getInitialState, getState, getStateId, isRollbackSupported, parsePushPipeMetaExceptionForPipe, pushPipeMetaToDataNodes, pushPipeMetaToDataNodes, pushPipeMetaToDataNodesIgnoreException, pushSinglePipeMetaToDataNodes, releaseLock, rollbackStateMethods inherited from class org.apache.iotdb.confignode.procedure.impl.StateMachineProcedure
addChildProcedure, execute, getCurrentState, getCycles, isEofState, isStateDeserialized, rollback, setNextState, toStringStateMethods inherited from class org.apache.iotdb.confignode.procedure.Procedure
addStackIndex, compareTo, deserializeTypeInfoForCompatibility, doAcquireLock, doExecute, doReleaseLock, doRollback, elapsedTime, getChildrenLatch, getException, getLastUpdate, getParentProcId, getProcId, getProcType, getResult, getRootProcId, getStackIndexes, getState, getSubmittedTime, getTimeout, getTimeoutTimestamp, hasChildren, hasException, hasLock, hasParent, hasTimeout, haveSameParent, holdLock, incChildrenLatch, isFailed, isFinished, isInitializing, isLockedWhenLoading, isRunnable, isSuccess, isWaiting, isYieldAfterExecution, removeStackIndex, restoreLock, setChildrenLatch, setFailure, setFailure, setLastUpdate, setParentProcId, setProcId, setProcRunnable, setResult, setRootProcedureId, setRootProcId, setStackIndexes, setState, setSubmittedTime, setTimeout, setTimeoutFailure, toString, toStringClassDetails, toStringDetails, toStringSimpleSB, updateMetricsOnFinish, updateMetricsOnSubmit, updateTimestamp, wasExecuted
-
Constructor Details
-
CreatePipeProcedureV2
public CreatePipeProcedureV2() -
CreatePipeProcedureV2
- Throws:
PipeException
-
CreatePipeProcedureV2
public CreatePipeProcedureV2(TCreatePipeReq createPipeRequest, AtomicReference<PipeTaskInfo> pipeTaskInfo) throws PipeException This is only used when the pipe task info lock is held by another procedure.- Throws:
PipeException
-
-
Method Details
-
getPipeName
-
constructPlan
-
getOperation
- Specified by:
getOperationin classAbstractOperatePipeProcedureV2
-
executeFromValidateTask
Check thePipePluginconfiguration in Pipe. If there is an error, throwPipeException. If there is a Pipe with the same name and there is no IfNotExists condition increatePipeRequest, throwPipeException. If there is an IfNotExists condition, returnfalse. If there is no Pipe with the same name, returntrue.- Specified by:
executeFromValidateTaskin classAbstractOperatePipeProcedureV2- Parameters:
env- the environment for the procedure- Returns:
trueThe pipeline does not existfalseThe pipeline already exists and satisfies the IfNotExists condition- Throws:
PipeException
-
executeFromCalculateInfoForTask
Description copied from class:AbstractOperatePipeProcedureV2Execute at stateOperatePipeTaskState.CALCULATE_INFO_FOR_TASK.- Specified by:
executeFromCalculateInfoForTaskin classAbstractOperatePipeProcedureV2
-
executeFromWriteConfigNodeConsensus
Description copied from class:AbstractOperatePipeProcedureV2Execute at stateOperatePipeTaskState.WRITE_CONFIG_NODE_CONSENSUS.‘- Specified by:
executeFromWriteConfigNodeConsensusin classAbstractOperatePipeProcedureV2- Throws:
PipeException- if configNode consensus write failed
-
executeFromOperateOnDataNodes
Description copied from class:AbstractOperatePipeProcedureV2Execute at stateOperatePipeTaskState.OPERATE_ON_DATA_NODES.- Specified by:
executeFromOperateOnDataNodesin classAbstractOperatePipeProcedureV2- Throws:
IOException- Exception when Serializing to byte buffer
-
rollbackFromValidateTask
- Specified by:
rollbackFromValidateTaskin classAbstractOperatePipeProcedureV2
-
rollbackFromCalculateInfoForTask
- Specified by:
rollbackFromCalculateInfoForTaskin classAbstractOperatePipeProcedureV2
-
rollbackFromWriteConfigNodeConsensus
- Specified by:
rollbackFromWriteConfigNodeConsensusin classAbstractOperatePipeProcedureV2
-
rollbackFromOperateOnDataNodes
- Specified by:
rollbackFromOperateOnDataNodesin classAbstractOperatePipeProcedureV2- Throws:
IOException
-
serialize
- Overrides:
serializein classAbstractOperatePipeProcedureV2- Throws:
IOException
-
deserialize
- Overrides:
deserializein classAbstractOperatePipeProcedureV2
-
equals
-
hashCode
public int hashCode()
-