imbajin opened a new pull request, #3308:
URL: https://github.com/apache/hugegraph/pull/3308

   ## Purpose
   
   Deleting a graph could remove its configuration or registration before the 
local task scheduler finished closing. Pending tasks or an incomplete close 
then left deletion partially applied and difficult to retry. Deletion now 
requires local scheduler shutdown before destructive cleanup and retains 
registrations when graph closure fails, allowing an explicit retry.
   
   ![Pending tasks and explicit graph-deletion 
retry](https://raw.githubusercontent.com/hugegraph/hugegraph-toolchain/6179901154be03ce3eac0b55302890f62b34cbf6/images/pending-delete-v2.png)
   
   ## Main changes
   
   - Reject destructive graph deletion until the local scheduler acknowledges 
shutdown; retain configuration, data and registrations while tasks are still 
draining.
   - Fence new local task admission during scheduler closure and include queued 
dispatches in the existing task accounting.
   - Keep task reservations until execution and owner cleanup finish; run 
cancellation callbacks outside the request thread so they cannot close its 
transaction.
   - Preserve registrations and propagate errors from incomplete graph closure. 
Retry skips completed cleanup; it does not roll back data or metadata already 
removed during a later failure.
   - Document explicit retry and the limits of remote notifications. No 
automatic notification replay or cluster-wide admission protocol is added.
   
   ## Verification
   
   Focused Maven reactor tests pass using real in-memory graphs and 
transactions. They cover deletion refusal, explicit retry, authorization, 
graph-space cleanup, queued work, cancellation callbacks, caller transactions 
and admission races. Reverting the relevant fixes reproduces registration loss, 
premature task-accounting release and caller-transaction closure. EditorConfig, 
Checkstyle and the affected reactor compilation pass.
   
   ## Documentation
   
   The retry contract is documented in `docs/server-runtime.md`.
   


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