Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create AllocationDeciders in the main method of the ILM step #65037

Merged
merged 2 commits into from Dec 8, 2020

Conversation

gaobinlong
Copy link
Contributor

Relates to #64529.

Currently the cluster filter variables clusterRequireFilters , clusterIncludeFilters and clusterExcludeFilters are non-static, so the new instance of FilterAllocationDecider inited in SetSingleNodeAllocateStep in ILM cannot see the changes when updating the cluster.routing.allocation.exclude._x settings, and finally ILM will stuck in the shrink action if one excluded node has been selected in the SetSingleNodeAllocateStep. AllocationRoutedStep has the same issue.

This main changes are:

  1. Create AllocationDeciders in the main method of SetSingleNodeAllocateStep and AllocationRoutedStep, and the FilterAllocationDecider is constructed using the cluster settings in the cluster metadata, so the cluster level filters can be seen when executing the steps.
  2. Add some tests for the change.

@dakrone dakrone self-requested a review November 16, 2020 18:30
@dakrone dakrone added the :Data Management/ILM+SLM Index and Snapshot lifecycle management label Nov 16, 2020
@elasticmachine elasticmachine added the Team:Data Management Meta label for data/management team label Nov 16, 2020
@elasticmachine
Copy link
Collaborator

Pinging @elastic/es-core-features (Team:Core/Features)

@dakrone
Copy link
Member

dakrone commented Dec 8, 2020

@gaobinlong sorry for the delay on this, I've been on vacation for a while, but I'm back now!

@dakrone
Copy link
Member

dakrone commented Dec 8, 2020

@elasticmachine test this please

@dakrone
Copy link
Member

dakrone commented Dec 8, 2020

@elasticmachine update branch

@dakrone
Copy link
Member

dakrone commented Dec 8, 2020

@elasticmachine test this please

Copy link
Member

@dakrone dakrone left a comment

Choose a reason for hiding this comment

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

LGTM, thanks @gaobinlong!

@dakrone dakrone merged commit 8ac30f9 into elastic:master Dec 8, 2020
dakrone pushed a commit to dakrone/elasticsearch that referenced this pull request Dec 8, 2020
…#65037)

Relates to elastic#64529.

Currently the cluster filter variables `clusterRequireFilters` , `clusterIncludeFilters` and `clusterExcludeFilters` are non-static, so the new instance of `FilterAllocationDecider` inited in `SetSingleNodeAllocateStep ` in ILM cannot see the changes when updating the `cluster.routing.allocation.exclude._x` settings, and finally ILM will stuck in the shrink action if one excluded node has been selected in the  `SetSingleNodeAllocateStep`.  `AllocationRoutedStep` has the same issue.

This main changes are:
1. Create `AllocationDeciders ` in the main method of `SetSingleNodeAllocateStep ` and `AllocationRoutedStep`,  and the `FilterAllocationDecider ` is constructed using the cluster settings in the cluster metadata, so the cluster level filters can be seen when executing the steps.
2. Add some tests for the change.
dakrone pushed a commit to dakrone/elasticsearch that referenced this pull request Dec 8, 2020
…#65037)

Relates to elastic#64529.

Currently the cluster filter variables `clusterRequireFilters` , `clusterIncludeFilters` and `clusterExcludeFilters` are non-static, so the new instance of `FilterAllocationDecider` inited in `SetSingleNodeAllocateStep ` in ILM cannot see the changes when updating the `cluster.routing.allocation.exclude._x` settings, and finally ILM will stuck in the shrink action if one excluded node has been selected in the  `SetSingleNodeAllocateStep`.  `AllocationRoutedStep` has the same issue.

