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

   ### Describe the subtask
   
   **Priority:** P0 (C1)
   
   **Problem:** `EntityStore` states nothing about concurrency. Callers depend 
on `update` throwing `OptimisticLockException` when a concurrent write wins, 
but the Javadoc lists only `NoSuchEntityException` and 
`EntityAlreadyExistsException`, and it does not say which methods are atomic. 
Callers guess and defend on their own, and an implementer can only 
reverse-engineer `RelationalEntityStore`; a Lance test double re-implements the 
behavior by hand.
   
   **Scope:** - For each method, state whether it is atomic and what a 
concurrent writer can observe.
   - For each write method, state the outcome of each conflict: 
`OptimisticLockException` for a lost concurrent update or delete, 
`EntityAlreadyExistsException` for a strict create, `NoSuchEntityException` or 
`false` for a missing entity.
   - State that the store never retries a conflicting write for the caller.
   - Add contract tests for these outcomes, run against `RelationalEntityStore` 
on H2, MySQL and PostgreSQL.
   
   ### Parent issue
   
   #13621
   


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