From 8f737c6d82ce434ba711ebccb7773a9536de182f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=89=B6=E6=91=87=20=28=20Fu=20Yao=20=29?= Date: Thu, 24 Jun 2021 18:57:58 +0800 Subject: [PATCH] [ Issues 10786 ] Fixed flaky test testTransactionMetaStoreAssignAndFailover (#10786) Replaced check after sleep to `untilAsserted` and extended `atMost` time to 10 seconds(default of `Awaitility`). --- .../TransactionMetaStoreAssignmentTest.java | 25 ++++++++----------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/pulsar-broker/src/test/java/org/apache/pulsar/broker/transaction/coordinator/TransactionMetaStoreAssignmentTest.java b/pulsar-broker/src/test/java/org/apache/pulsar/broker/transaction/coordinator/TransactionMetaStoreAssignmentTest.java index cc0e185c582ba..ce173ba63d5d5 100644 --- a/pulsar-broker/src/test/java/org/apache/pulsar/broker/transaction/coordinator/TransactionMetaStoreAssignmentTest.java +++ b/pulsar-broker/src/test/java/org/apache/pulsar/broker/transaction/coordinator/TransactionMetaStoreAssignmentTest.java @@ -20,6 +20,7 @@ import java.io.IOException; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; import org.apache.pulsar.broker.PulsarService; import org.awaitility.Awaitility; @@ -32,12 +33,13 @@ public class TransactionMetaStoreAssignmentTest extends TransactionMetaStoreTest @Test(groups = "broker") public void testTransactionMetaStoreAssignAndFailover() throws IOException { - int transactionMetaStoreCount = 0; - for (PulsarService pulsarService : pulsarServices) { - transactionMetaStoreCount += pulsarService.getTransactionMetadataStoreService().getStores().size(); - } - - Assert.assertEquals(transactionMetaStoreCount, 16); + Awaitility.await() + .untilAsserted(() -> { + int transactionMetaStoreCount = Arrays.stream(pulsarServices) + .mapToInt(pulsarService -> pulsarService.getTransactionMetadataStoreService().getStores().size()) + .sum(); + Assert.assertEquals(transactionMetaStoreCount, 16); + }); PulsarService crashedMetaStore = null; for (int i = pulsarServices.length - 1; i >= 0; i--) { @@ -62,16 +64,11 @@ public void testTransactionMetaStoreAssignAndFailover() throws IOException { Awaitility.await() .untilAsserted(() -> { - - int transactionMetaStoreCount2 = 0; - for (PulsarService pulsarService : pulsarServices) { - transactionMetaStoreCount2 += pulsarService.getTransactionMetadataStoreService().getStores() - .size(); - } - + int transactionMetaStoreCount2 = Arrays.stream(pulsarServices) + .mapToInt(pulsarService -> pulsarService.getTransactionMetadataStoreService().getStores().size()) + .sum(); Assert.assertEquals(transactionMetaStoreCount2, 16); }); - transactionCoordinatorClient.close(); } }