This main changes are:
1. Create `AllocationDeciders ` in the main method of `SetSingleNodeAllocateStep ` and `AllocationRoutedStep`,  and the `FilterAllocationDecider ` is constructed using the cluster settings in the cluster metadata, so the cluster level filters can be seen when executing the steps.
2. Add some tests for the change.
dakrone added a commit that referenced this pull request Dec 8, 2020
…65037) (8ac30f9) (#66069)

Backports the following commits to 7.x:

    Create AllocationDeciders in the main method of the ILM step (#65037) (8ac30f9)
dakrone added a commit that referenced this pull request Dec 8, 2020
…65037) (8ac30f9) (#66070)

Backports the following commits to 7.x:

    Create AllocationDeciders in the main method of the ILM step (#65037) (8ac30f9)
rjernst pushed a commit to mark-vieira/elasticsearch that referenced this pull request Dec 11, 2020
…#65037)

Relates to elastic#64529.

Currently the cluster filter variables `clusterRequireFilters` , `clusterIncludeFilters` and `clusterExcludeFilters` are non-static, so the new instance of `FilterAllocationDecider` inited in `SetSingleNodeAllocateStep ` in ILM cannot see the changes when updating the `cluster.routing.allocation.exclude._x` settings, and finally ILM will stuck in the shrink action if one excluded node has been selected in the  `SetSingleNodeAllocateStep`.  `AllocationRoutedStep` has the same issue.

This main changes are:
1. Create `AllocationDeciders ` in the main method of `SetSingleNodeAllocateStep ` and `AllocationRoutedStep`,  and the `FilterAllocationDecider ` is constructed using the cluster settings in the cluster metadata, so the cluster level filters can be seen when executing the steps.
2. Add some tests for the change.
dakrone pushed a commit that referenced this pull request Jan 7, 2021
…67137)

Relates to #67133.
Seem to #65037.

The main changes of this PR are:

    Modify the construction method of DataTierAllocationDecider, add a param settings like FilterAllocationDecider.
    Create DataTierAllocationDecider in the main method of DataTierMigrationRoutedStep and SetSingleNodeAllocateStep, and the DataTierAllocationDecider is constructed using the cluster settings in the cluster metadata, so the cluster level _tier filters can be seen when executing the steps.
    Add some tests for the change.
dakrone pushed a commit to dakrone/elasticsearch that referenced this pull request Jan 7, 2021
…lastic#67137)

Relates to elastic#67133.
Seem to elastic#65037.

The main changes of this PR are:

    Modify the construction method of DataTierAllocationDecider, add a param settings like FilterAllocationDecider.
    Create DataTierAllocationDecider in the main method of DataTierMigrationRoutedStep and SetSingleNodeAllocateStep, and the DataTierAllocationDecider is constructed using the cluster settings in the cluster metadata, so the cluster level _tier filters can be seen when executing the steps.
    Add some tests for the change.
dakrone pushed a commit to dakrone/elasticsearch that referenced this pull request Jan 7, 2021
…lastic#67137)

Relates to elastic#67133.
Seem to elastic#65037.

The main changes of this PR are:

    Modify the construction method of DataTierAllocationDecider, add a param settings like FilterAllocationDecider.
    Create DataTierAllocationDecider in the main method of DataTierMigrationRoutedStep and SetSingleNodeAllocateStep, and the DataTierAllocationDecider is constructed using the cluster settings in the cluster metadata, so the cluster level _tier filters can be seen when executing the steps.
    Add some tests for the change.
dakrone pushed a commit to dakrone/elasticsearch that referenced this pull request Jan 7, 2021
…lastic#67137)

Relates to elastic#67133.
Seem to elastic#65037.

The main changes of this PR are:

    Modify the construction method of DataTierAllocationDecider, add a param settings like FilterAllocationDecider.
    Create DataTierAllocationDecider in the main method of DataTierMigrationRoutedStep and SetSingleNodeAllocateStep, and the DataTierAllocationDecider is constructed using the cluster settings in the cluster metadata, so the cluster level _tier filters can be seen when executing the steps.
    Add some tests for the change.
dakrone added a commit that referenced this pull request Jan 7, 2021
…ider (#67137) (4295d48) (#67178)

Relates to #67133.
Seem to #65037.

The main changes of this PR are:

    Modify the construction method of DataTierAllocationDecider, add a param settings like FilterAllocationDecider.
    Create DataTierAllocationDecider in the main method of DataTierMigrationRoutedStep and SetSingleNodeAllocateStep, and the DataTierAllocationDecider is constructed using the cluster settings in the cluster metadata, so the cluster level _tier filters can be seen when executing the steps.
    Add some tests for the change.

Co-authored-by: bellengao <gbl_long@163.com>
dakrone added a commit that referenced this pull request Jan 7, 2021
…der (#67137) (4295d48) (#67177)

Relates to #67133.
Seem to #65037.

The main changes of this PR are:

    Modify the construction method of DataTierAllocationDecider, add a param settings like FilterAllocationDecider.
    Create DataTierAllocationDecider in the main method of DataTierMigrationRoutedStep and SetSingleNodeAllocateStep, and the DataTierAllocationDecider is constructed using the cluster settings in the cluster metadata, so the cluster level _tier filters can be seen when executing the steps.
    Add some tests for the change.

Co-authored-by: bellengao <gbl_long@163.com>
dakrone added a commit that referenced this pull request Jan 7, 2021
…ider (#67137) (4295d48) (#67180)

Relates to #67133.
Seem to #65037.

The main changes of this PR are:

    Modify the construction method of DataTierAllocationDecider, add a param settings like FilterAllocationDecider.
    Create DataTierAllocationDecider in the main method of DataTierMigrationRoutedStep and SetSingleNodeAllocateStep, and the DataTierAllocationDecider is constructed using the cluster settings in the cluster metadata, so the cluster level _tier filters can be seen when executing the steps.
    Add some tests for the change.

Co-authored-by: bellengao <gbl_long@163.com>
alyokaz pushed a commit to alyokaz/elasticsearch that referenced this pull request Mar 10, 2021
…#65037)

Relates to elastic#64529.

Currently the cluster filter variables `clusterRequireFilters` , `clusterIncludeFilters` and `clusterExcludeFilters` are non-static, so the new instance of `FilterAllocationDecider` inited in `SetSingleNodeAllocateStep ` in ILM cannot see the changes when updating the `cluster.routing.allocation.exclude._x` settings, and finally ILM will stuck in the shrink action if one excluded node has been selected in the  `SetSingleNodeAllocateStep`.  `AllocationRoutedStep` has the same issue.

This main changes are:
1. Create `AllocationDeciders ` in the main method of `SetSingleNodeAllocateStep ` and `AllocationRoutedStep`,  and the `FilterAllocationDecider ` is constructed using the cluster settings in the cluster metadata, so the cluster level filters can be seen when executing the steps.
2. Add some tests for the change.
alyokaz pushed a commit to alyokaz/elasticsearch that referenced this pull request Mar 10, 2021
…lastic#67137)

Relates to elastic#67133.
Seem to elastic#65037.

The main changes of this PR are:

    Modify the construction method of DataTierAllocationDecider, add a param settings like FilterAllocationDecider.
    Create DataTierAllocationDecider in the main method of DataTierMigrationRoutedStep and SetSingleNodeAllocateStep, and the DataTierAllocationDecider is constructed using the cluster settings in the cluster metadata, so the cluster level _tier filters can be seen when executing the steps.
    Add some tests for the change.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
:Data Management/ILM+SLM Index and Snapshot lifecycle management Team:Data Management Meta label for data/management team v7.10.2 v7.11.0 v8.0.0-alpha1
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants