diff --git a/modules/core/src/test/java/org/apache/ignite/internal/metric/JmxExporterSpiTest.java b/modules/core/src/test/java/org/apache/ignite/internal/metric/JmxExporterSpiTest.java index 5f3c920703601..9e7f4f69d0bd3 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/metric/JmxExporterSpiTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/metric/JmxExporterSpiTest.java @@ -1068,25 +1068,26 @@ private void checkStripeExecutorView(IgniteStripedExecutor execSvc, String viewN execSvc.execute(1, new TestRunnable(latch, 3)); try { - boolean res = waitForCondition(() -> systemView(viewName).size() == 2, 5_000); + assertTrue(waitForCondition(() -> systemView(viewName).size() >= 2, 5_000)); - assertTrue(res); + Set taskStripeIdxs = new HashSet<>(); + + for (Map.Entry entry : systemView(viewName).entrySet()) { + CompositeData row = (CompositeData)entry.getValue(); - TabularDataSupport view = systemView(viewName); + int stripeIdx = (int)row.get("stripeIndex"); + assertEquals(poolName + "-stripe-" + stripeIdx, row.get("threadName")); - CompositeData row0 = view.get(new Object[] {0}); + String desc = (String)row.get("description"); - assertEquals(0, row0.get("stripeIndex")); - assertEquals(TestRunnable.class.getSimpleName() + '1', row0.get("description")); - assertEquals(poolName + "-stripe-0", row0.get("threadName")); - assertEquals(TestRunnable.class.getName(), row0.get("taskName")); + if (desc.contains(TestRunnable.class.getSimpleName())) { + assertEquals(TestRunnable.class.getName(), row.get("taskName")); - CompositeData row1 = view.get(new Object[] {1}); + taskStripeIdxs.add(stripeIdx); + } + } - assertEquals(1, row1.get("stripeIndex")); - assertEquals(TestRunnable.class.getSimpleName() + '3', row1.get("description")); - assertEquals(poolName + "-stripe-1", row1.get("threadName")); - assertEquals(TestRunnable.class.getName(), row1.get("taskName")); + assertTrue(taskStripeIdxs.toString(), taskStripeIdxs.size() >= 2); } finally { latch.countDown();