From 70452763380a5dc6a2e38dfd4095c16abefb0e37 Mon Sep 17 00:00:00 2001 From: krishnanand5 Date: Tue, 31 Oct 2023 20:47:38 -0500 Subject: [PATCH] Handling flakiness in two tests by altering the wait logic --- .../message/context/MessageIdFactoryTest.java | 32 +++++++++++-------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/cat-client/src/test/java/com/dianping/cat/message/context/MessageIdFactoryTest.java b/cat-client/src/test/java/com/dianping/cat/message/context/MessageIdFactoryTest.java index 255fe11979..3ab332b1c8 100644 --- a/cat-client/src/test/java/com/dianping/cat/message/context/MessageIdFactoryTest.java +++ b/cat-client/src/test/java/com/dianping/cat/message/context/MessageIdFactoryTest.java @@ -102,12 +102,15 @@ public void run() { pool.shutdown(); pool.awaitTermination(2000, TimeUnit.MILLISECONDS); - - int total = threads * messagesPerThread; - - Assert.assertEquals("Not all threads completed in time.", total, ids.size()); - Assert.assertEquals(true, ids.contains(String.format("default-parallel-c0a81f9e-403215-%s", total - 1))); - Assert.assertEquals(String.format("default-parallel-c0a81f9e-403215-%s", total), factory.getNextId()); + boolean finished = pool.awaitTermination(1, TimeUnit.HOURS); + if (finished) { + int total = threads * messagesPerThread; + Assert.assertEquals("Not all threads completed in time.", total, ids.size()); + Assert.assertEquals(true, ids.contains(String.format("default-parallel-c0a81f9e-403215-%s", total - 1))); + Assert.assertEquals(String.format("default-parallel-c0a81f9e-403215-%s", total), factory.getNextId()); + } else { + Assert.fail("Threads did not finish in 1 hour"); + } } @Test @@ -135,13 +138,16 @@ public void run() { pool.shutdown(); pool.awaitTermination(2000, TimeUnit.MILLISECONDS); - - int total = threads * messagesPerThread; - - Assert.assertEquals("Not all threads completed in time.", total, ids.size()); - Assert.assertEquals(true, ids.contains(String.format("given-parallel-c0a81f9e-403215-%s", total - 1))); - Assert.assertEquals(String.format("given-parallel-c0a81f9e-403215-%s", total), - factory.getNextId("given-parallel")); + boolean finished = pool.awaitTermination(1, TimeUnit.HOURS); + if (finished) { + int total = threads * messagesPerThread; + Assert.assertEquals("Not all threads completed in time.", total, ids.size()); + Assert.assertEquals(true, ids.contains(String.format("given-parallel-c0a81f9e-403215-%s", total - 1))); + Assert.assertEquals(String.format("given-parallel-c0a81f9e-403215-%s", total), + factory.getNextId("given-parallel")); + } else { + Assert.fail("Threads did not finish in 1 hour"); + } } @Test