nevzheng opened a new pull request, #13517:
URL: https://github.com/apache/gravitino/pull/13517

   ### What changes were proposed in this pull request?
   
   This pull request splits `core` testing into explicit unit, H2, MySQL, and 
PostgreSQL lanes so each lane has independent ownership, results, timing 
evidence, and coverage input.
   
   It:
   
   - adds dedicated Gradle tasks with single-backend selection and sequential 
database execution;
   - preserves legacy `:core:test` behavior for local compatibility;
   - records normalized test-identity manifests and reconciles the three 
database contracts;
   - verifies that legacy execution is the exact multiset union of the split 
lanes;
   - publishes separate JUnit, HTML, timing, identity, and raw JaCoCo 
artifacts; and
   - extends #13495 with six build shards and generates one combined core 
coverage report from raw execution data.
   
   Because #13495 is still open, this pull request temporarily contains its 
exact head commits. After #13495 merges, the branch will be rebased so this 
pull request contains only the #13516 delta.
   
   ### Why are the changes needed?
   
   The existing `:core:test` task combines unit tests with three database 
backends. That makes ownership, timing, failures, and coverage inputs difficult 
to inspect independently, and it prevents safe follow-up concurrency work.
   
   This change establishes explicit boundaries and fail-closed equivalence 
checks before further database-test optimization.
   
   Fix: #13516
   
   Related to: #13515, #13495, #13471, and #12584.
   
   ### Does this PR introduce _any_ user-facing change?
   
   No. There are no production API, storage-format, or user-facing 
configuration changes.
   
   The new `gravitino.core.test.backend` system property and Gradle tasks are 
test-only interfaces. Legacy `:core:test` remains available.
   
   ### How was this patch tested?
   
   Completed locally:
   
   - `python3 -B -m unittest discover -s dev/ci/tests -p 
'test_core_test_identity.py'` — 9 tests passed.
   - `./gradlew :core:spotlessCheck :core:compileTestJava -PskipWeb=true 
-PskipDockerTests=true`
   - `./gradlew :core:coreUnitTest -PskipWeb=true -PskipDockerTests=true` — 
1,961 tests passed.
   - `./gradlew :core:coreH2Test -PskipWeb=true -PskipDockerTests=true` — 519 
tests passed.
   - Unit/H2 normalized identity intersection — zero.
   - `./gradlew rat -PskipWeb=true`
   - `bash -n dev/ci/test-shards.sh`
   - `actionlint .github/workflows/build.yml`
   - Simulated merge of current `upstream/main` and the exact #13495 head, 
followed by compilation and range-diff verification.
   
   ### Appendix: local proof data
   
   TBD — MySQL and PostgreSQL lane results, four-lane identity reconciliation, 
legacy partition comparison, and combined JaCoCo evidence are being collected 
locally and will be added as soon as they complete.
   


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

Reply via email to