类 ConfigNodeProcedureEnv
- java.lang.Object
-
- org.apache.iotdb.confignode.procedure.env.ConfigNodeProcedureEnv
-
public class ConfigNodeProcedureEnv extends java.lang.Object
-
-
构造器概要
构造器 构造器 说明 ConfigNodeProcedureEnv(ConfigManager configManager, ProcedureScheduler scheduler)
-
方法概要
所有方法 实例方法 具体方法 修饰符和类型 方法 说明 voidactivateRegionGroup(org.apache.iotdb.common.rpc.thrift.TConsensusGroupId regionGroupId, java.util.Map<java.lang.Integer,org.apache.iotdb.commons.cluster.RegionStatus> regionStatusMap)java.util.List<org.apache.iotdb.common.rpc.thrift.TSStatus>activeTriggerOnDataNodes(java.lang.String triggerName)voidaddConfigNodePeer(org.apache.iotdb.common.rpc.thrift.TConfigNodeLocation configNodeLocation)Leader will add the new ConfigNode Peer into ConfigNodeRegionvoidaddConsensusGroup(org.apache.iotdb.common.rpc.thrift.TConfigNodeLocation tConfigNodeLocation)Let the remotely new ConfigNode build the ConsensusGroup.voidapplyConfigNode(org.apache.iotdb.common.rpc.thrift.TConfigNodeLocation configNodeLocation)Leader will record the new ConfigNode's informationvoidbroadcastRegionGroup()voidbroadCastTheLatestConfigNodeGroup()Notify all DataNodes when the capacity of the ConfigNodeGroup is expanded or reducedjava.util.List<org.apache.iotdb.common.rpc.thrift.TSStatus>createTriggerOnDataNodes(org.apache.iotdb.commons.trigger.TriggerInformation triggerInformation, org.apache.iotdb.tsfile.utils.Binary jarFile)org.apache.iotdb.common.rpc.thrift.TSStatusdeleteConfig(java.lang.String name)Delete ConfigNode cache, includes ClusterSchemaInfo and PartitionInfovoiddeleteConfigNodePeer(org.apache.iotdb.common.rpc.thrift.TConfigNodeLocation removedConfigNode)Remove Consensus Group in removed nodejava.util.Map<org.apache.iotdb.common.rpc.thrift.TConsensusGroupId,org.apache.iotdb.common.rpc.thrift.TRegionReplicaSet>doRegionCreation(org.apache.iotdb.common.rpc.thrift.TConsensusGroupType consensusGroupType, CreateRegionGroupsPlan createRegionGroupsPlan)Do region creations and broadcast the CreateRegionGroupsPlanbooleandoubleCheckReplica(org.apache.iotdb.common.rpc.thrift.TDataNodeLocation removedDatanode)java.util.List<org.apache.iotdb.common.rpc.thrift.TSStatus>dropTriggerOnDataNodes(java.lang.String triggerName, boolean needToDeleteJarFile)java.util.List<org.apache.iotdb.common.rpc.thrift.TRegionReplicaSet>getAllReplicaSets(java.lang.String storageGroup)ConfigManagergetConfigManager()DataNodeRemoveHandlergetDataNodeRemoveHandler()LockQueuegetNodeLock()LockQueuegetPipeLock()LockQueuegetRegionMigrateLock()ProcedureSchedulergetScheduler()java.util.concurrent.locks.ReentrantLockgetSchedulerLock()longgetTTL(java.lang.String storageGroup)java.util.List<org.apache.iotdb.common.rpc.thrift.TSStatus>inactiveTriggerOnDataNodes(java.lang.String triggerName)booleaninvalidateCache(java.lang.String storageGroupName)voidmarkDataNodeAsRemovingAndBroadcast(org.apache.iotdb.common.rpc.thrift.TDataNodeLocation dataNodeLocation)Mark the given datanode as removing status to avoid read or write request routing to this node.voidnotifyRegisterSuccess(org.apache.iotdb.common.rpc.thrift.TConfigNodeLocation configNodeLocation)Leader will notify the new ConfigNode that registration successvoidpersistRegionGroup(CreateRegionGroupsPlan createRegionGroupsPlan)voidpreDelete(PreDeleteStorageGroupPlan.PreDeleteType preDeleteType, java.lang.String deleteSgName)Pre delete a databasevoidremoveConfigNodePeer(org.apache.iotdb.common.rpc.thrift.TConfigNodeLocation tConfigNodeLocation)Remove peer in Leader nodevoidstopConfigNode(org.apache.iotdb.common.rpc.thrift.TConfigNodeLocation tConfigNodeLocation)Stop ConfigNode and remove heartbeatCachebooleanverifySucceed(org.apache.iotdb.common.rpc.thrift.TSStatus... status)
-
-
-
构造器详细资料
-
ConfigNodeProcedureEnv
public ConfigNodeProcedureEnv(ConfigManager configManager, ProcedureScheduler scheduler)
-
-
方法详细资料
-
getConfigManager
public ConfigManager getConfigManager()
-
deleteConfig
public org.apache.iotdb.common.rpc.thrift.TSStatus deleteConfig(java.lang.String name)
Delete ConfigNode cache, includes ClusterSchemaInfo and PartitionInfo- 参数:
name- database name- 返回:
- tsStatus
-
preDelete
public void preDelete(PreDeleteStorageGroupPlan.PreDeleteType preDeleteType, java.lang.String deleteSgName)
Pre delete a database- 参数:
preDeleteType- execute/rollbackdeleteSgName- database name
-
invalidateCache
public boolean invalidateCache(java.lang.String storageGroupName) throws java.io.IOException, org.apache.thrift.TException- 参数:
storageGroupName- database name- 返回:
- ALL SUCCESS OR NOT
- 抛出:
java.io.IOException- IOEorg.apache.thrift.TException- Thrift IOE
-
verifySucceed
public boolean verifySucceed(org.apache.iotdb.common.rpc.thrift.TSStatus... status)
-
doubleCheckReplica
public boolean doubleCheckReplica(org.apache.iotdb.common.rpc.thrift.TDataNodeLocation removedDatanode)
-
addConsensusGroup
public void addConsensusGroup(org.apache.iotdb.common.rpc.thrift.TConfigNodeLocation tConfigNodeLocation) throws AddConsensusGroupExceptionLet the remotely new ConfigNode build the ConsensusGroup. Actually, the parameter of this method can be empty, adding new raft peer to exist group should invoke createPeer(groupId, emptyList).- 参数:
tConfigNodeLocation- New ConfigNode's location- 抛出:
AddConsensusGroupException
-
addConfigNodePeer
public void addConfigNodePeer(org.apache.iotdb.common.rpc.thrift.TConfigNodeLocation configNodeLocation) throws AddPeerExceptionLeader will add the new ConfigNode Peer into ConfigNodeRegion- 参数:
configNodeLocation- The new ConfigNode- 抛出:
AddPeerException- When addPeer doesn't success
-
removeConfigNodePeer
public void removeConfigNodePeer(org.apache.iotdb.common.rpc.thrift.TConfigNodeLocation tConfigNodeLocation) throws ProcedureExceptionRemove peer in Leader node- 参数:
tConfigNodeLocation- node is removed- 抛出:
ProcedureException- if failed status
-
deleteConfigNodePeer
public void deleteConfigNodePeer(org.apache.iotdb.common.rpc.thrift.TConfigNodeLocation removedConfigNode) throws ProcedureExceptionRemove Consensus Group in removed node- 参数:
removedConfigNode- config node location- 抛出:
ProcedureException- if failed status
-
stopConfigNode
public void stopConfigNode(org.apache.iotdb.common.rpc.thrift.TConfigNodeLocation tConfigNodeLocation) throws ProcedureExceptionStop ConfigNode and remove heartbeatCache- 参数:
tConfigNodeLocation- config node location- 抛出:
ProcedureException- if failed status
-
applyConfigNode
public void applyConfigNode(org.apache.iotdb.common.rpc.thrift.TConfigNodeLocation configNodeLocation)
Leader will record the new ConfigNode's information- 参数:
configNodeLocation- The new ConfigNode
-
notifyRegisterSuccess
public void notifyRegisterSuccess(org.apache.iotdb.common.rpc.thrift.TConfigNodeLocation configNodeLocation)
Leader will notify the new ConfigNode that registration success- 参数:
configNodeLocation- The new ConfigNode
-
broadCastTheLatestConfigNodeGroup
public void broadCastTheLatestConfigNodeGroup()
Notify all DataNodes when the capacity of the ConfigNodeGroup is expanded or reduced
-
markDataNodeAsRemovingAndBroadcast
public void markDataNodeAsRemovingAndBroadcast(org.apache.iotdb.common.rpc.thrift.TDataNodeLocation dataNodeLocation)
Mark the given datanode as removing status to avoid read or write request routing to this node.- 参数:
dataNodeLocation- the datanode to be marked as removing status
-
doRegionCreation
public java.util.Map<org.apache.iotdb.common.rpc.thrift.TConsensusGroupId,org.apache.iotdb.common.rpc.thrift.TRegionReplicaSet> doRegionCreation(org.apache.iotdb.common.rpc.thrift.TConsensusGroupType consensusGroupType, CreateRegionGroupsPlan createRegionGroupsPlan)Do region creations and broadcast the CreateRegionGroupsPlan- 返回:
- Those RegionReplicas that failed to create
-
getTTL
public long getTTL(java.lang.String storageGroup) throws StorageGroupNotExistsException
-
persistRegionGroup
public void persistRegionGroup(CreateRegionGroupsPlan createRegionGroupsPlan)
-
activateRegionGroup
public void activateRegionGroup(org.apache.iotdb.common.rpc.thrift.TConsensusGroupId regionGroupId, java.util.Map<java.lang.Integer,org.apache.iotdb.commons.cluster.RegionStatus> regionStatusMap)
-
broadcastRegionGroup
public void broadcastRegionGroup()
-
getAllReplicaSets
public java.util.List<org.apache.iotdb.common.rpc.thrift.TRegionReplicaSet> getAllReplicaSets(java.lang.String storageGroup)
-
createTriggerOnDataNodes
public java.util.List<org.apache.iotdb.common.rpc.thrift.TSStatus> createTriggerOnDataNodes(org.apache.iotdb.commons.trigger.TriggerInformation triggerInformation, org.apache.iotdb.tsfile.utils.Binary jarFile) throws java.io.IOException- 抛出:
java.io.IOException
-
dropTriggerOnDataNodes
public java.util.List<org.apache.iotdb.common.rpc.thrift.TSStatus> dropTriggerOnDataNodes(java.lang.String triggerName, boolean needToDeleteJarFile)
-
activeTriggerOnDataNodes
public java.util.List<org.apache.iotdb.common.rpc.thrift.TSStatus> activeTriggerOnDataNodes(java.lang.String triggerName)
-
inactiveTriggerOnDataNodes
public java.util.List<org.apache.iotdb.common.rpc.thrift.TSStatus> inactiveTriggerOnDataNodes(java.lang.String triggerName)
-
getNodeLock
public LockQueue getNodeLock()
-
getPipeLock
public LockQueue getPipeLock()
-
getScheduler
public ProcedureScheduler getScheduler()
-
getRegionMigrateLock
public LockQueue getRegionMigrateLock()
-
getSchedulerLock
public java.util.concurrent.locks.ReentrantLock getSchedulerLock()
-
getDataNodeRemoveHandler
public DataNodeRemoveHandler getDataNodeRemoveHandler()
-
-