roryqi opened a new issue, #12679:
URL: https://github.com/apache/gravitino/issues/12679

   ### Describe the subtask
   
   Track the endpoint lifecycle fencing deferred from #12579.
   
   `PolicyTagRelService.updateRelations` currently serializes updates by 
locking the Tag row and uses CAS for relation-row deletion, but it does not 
lock or CAS-fence every affected Policy endpoint. A Policy may therefore be 
modified or deleted concurrently while the relation transaction is validating 
or writing associations.
   
   - Reuse the metadata OCC token introduced by #12347 instead of directly 
incrementing the Policy `current_version`.
   - Validate and fence the live Tag and every affected Policy inside the 
relation transaction.
   - Apply relation-row CAS writes only after the endpoints have been fenced.
   - Ensure a zero-row endpoint or relation CAS rolls back the complete 
relation update.
   - Add concurrency tests for H2, MySQL, and PostgreSQL.
   
   ### Parent issue
   
   https://github.com/apache/gravitino/issues/12347


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