From 10c6e954b489abc456b437fddc1d31b022755f65 Mon Sep 17 00:00:00 2001 From: Makarand Milind Hinge Date: Fri, 27 Feb 2026 00:17:11 +0530 Subject: [PATCH] [WAYANG-594] Fix flaky test in TensorflowIrisScalaLikeApiIT Replace invalid random comparator (sort(e -> r.nextInt())) with a stable random-key shuffle to satisfy the comparator contract and eliminate intermittent test failures. --- .../apache/wayang/tests/TensorflowIrisScalaLikeApiIT.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/wayang-tests-integration/src/test/java/org/apache/wayang/tests/TensorflowIrisScalaLikeApiIT.java b/wayang-tests-integration/src/test/java/org/apache/wayang/tests/TensorflowIrisScalaLikeApiIT.java index 39abf922a..47e23ec4f 100644 --- a/wayang-tests-integration/src/test/java/org/apache/wayang/tests/TensorflowIrisScalaLikeApiIT.java +++ b/wayang-tests-integration/src/test/java/org/apache/wayang/tests/TensorflowIrisScalaLikeApiIT.java @@ -160,8 +160,13 @@ void test() { DataQuantaBuilder textFileSource = plan.readTextFile(uri.toString()); if (random) { + // Assign random keys for shuffling, then sort by those keys + // This avoids comparator contract violations from r.nextInt() Random r = new Random(); - textFileSource = textFileSource.sort(e -> r.nextInt()); + textFileSource = textFileSource + .map(line -> new Tuple<>(r.nextDouble(), line)) + .sort(tuple -> tuple.field0) + .map(tuple -> tuple.field1); } MapDataQuantaBuilder> mapXY = textFileSource.map(line -> {