Skip to content

Commit 8bb4cfd

Browse files
committed
Add comment
1 parent ea784cd commit 8bb4cfd

File tree

1 file changed

+15
-10
lines changed

1 file changed

+15
-10
lines changed

x-pack/plugin/esql/src/internalClusterTest/java/org/elasticsearch/xpack/esql/action/EsqlActionBreakerIT.java

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -95,26 +95,31 @@ private EsqlQueryResponse runWithBreaking(EsqlQueryRequest request) throws Circu
9595

9696
@Override
9797
protected EsqlQueryResponse run(EsqlQueryRequest request) {
98+
if (randomBoolean()) {
99+
request.allowPartialResults(randomBoolean());
100+
}
101+
Exception failure = null;
98102
try {
99-
if (randomBoolean()) {
100-
request.allowPartialResults(randomBoolean());
101-
}
102-
var resp = runWithBreaking(request);
103+
final EsqlQueryResponse resp = runWithBreaking(request);
103104
if (resp.isPartial() == false) {
104105
return resp;
105106
}
106107
try (resp) {
107108
assertTrue(request.allowPartialResults());
108109
}
109110
} catch (Exception e) {
110-
try (EsqlQueryResponse resp = super.run(request)) {
111-
assertThat(e, instanceOf(CircuitBreakingException.class));
112-
assertThat(ExceptionsHelper.status(e), equalTo(RestStatus.TOO_MANY_REQUESTS));
113-
resp.incRef();
114-
return resp;
111+
failure = e;
112+
}
113+
// Re-run if the previous query failed or returned partial results
114+
// Only check the previous failure if the second query succeeded
115+
try (EsqlQueryResponse resp = super.run(request)) {
116+
if (failure != null) {
117+
assertThat(failure, instanceOf(CircuitBreakingException.class));
118+
assertThat(ExceptionsHelper.status(failure), equalTo(RestStatus.TOO_MANY_REQUESTS));
115119
}
120+
resp.incRef();
121+
return resp;
116122
}
117-
return super.run(request);
118123
}
119124

120125
/**

0 commit comments

Comments
 (0)