-
Notifications
You must be signed in to change notification settings - Fork 25.2k
set default value of cluster.routing.allocation.cluster_concurrent_rebalance to -1 #109210
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
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -154,7 +154,8 @@ public void testMinimalRelocationsNoLimit() { | |
ClusterRebalanceAllocationDecider.ClusterRebalanceType.ALWAYS.toString() | ||
) | ||
.put("cluster.routing.allocation.node_concurrent_recoveries", 100) | ||
.put("cluster.routing.allocation.node_initial_primaries_recoveries", 100); | ||
.put("cluster.routing.allocation.node_initial_primaries_recoveries", 100) | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. test case conditions assume previous default value of 2 for planning to add new test for new behaviour as per new default . |
||
.put("cluster.routing.allocation.cluster_concurrent_rebalance", 2); | ||
AllocationService service = createAllocationService(settings.build()); | ||
|
||
ClusterState clusterState = initCluster(service, 1, 3, 3, 1); | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -1238,7 +1238,7 @@ public void testRebalanceDoesNotCauseHotSpots() { | |
assertThat( | ||
"Reconciling nodes should all have same amount (max 1 delta) of moves: " + totalOutgoingMoves, | ||
summary.getMax() - summary.getMin(), | ||
lessThanOrEqualTo(1) | ||
lessThanOrEqualTo(numberOfNodes) | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. number of concurrent rebalance now is controlled by which has default value = number of nodes. |
||
); | ||
|
||
totalOutgoingMoves.keySet().removeIf(nodeId -> isReconciled(allocation.routingNodes().node(nodeId), balance)); | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should add two new separate settings controlling inbound and outbound rebalances - just like we have for recoveries.
We can assume that any existing relocation is a rebalance when figuring out whether to allow one more rebalance. However, that will only be able to determine based on source node, not target node AFAICS. I think we will need another method on
AllocationDecider
to help us decide whether a specific rebalance (to a specific node) is possible, otherwise you'll not be able to make the determination.