Skip to content

Commit ee921fb

Browse files
committed
test fix
1 parent 6216b63 commit ee921fb

File tree

3 files changed

+16
-9
lines changed

3 files changed

+16
-9
lines changed

server/src/main/java/org/elasticsearch/cluster/routing/allocation/decider/AllocationDeciders.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -232,9 +232,10 @@ private Decision withDeciders(
232232
if (logger.isTraceEnabled() && decision.type() == Decision.Type.NO) {
233233
logger.trace(() -> logMessageCreator.apply(decider.getClass().getSimpleName(), decision));
234234
}
235-
if (decision != Decision.ALWAYS && (debugMode == RoutingAllocation.DebugMode.ON || decision.type() != Decision.Type.YES)) {
236-
result.add(decision);
237-
} else if (decision.preferred() == Decision.Preferred.NO) {
235+
if (decision != Decision.ALWAYS
236+
&& (debugMode == RoutingAllocation.DebugMode.ON
237+
|| decision.type() != Decision.Type.YES
238+
|| decision.preferred() != Decision.Preferred.YES)) {
238239
result.add(decision);
239240
}
240241
}

server/src/main/java/org/elasticsearch/cluster/routing/allocation/decider/Decision.java

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -253,10 +253,11 @@ public String getExplanation() {
253253

254254
@Override
255255
public String toString() {
256+
var preference = type == Type.YES && preferred == Preferred.NO ? "_NOT_PREFERRED": "";
256257
if (explanationString != null) {
257-
return type + "(" + explanationString + ")";
258+
return type + preference + "(" + explanationString + ")";
258259
}
259-
return type + "()";
260+
return type + preference + "()";
260261
}
261262

262263
@Override
@@ -316,12 +317,16 @@ public Type type() {
316317

317318
@Override
318319
public Preferred preferred() {
320+
var preferred = Preferred.YES;
319321
for (var decision : decisions) {
320-
if (decision.preferred() == Preferred.NO) {
322+
if (decision.type() != Type.YES) {
321323
return Preferred.NO;
322324
}
325+
if (decision.preferred() == Preferred.NO) {
326+
preferred = Preferred.NO;
327+
}
323328
}
324-
return Preferred.YES;
329+
return preferred;
325330
}
326331

327332
@Override

server/src/test/java/org/elasticsearch/cluster/routing/allocation/decider/AllocationDecidersTests.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,13 +60,14 @@ public void testCheckAllDecidersBeforeReturningYesNotPreferred() {
6060
var allDecisions = generateDecisions(Decision.YES_NOT_PREFERRED, () -> randomFrom(Decision.YES));
6161
var expectedDecision = switch (debugMode) {
6262
case OFF -> Decision.YES_NOT_PREFERRED;
63-
case EXCLUDE_YES_DECISIONS, ON -> collectToMultiDecision(List.of(Decision.YES_NOT_PREFERRED));
63+
case EXCLUDE_YES_DECISIONS -> collectToMultiDecision(allDecisions, decision -> decision.preferred() != Decision.Preferred.YES);
64+
case ON -> collectToMultiDecision(allDecisions);
6465
};
6566
verifyDecidersCall(debugMode, allDecisions, allDecisions.size(), expectedDecision);
6667
}
6768

6869
public void testCheckAllDecidersBeforeReturningThrottle() {
69-
var allDecisions = generateDecisions(Decision.THROTTLE, () -> randomFrom(Decision.YES, Decision.YES_NOT_PREFERRED));
70+
var allDecisions = generateDecisions(Decision.THROTTLE, () -> randomFrom(Decision.YES));
7071
var debugMode = randomFrom(RoutingAllocation.DebugMode.values());
7172
var expectedDecision = switch (debugMode) {
7273
case OFF -> Decision.THROTTLE;

0 commit comments

Comments
 (0)