File tree Expand file tree Collapse file tree 1 file changed +15
-10
lines changed
x-pack/plugin/esql/src/internalClusterTest/java/org/elasticsearch/xpack/esql/action Expand file tree Collapse file tree 1 file changed +15
-10
lines changed Original file line number Diff line number Diff 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 /**
You can’t perform that action at this time.
0 commit comments