Skip to content

[IOTDB-4378] Negtive feedback Region extension policy#7400

Merged
Beyyes merged 17 commits intoapache:masterfrom
CRZbulabula:Negtive_feedback_Region_extension_policy
Sep 28, 2022
Merged

[IOTDB-4378] Negtive feedback Region extension policy#7400
Beyyes merged 17 commits intoapache:masterfrom
CRZbulabula:Negtive_feedback_Region_extension_policy

Conversation

@CRZbulabula
Copy link
Copy Markdown
Contributor

@CRZbulabula CRZbulabula commented Sep 22, 2022

In order to make the Partition algorithm more durable, the following changes are made:

  1. It's necessary to create a new RegionGroup when no RegionGroups are available for a StorageGroup (all RegionGroups are Disabled). See the RegionGroup Allocation doc for more details.
  2. It's feasible for using Unknown DataNode to alllocate new Region when the number of Running DataNodes is insufficient. The RegionMaintainer thread will retry the Region creation process after the specified DataNodes are restarted. The RegionMaintainer thread was finished in IOTDB-4370.
  3. No matter whether the new RegionGroups creation is success or not, it takes no effects on the Partition allocation decision. Because we can only consider all available RegionGroups to process Partition allocation in this step.

You can see the Partition Algorithm doc to get an overview of the whole process.

@CRZbulabula CRZbulabula marked this pull request as draft September 22, 2022 06:20
@CRZbulabula
Copy link
Copy Markdown
Contributor Author

WIP. I need to optimize some code structure.

@CRZbulabula CRZbulabula marked this pull request as ready for review September 23, 2022 00:55
@CRZbulabula
Copy link
Copy Markdown
Contributor Author

I'll paste doc and update tests later~

Copy link
Copy Markdown
Member

@Beyyes Beyyes left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

.ifPresent(
consensusManager -> {
if (getConsensusManager().isLeader()) {
List<TConfigNodeLocation> registeredConfigNodes = getRegisteredConfigNodes();
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These variables are never used?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I forgot to delete them. I've fixed now~

@MiniSho
Copy link
Copy Markdown
Contributor

MiniSho commented Sep 27, 2022

LGTM

@Beyyes Beyyes merged commit ea98c0d into apache:master Sep 28, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants