FrankChen021 commented on issue #13948:
URL: https://github.com/apache/druid/issues/13948#issuecomment-5311580979

   ## Updated JUnit 5 migration plan
   
   The plan was refreshed against the latest `master` (`cea0d99504`, August 17, 
2026).
   
   The following migration work is already merged:
   
   - [#19875](https://github.com/apache/druid/pull/19875): selected 
`extensions-core` tests.
   - [#19908](https://github.com/apache/druid/pull/19908): extensions-contrib 
tests plus shared processing `TestHelper` and group-by support.
   - [#19909](https://github.com/apache/druid/pull/19909) and 
[#19939](https://github.com/apache/druid/pull/19939): SQL leaf/core migrations.
   - [#19910](https://github.com/apache/druid/pull/19910), 
[#19920](https://github.com/apache/druid/pull/19920), 
[#19922](https://github.com/apache/druid/pull/19922), 
[#19923](https://github.com/apache/druid/pull/19923), 
[#19925](https://github.com/apache/druid/pull/19925), and 
[#19926](https://github.com/apache/druid/pull/19926): indexing-service/indexing 
migrations.
   - [#19940](https://github.com/apache/druid/pull/19940), 
[#19981](https://github.com/apache/druid/pull/19981), and 
[#19982](https://github.com/apache/druid/pull/19982): processing migration 
batches and shared JUnit 5 extensions.
   
   The original large server migration 
[#19911](https://github.com/apache/druid/pull/19911) was closed without 
merging. The latest `master` still contains the following JUnit 4 or Hamcrest 
source usage:
   
   | Module | Source files |
   |---|---:|
   | `server` | 379 |
   | `services` | 20 |
   | `embedded-tests` | 17 |
   
   ### Remaining server migration batches
   
   | PR | Scope | Approximate files |
   |---|---|---:|
   | PR1 | Remaining shared server-fixture adaptations, client/query tests, and 
query-serving tests | 70–80 |
   | PR2 | Metadata, segment metadata, catalog, Guice, lookup, and server 
indexing tests | 70–80 |
   | PR3 | Remaining segment tests, RPC, Curator, discovery, messages, and 
general initialization | 65–75 |
   | PR4 | Coordinator tests, duties, rules, loading, balancing, simulations, 
and compaction | 70–80 |
   | PR5 | Server coordination, metrics, logging, security, scheduling, broker, 
audit, and remaining server tests | 70–80 |
   | PR6 | `services`, `embedded-tests`, HTTP, and Jetty/server initialization 
tests | 70–80 |
   
   The shared-fixture portion of PR1 is now small because the processing 
helpers are already on `master`. PR1 only needs to address the remaining server 
cross-module cases:
   
   - make `QueryStackTests` and its consumers use 
`GroupByQueryRunnerTestHelper` instead of the JUnit 4-based 
`GroupByQueryRunnerTest`;
   - preserve or improve the Jupiter-compatible Derby connector while retaining 
the legacy rule adapter; and
   - migrate the client/query tests that consume these fixtures.
   
   ### Dependency structure
   
   Under this six-PR plan, PR1 is the only prerequisite. PR2–PR6 are 
independent siblings and should each branch directly from `master` after PR1 
merges. They must not be stacked on one another.
   
   ```text
   PR1: shared server fixtures + first server batch
                            |
                    merged into master
                /      /      |      \      \
              PR2    PR3     PR4     PR5     PR6
                \      \      |      /      /
                       final cleanup
   ```
   
   If all six migration PRs must be completely independent, the remaining 
shared server-fixture changes should first be extracted into a separate small 
foundation PR. Then PR1–PR6 can all branch from the updated `master`, at the 
cost of one additional prerequisite PR.
   
   JUnit 4, Vintage, migration-support, and Hamcrest dependencies must remain 
until the remaining processing Batch 4 
([#19980](https://github.com/apache/druid/pull/19980)), MSQ, indexing-service, 
server, services, and embedded tests are migrated. The final cleanup PR will 
then remove those dependencies, the obsolete OpenRewrite migration rule, and 
`dev/validate-junit5-usage` after a repository-wide audit and static-check run.
   


-- 
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