diff --git a/muted-tests.yml b/muted-tests.yml index 184c3a61b6f2f..d271464a6e811 100644 --- a/muted-tests.yml +++ b/muted-tests.yml @@ -390,9 +390,6 @@ tests: - class: org.elasticsearch.xpack.inference.integration.AuthorizationTaskExecutorIT method: testEndpointGetsUpdated_GivenFingerprintChanges_FromNull issue: https://github.com/elastic/elasticsearch/issues/143845 -- class: org.elasticsearch.compute.aggregation.HistogramMergeTDigestAggregatorFunctionTests - method: testSimpleWithCranky - issue: https://github.com/elastic/elasticsearch/issues/143860 - class: org.elasticsearch.xpack.inference.integration.AuthorizationTaskExecutorIT method: testCreatesEisChatCompletionEndpoint issue: https://github.com/elastic/elasticsearch/issues/140849 diff --git a/x-pack/plugin/esql/compute/src/main/java/org/elasticsearch/compute/data/BreakingTDigestHolder.java b/x-pack/plugin/esql/compute/src/main/java/org/elasticsearch/compute/data/BreakingTDigestHolder.java index 3ebab87bc58ce..05db791609f1b 100644 --- a/x-pack/plugin/esql/compute/src/main/java/org/elasticsearch/compute/data/BreakingTDigestHolder.java +++ b/x-pack/plugin/esql/compute/src/main/java/org/elasticsearch/compute/data/BreakingTDigestHolder.java @@ -96,8 +96,17 @@ private static class BreakingBytesStreamOutput extends StreamOutput implements R BreakingBytesStreamOutput(CircuitBreaker breaker) { this.breaker = breaker; - this.delegate = new BreakingBytesRefBuilder(breaker, CIRCUIT_BREAKER_LABEL); - breaker.addEstimateBytesAndMaybeBreak(SHALLOW_SIZE, CIRCUIT_BREAKER_LABEL); + BreakingBytesRefBuilder delegate = new BreakingBytesRefBuilder(breaker, CIRCUIT_BREAKER_LABEL); + boolean success = false; + try { + breaker.addEstimateBytesAndMaybeBreak(SHALLOW_SIZE, CIRCUIT_BREAKER_LABEL); + success = true; + } finally { + if (success == false) { + Releasables.close(delegate); + } + } + this.delegate = delegate; } void clear() { diff --git a/x-pack/plugin/esql/compute/src/test/java/org/elasticsearch/compute/data/BreakingTDigestHolderTests.java b/x-pack/plugin/esql/compute/src/test/java/org/elasticsearch/compute/data/BreakingTDigestHolderTests.java index 1c2eb581b86b1..1f30cf029638b 100644 --- a/x-pack/plugin/esql/compute/src/test/java/org/elasticsearch/compute/data/BreakingTDigestHolderTests.java +++ b/x-pack/plugin/esql/compute/src/test/java/org/elasticsearch/compute/data/BreakingTDigestHolderTests.java @@ -111,6 +111,7 @@ public void testCrankyCircuitBreaker() { } } }); + assertThat(breaker.getUsed(), equalTo(0L)); } private TDigestHolder randomStandaloneTDigestHolder() {