Skip to content

Migrate 7 integration tests to custom package for shared cluster setup#17857

Merged
xiangfu0 merged 1 commit intoapache:masterfrom
xiangfu0:migrate-integration-tests-to-custom-package
Mar 12, 2026
Merged

Migrate 7 integration tests to custom package for shared cluster setup#17857
xiangfu0 merged 1 commit intoapache:masterfrom
xiangfu0:migrate-integration-tests-to-custom-package

Conversation

@xiangfu0
Copy link
Contributor

@xiangfu0 xiangfu0 commented Mar 11, 2026

Summary

  • Move 7 integration tests (AggregateMetrics, BigNumberOfSegments, CLPEncodingRealtime, GroupByOptions, GroupByTrimming, RowExpression, StarTree) to org.apache.pinot.integration.tests.custom package
  • These tests now extend CustomDataQueryClusterIntegrationTest and share a single Pinot cluster via @BeforeSuite/@AfterSuite lifecycle, eliminating 7 redundant cluster startups
  • Update imports in GroupByEnableTrimOptionIntegrationTest, StarTreeFunctionParametersIntegrationTest, and MultiColumnTextIndicesTest to reference the new class locations

Test plan

  • mvn test-compile -pl pinot-integration-tests -am -DskipTests compiles successfully
  • No remaining references to old class names
  • Run custom integration test suite to verify migrated tests pass with shared cluster

🤖 Generated with Claude Code

@xiangfu0 xiangfu0 force-pushed the migrate-integration-tests-to-custom-package branch from e3c0fb0 to b37718b Compare March 11, 2026 06:47
@codecov-commenter
Copy link

codecov-commenter commented Mar 11, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 63.27%. Comparing base (f641a9c) to head (3482147).

Additional details and impacted files
@@            Coverage Diff            @@
##             master   #17857   +/-   ##
=========================================
  Coverage     63.26%   63.27%           
  Complexity     1466     1466           
=========================================
  Files          3190     3190           
  Lines        192039   192039           
  Branches      29421    29421           
=========================================
+ Hits         121492   121507   +15     
+ Misses        61026    61008   -18     
- Partials       9521     9524    +3     
Flag Coverage Δ
custom-integration1 100.00% <ø> (ø)
integration 100.00% <ø> (ø)
integration1 100.00% <ø> (ø)
integration2 0.00% <ø> (ø)
java-11 63.23% <ø> (+<0.01%) ⬆️
java-21 63.24% <ø> (+<0.01%) ⬆️
temurin 63.27% <ø> (+<0.01%) ⬆️
unittests 63.26% <ø> (+<0.01%) ⬆️
unittests1 55.55% <ø> (-0.03%) ⬇️
unittests2 34.28% <ø> (+0.02%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

…n tests to custom package

Move these tests to share a single Pinot cluster via CustomDataQueryClusterIntegrationTest
(@BeforeSuite/@AfterSuite lifecycle) instead of each test starting its own cluster. This
reduces total integration test setup time by eliminating 3 redundant cluster startups.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@xiangfu0 xiangfu0 force-pushed the migrate-integration-tests-to-custom-package branch from b37718b to 3482147 Compare March 12, 2026 05:19
@xiangfu0 xiangfu0 changed the title Migrate integration tests to custom package for shared cluster setup Migrate 7 integration tests to custom package for shared cluster setup Mar 12, 2026
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR migrates 7 Pinot integration tests into the org.apache.pinot.integration.tests.custom package so they can all run against a shared cluster lifecycle provided by CustomDataQueryClusterIntegrationTest, reducing redundant cluster startups.

Changes:

  • Moved 7 tests to org.apache.pinot.integration.tests.custom and updated them to extend CustomDataQueryClusterIntegrationTest.
  • Updated references/imports in dependent tests to point to the new class locations and helper methods.
  • Replaced the old AggregateMetricsClusterIntegrationTest with a new AggregateMetricsTest under the custom suite.

Reviewed changes

Copilot reviewed 11 out of 11 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
pinot-integration-tests/src/test/java/org/apache/pinot/integration/tests/custom/StarTreeTest.java Migrates star-tree integration test to the shared custom cluster suite and updates table/schema setup accordingly.
pinot-integration-tests/src/test/java/org/apache/pinot/integration/tests/custom/RowExpressionTest.java Migrates row-expression coverage to the shared custom cluster suite and switches queries to use the per-test table name.
pinot-integration-tests/src/test/java/org/apache/pinot/integration/tests/custom/GroupByTrimmingTest.java Migrates group-by trimming tests to shared cluster setup and updates queries/plan assertions to use the per-test table name.
pinot-integration-tests/src/test/java/org/apache/pinot/integration/tests/custom/GroupByOptionsTest.java Migrates group-by option tests to shared cluster setup and exposes helper methods used by other tests.
pinot-integration-tests/src/test/java/org/apache/pinot/integration/tests/custom/CLPEncodingRealtimeTest.java Migrates CLP realtime ingestion test to shared cluster setup and adapts schema/data creation hooks.
pinot-integration-tests/src/test/java/org/apache/pinot/integration/tests/custom/BigNumberOfSegmentsTest.java Migrates (disabled) large-segment-count test to shared cluster setup.
pinot-integration-tests/src/test/java/org/apache/pinot/integration/tests/custom/AggregateMetricsTest.java Adds aggregate-metrics realtime test to the shared custom suite, replacing the prior standalone version.
pinot-integration-tests/src/test/java/org/apache/pinot/integration/tests/custom/MultiColumnTextIndicesTest.java Updates static import to reference the moved GroupByOptionsTest helper.
pinot-integration-tests/src/test/java/org/apache/pinot/integration/tests/StarTreeFunctionParametersIntegrationTest.java Updates constant reference import to the migrated StarTreeTest.
pinot-integration-tests/src/test/java/org/apache/pinot/integration/tests/GroupByEnableTrimOptionIntegrationTest.java Updates helper method references to GroupByOptionsTest after migration.
pinot-integration-tests/src/test/java/org/apache/pinot/integration/tests/AggregateMetricsClusterIntegrationTest.java Removes the old standalone aggregate-metrics integration test.
Comments suppressed due to low confidence (2)

pinot-integration-tests/src/test/java/org/apache/pinot/integration/tests/custom/StarTreeTest.java:100

  • createSchema() opens an InputStream from the classloader but never closes it. Please wrap the stream in a try-with-resources to ensure the underlying resource is released (even in tests).
    pinot-integration-tests/src/test/java/org/apache/pinot/integration/tests/custom/BigNumberOfSegmentsTest.java:49
  • The class is disabled via @Test(..., enabled = false) here, but testCreateManySegments() is also annotated @Test(enabled = false). Keeping the disablement in only one place avoids confusion when someone tries to re-enable the test later.

You can also share your feedback on Copilot code review. Take the survey.

@xiangfu0 xiangfu0 merged commit 54bea86 into apache:master Mar 12, 2026
35 of 36 checks passed
@xiangfu0 xiangfu0 deleted the migrate-integration-tests-to-custom-package branch March 12, 2026 08:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants