From 0680cdeb3f8c1733ba1f981c914caa29aea1c083 Mon Sep 17 00:00:00 2001 From: Frank Chen Date: Mon, 3 Aug 2026 20:27:30 +0800 Subject: [PATCH 1/3] test(processing): reduce IndexIOTest Surefire overhead --- pom.xml | 3 + .../org/apache/druid/segment/IndexIOTest.java | 82 +++++++------------ 2 files changed, 33 insertions(+), 52 deletions(-) diff --git a/pom.xml b/pom.xml index 440d3f523931..b941b94da10b 100644 --- a/pom.xml +++ b/pom.xml @@ -2062,6 +2062,9 @@ ${surefire.trimStackTrace} true + + true + diff --git a/processing/src/test/java/org/apache/druid/segment/IndexIOTest.java b/processing/src/test/java/org/apache/druid/segment/IndexIOTest.java index 55a2fc50b5b2..a9d3f2bc82cd 100644 --- a/processing/src/test/java/org/apache/druid/segment/IndexIOTest.java +++ b/processing/src/test/java/org/apache/druid/segment/IndexIOTest.java @@ -41,10 +41,7 @@ import org.apache.druid.testing.InitializedNullHandlingTest; import org.joda.time.Interval; import org.junit.jupiter.api.Assertions; -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Test; -import org.junit.jupiter.params.Parameter; -import org.junit.jupiter.params.ParameterizedClass; +import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.MethodSource; import javax.annotation.Nullable; @@ -63,8 +60,6 @@ /** * This is mostly a test of the validator */ -@ParameterizedClass -@MethodSource("constructionFeeder") public class IndexIOTest extends InitializedNullHandlingTest { private static Interval DEFAULT_INTERVAL = Intervals.of("1970-01-01/2000-01-01"); @@ -236,48 +231,35 @@ public static List filterNullValues(List> mapList) return Lists.transform(mapList, (Function) input -> Maps.filterValues(input, Objects::nonNull)); } - @Parameter(0) - public Collection> events1; - - @Parameter(1) - public Collection> events2; - - @Parameter(2) - public Class exception; - - - final IncrementalIndex incrementalIndex1 = new OnheapIncrementalIndex.Builder() - .setIndexSchema( - new IncrementalIndexSchema.Builder() - .withMinTimestamp(DEFAULT_INTERVAL.getStart().getMillis()) - .withMetrics(new CountAggregatorFactory("count")) - .withDimensionsSpec( - new DimensionsSpec(DimensionsSpec.getDefaultSchemas(Arrays.asList("dim0", "dim1"))) - ) - .build() - ) - .setMaxRowCount(1000000) - .build(); - - final IncrementalIndex incrementalIndex2 = new OnheapIncrementalIndex.Builder() - .setIndexSchema( - new IncrementalIndexSchema.Builder() - .withMinTimestamp(DEFAULT_INTERVAL.getStart().getMillis()) - .withMetrics(new CountAggregatorFactory("count")) - .withDimensionsSpec( - new DimensionsSpec(DimensionsSpec.getDefaultSchemas(Arrays.asList("dim0", "dim1"))) - ) - .build() - ) - .setMaxRowCount(1000000) - .build(); - - IndexableAdapter adapter1; - IndexableAdapter adapter2; + private static IncrementalIndex createIncrementalIndex() + { + return new OnheapIncrementalIndex.Builder() + .setIndexSchema( + new IncrementalIndexSchema.Builder() + .withMinTimestamp(DEFAULT_INTERVAL.getStart().getMillis()) + .withMetrics(new CountAggregatorFactory("count")) + .withDimensionsSpec( + new DimensionsSpec(DimensionsSpec.getDefaultSchemas(Arrays.asList("dim0", "dim1"))) + ) + .build() + ) + .setMaxRowCount(1000000) + .build(); + } - @BeforeEach - public void setUp() + @ParameterizedTest( + name = "[{index}] schema={0}, rows={1}, dimensions={2}" + ) + @MethodSource("constructionFeeder") + public void testRowValidatorEquals( + Collection> events1, + Collection> events2, + Class exception + ) throws Exception { + final IncrementalIndex incrementalIndex1 = createIncrementalIndex(); + final IncrementalIndex incrementalIndex2 = createIncrementalIndex(); + long timestamp = 0L; for (Map event : events1) { incrementalIndex1.add(new MapBasedInputRow(timestamp++, Lists.newArrayList(event.keySet()), event)); @@ -288,22 +270,18 @@ public void setUp() incrementalIndex2.add(new MapBasedInputRow(timestamp++, Lists.newArrayList(event.keySet()), event)); } - adapter2 = new IncrementalIndexAdapter( + final IndexableAdapter adapter2 = new IncrementalIndexAdapter( DEFAULT_INTERVAL, incrementalIndex2, INDEX_SPEC.getBitmapSerdeFactory().getBitmapFactory() ); - adapter1 = new IncrementalIndexAdapter( + final IndexableAdapter adapter1 = new IncrementalIndexAdapter( DEFAULT_INTERVAL, incrementalIndex1, INDEX_SPEC.getBitmapSerdeFactory().getBitmapFactory() ); - } - @Test - public void testRowValidatorEquals() throws Exception - { Exception ex = null; try { TestHelper.getTestIndexIO().validateTwoSegments(adapter1, adapter2); From 86f72aeb9af7948d39d931ca3e57d1d2a8c017da Mon Sep 17 00:00:00 2001 From: Frank Chen Date: Mon, 3 Aug 2026 20:54:00 +0800 Subject: [PATCH 2/3] test(processing): use default IndexIOTest parameter names --- .../src/test/java/org/apache/druid/segment/IndexIOTest.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/processing/src/test/java/org/apache/druid/segment/IndexIOTest.java b/processing/src/test/java/org/apache/druid/segment/IndexIOTest.java index a9d3f2bc82cd..11a898327f95 100644 --- a/processing/src/test/java/org/apache/druid/segment/IndexIOTest.java +++ b/processing/src/test/java/org/apache/druid/segment/IndexIOTest.java @@ -247,9 +247,7 @@ private static IncrementalIndex createIncrementalIndex() .build(); } - @ParameterizedTest( - name = "[{index}] schema={0}, rows={1}, dimensions={2}" - ) + @ParameterizedTest @MethodSource("constructionFeeder") public void testRowValidatorEquals( Collection> events1, From c03dec14dd7fef20989290563624454d0a719055 Mon Sep 17 00:00:00 2001 From: Frank Chen Date: Mon, 3 Aug 2026 20:55:31 +0800 Subject: [PATCH 3/3] build: restore default Surefire XML reporting --- pom.xml | 3 --- 1 file changed, 3 deletions(-) diff --git a/pom.xml b/pom.xml index b941b94da10b..440d3f523931 100644 --- a/pom.xml +++ b/pom.xml @@ -2062,9 +2062,6 @@ ${surefire.trimStackTrace} true - - true -