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

   ### What changes were proposed in this pull request?
   
   Add 18 backend concurrency cases using the existing H2, MySQL and PostgreSQL 
test lanes:
   
   - Stale updates and two-renames-plus-create collisions for catalog, schema, 
table, fileset, topic, view and function.
   - Four model-version registrations that observe the same model before 
reserving version numbers.
   - Concurrent same-ID table overwrites with complete column/property 
snapshots.
   - User/group membership updates after a competing delete, including physical 
active-relation checks.
   
   Use latches/barriers and separate thread-bound JDBC sessions, bypassing 
manager tree locks. Naming-race losers must be name/OCC conflicts or database 
serialization/deadlock victims; arbitrary failures are rejected. The overwrite 
case synchronizes entry, while the database may serialize the writes.
   
   ### Why are the changes needed?
   
   These stress-tested store guarantees need repeatable regression coverage in 
CI. The seven entity types above are the original report's scope, not every 
EntityType. Existing cascade/create fences, owner/tag/privilege fences and 
aggregate-read/cache tests remain in their own suites and were included in 
validation.
   
   Part of #13853: concurrency-test coverage only. The epic remains open. This 
PR is based directly on main and does not depend on #14317 or #14319.
   
   ### Does this PR introduce _any_ user-facing change?
   
   No. Test-only changes; no production code, schema, configuration or workflow 
changes.
   
   ### How was this patch tested?
   
   - All 18 new cases passed on H2, MySQL and PostgreSQL (54 executions).
   - TestCoreLaneMembership passed; the Docker-tagged class inherits all three 
backend tags. H2 can run without Docker, while the MySQL/PostgreSQL lanes 
require it.
   - 172 relevant executions passed: 54 new cases, 117 existing 
cascade/relation/aggregate-read regressions across the three backends, and one 
lane-membership check. No unfiltered core test suite was run.
   - Three independent mutants were detected: removing the table CAS predicate, 
disabling the model allocator increment, and injecting an early conflict before 
the updater observes its snapshot.
   - Restoring the committed sources passes all 18 H2 cases, the lane check and 
Spotless again. Fresh-context review passed with no outstanding findings.
   


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