From f49e252d50a205c9cd277b44e9b5d4e62c117ddb Mon Sep 17 00:00:00 2001 From: Artem Prigoda Date: Mon, 19 Feb 2024 20:01:35 +0100 Subject: [PATCH] Don't fail on BrokenBarrierException If the barrier has been reset that means the test has already completed and we don't care about node connection attempts and shouldn't throw an assertion error and fail the test Resolve #105556 --- .../cluster/NodeConnectionsServiceTests.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/server/src/test/java/org/elasticsearch/cluster/NodeConnectionsServiceTests.java b/server/src/test/java/org/elasticsearch/cluster/NodeConnectionsServiceTests.java index 85e16821ecb96..755c1c98c91f6 100644 --- a/server/src/test/java/org/elasticsearch/cluster/NodeConnectionsServiceTests.java +++ b/server/src/test/java/org/elasticsearch/cluster/NodeConnectionsServiceTests.java @@ -54,6 +54,7 @@ import java.util.List; import java.util.Map; import java.util.Set; +import java.util.concurrent.BrokenBarrierException; import java.util.concurrent.CountDownLatch; import java.util.concurrent.CyclicBarrier; import java.util.concurrent.Semaphore; @@ -266,7 +267,13 @@ public void onNodeDisconnected(DiscoveryNode node, Transport.Connection connecti // connection attempts to node0 block indefinitely final CyclicBarrier connectionBarrier = new CyclicBarrier(2); try { - nodeConnectionBlocks.put(node0, () -> connectionBarrier.await(10, TimeUnit.SECONDS)); + nodeConnectionBlocks.put(node0, () -> { + try { + connectionBarrier.await(10, TimeUnit.SECONDS); + } catch (BrokenBarrierException e) { + logger.warn("Broken barrier", e); + } + }); transportService.disconnectFromNode(node0); // can still connect to another node without blocking