FrankChen021 commented on PR #19909:
URL: https://github.com/apache/druid/pull/19909#issuecomment-5210586870

   ## Self-contained JUnit 5 helper follow-up
   
   Failure evidence from the original PR head 
`738ffbba9fc2e513eb1347d1fa793fedb791b0f7`:
   
   - The [QTest CI 
run](https://github.com/apache/druid/actions/runs/31134362585), job 
[92730410803](https://github.com/apache/druid/actions/runs/31134362585/job/92730410803),
 failed `druid-multi-stage-query` test compilation with the exact missing API:
     ```
     MSQTestBase.java:[513,71] cannot find symbol
       symbol: method makeQueryRunnerFactory(ObjectMapper, GroupByQueryConfig, 
TestGroupByBuffers)
       location: class GroupByQueryRunnerTestHelper
     MSQCompactionTaskRunTest.java:[248,65] cannot find symbol
       symbol: method makeQueryRunnerFactory(ObjectMapper, GroupByQueryConfig, 
TestGroupByBuffers)
     MSQTaskQueryMakerTest.java:[197,50] cannot find symbol
       symbol: method makeQueryRunnerFactory(ObjectMapper, GroupByQueryConfig, 
TestGroupByBuffers)
     ```
   - The same CI compilation also reported 
`MSQCompactionTaskRunTest.java:[217,22] cannot access 
org.junit.rules.ExternalResource`. This is the separate shared indexing-service 
fixture boundary: `CompactionTaskRunBase` still exposes JUnit 4 
`TaskActionTestKit`.
   
   Fix in 
[dd94dd93539b6f1241bb2911f7308fb7228bdd10](https://github.com/apache/druid/commit/dd94dd93539b6f1241bb2911f7308fb7228bdd10):
   
   - Added the minimal JUnit 5-safe 
`GroupByQueryRunnerTestHelper.makeQueryRunnerFactory(ObjectMapper, 
GroupByQueryConfig, TestGroupByBuffers)` API and its test configuration 
constants to the existing processing test helper, following the isolated helper 
change from [PR #19875](https://github.com/apache/druid/pull/19875).
   - Updated `TestGroupByBuffers.createDefault()` to use that helper's 
processing config, so the migrated consumers do not load the JUnit 4 
`GroupByQueryRunnerTest` class.
   - No processing production changes, SQL/MSQ/Quidem POM changes, JUnit 4 or 
Hamcrest compatibility dependencies, or consumer refactors were added.
   
   Validation:
   
   - Before the fix, `mvn -ntp -pl multi-stage-query -am test-compile 
-DskipTests -Pskip-static-checks -Dweb.console.skip=true -T1C` reproduced all 
three missing-method diagnostics above plus the `ExternalResource` diagnostic.
   - After the fix, the same command removed all three missing-method 
diagnostics; processing test compilation completed, and only the separate 
`ExternalResource` diagnostic at `MSQCompactionTaskRunTest.java:[217,22]` 
remains.
   - Focused tests passed: processing `GroupByResourcesReservationPoolTest` (3 
run, 1 skipped), SQL `SqlQueryPlusTest` + `SqlRowTransformerTest` (6/6), Quidem 
`LauncherSmokeTest` (2/2), and filtered `QTest` `qaWin/basics_group_by.all` 
(4/4).
   - Checkstyle, PMD, SpotBugs (0 bugs/0 errors), Enforcer, 
`dev/validate-junit5-usage`, and `git diff --check` passed for the scoped 
modules. SQL/Quidem/MSQ source and POM audits found no non-Jupiter JUnit or 
Hamcrest references; the effective dependency audit resolved none of the 
forbidden JUnit 4/Vintage/migration-support/Hamcrest artifacts. Processing 
forbidden-API test scanning reported 0 errors; the MSQ forbidden-API scan could 
not complete because the remaining compile blocker left the test output 
incomplete.
   
   The remaining `ExternalResource` failure is owned by the shared indexing 
migration tracked in [PR #19910](https://github.com/apache/druid/pull/19910), 
not by the GroupBy helper API. I left it untouched to preserve #19909's 
no-JUnit4/no-Hamcrest scope. This fix addresses the self-contained portion of 
[issue #13948](https://github.com/apache/druid/issues/13948).


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to