Skip to content

Commit d6efcee

Browse files
updated per Yang review
1 parent 198f419 commit d6efcee

File tree

3 files changed

+10
-9
lines changed

3 files changed

+10
-9
lines changed

server/src/main/java/org/elasticsearch/cluster/routing/allocation/MoveDecision.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -92,8 +92,9 @@ public void writeTo(StreamOutput out) throws IOException {
9292
* Creates a move decision for the shard being able to remain on its current node, so the shard won't
9393
* be forced to move to another node.
9494
*/
95-
public static MoveDecision createMoveDecisionWithRemainYesDecision(Decision canRemainDecision) {
95+
public static MoveDecision createRemainYesDecision(Decision canRemainDecision) {
9696
assert canRemainDecision.type() != Type.NO;
97+
assert canRemainDecision.type() != Type.NOT_PREFERRED;
9798
if (canRemainDecision == Decision.YES) {
9899
return CACHED_STAY_DECISION;
99100
}
@@ -162,7 +163,7 @@ public boolean cannotRemainAndCanMove() {
162163
*/
163164
public boolean cannotRemainAndCannotMove() {
164165
checkDecisionState();
165-
return canRemainDecision.type() != Type.YES && canMoveDecision != AllocationDecision.YES;
166+
return canRemain() == false && canMoveDecision != AllocationDecision.YES;
166167
}
167168

168169
/**

server/src/main/java/org/elasticsearch/cluster/routing/allocation/allocator/BalancedShardsAllocator.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -927,7 +927,7 @@ private MoveDecision decideMove(ProjectIndex index, ShardRouting shardRouting, P
927927
RoutingNode routingNode = sourceNode.getRoutingNode();
928928
Decision canRemain = allocation.deciders().canRemain(shardRouting, routingNode, allocation);
929929
if (canRemain.type() != Decision.Type.NO && canRemain.type() != Decision.Type.NOT_PREFERRED) {
930-
return MoveDecision.createMoveDecisionWithRemainYesDecision(canRemain);
930+
return MoveDecision.createRemainYesDecision(canRemain);
931931
}
932932

933933
// Check predicate to decide whether to assess movement options

server/src/test/java/org/elasticsearch/cluster/routing/allocation/MoveDecisionTests.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,12 @@ public class MoveDecisionTests extends ESTestCase {
2929

3030
public void testCachedDecisions() {
3131
// cached stay decision
32-
MoveDecision stay1 = MoveDecision.createMoveDecisionWithRemainYesDecision(Decision.YES);
33-
MoveDecision stay2 = MoveDecision.createMoveDecisionWithRemainYesDecision(Decision.YES);
32+
MoveDecision stay1 = MoveDecision.createRemainYesDecision(Decision.YES);
33+
MoveDecision stay2 = MoveDecision.createRemainYesDecision(Decision.YES);
3434
assertSame(stay1, stay2); // not in explain mode, so should use cached decision
3535

36-
stay1 = MoveDecision.createMoveDecisionWithRemainYesDecision(new Decision.Single(Type.YES, null, null, (Object[]) null));
37-
stay2 = MoveDecision.createMoveDecisionWithRemainYesDecision(new Decision.Single(Type.YES, null, null, (Object[]) null));
36+
stay1 = MoveDecision.createRemainYesDecision(new Decision.Single(Type.YES, null, null, (Object[]) null));
37+
stay2 = MoveDecision.createRemainYesDecision(new Decision.Single(Type.YES, null, null, (Object[]) null));
3838
assertNotSame(stay1, stay2);
3939

4040
// cached cannot move decision
@@ -57,14 +57,14 @@ public void testCachedDecisions() {
5757
}
5858

5959
public void testStayDecision() {
60-
MoveDecision stay = MoveDecision.createMoveDecisionWithRemainYesDecision(Decision.YES);
60+
MoveDecision stay = MoveDecision.createRemainYesDecision(Decision.YES);
6161
assertTrue(stay.canRemain());
6262
assertFalse(stay.cannotRemainAndCanMove());
6363
assertTrue(stay.isDecisionTaken());
6464
assertNull(stay.getNodeDecisions());
6565
assertEquals(AllocationDecision.NO_ATTEMPT, stay.getAllocationDecision());
6666

67-
stay = MoveDecision.createMoveDecisionWithRemainYesDecision(Decision.YES);
67+
stay = MoveDecision.createRemainYesDecision(Decision.YES);
6868
assertTrue(stay.canRemain());
6969
assertFalse(stay.cannotRemainAndCanMove());
7070
assertTrue(stay.isDecisionTaken());

0 commit comments

Comments
 (0)