@@ -348,7 +348,7 @@ public void consume(QuerySearchResult result, Runnable next) throws CircuitBreak
348348 checkCircuitBreaker ();
349349 if (hasFailure () || result .isNull ()) {
350350 result .consumeAll ();
351- if (result .isNull () && ! hasFailure () ) {
351+ if (result .isNull ()) {
352352 SearchShardTarget target = result .getSearchShardTarget ();
353353 emptyResults .add (new SearchShard (target .getClusterAlias (), target .getShardId ()));
354354 }
@@ -388,7 +388,7 @@ private void checkCircuitBreaker() throws CircuitBreakingException {
388388 // force the CircuitBreaker eval to ensure during buffering we did not hit the circuit breaker limit
389389 addEstimateAndMaybeBreak (0 );
390390 } catch (CircuitBreakingException e ) {
391- resetCircuitBreaker ();
391+ resetCircuitBreakerForCurrentRequest ();
392392 // onPartialMergeFailure should only be invoked once since this is responsible for cancelling the
393393 // search task
394394 if (!hasFailure ()) {
@@ -405,7 +405,7 @@ private synchronized void onMergeFailure(Exception exc) {
405405 return ;
406406 }
407407 assert circuitBreakerBytes >= 0 ;
408- resetCircuitBreaker ();
408+ resetCircuitBreakerForCurrentRequest ();
409409 failure .compareAndSet (null , exc );
410410 MergeTask task = runningTask .get ();
411411 runningTask .compareAndSet (task , null );
@@ -422,9 +422,8 @@ private synchronized void onMergeFailure(Exception exc) {
422422 }
423423 }
424424
425- private void resetCircuitBreaker () {
425+ private void resetCircuitBreakerForCurrentRequest () {
426426 if (circuitBreakerBytes > 0 ) {
427- // make sure that we reset the circuit breaker
428427 circuitBreaker .addWithoutBreaking (-circuitBreakerBytes );
429428 circuitBreakerBytes = 0 ;
430429 }
0 commit comments