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

   ## Purpose of the PR
   
   Follow up on [ASF #3303](https://github.com/apache/hugegraph/pull/3303) and 
[the cancellation review 
feedback](https://github.com/hugegraph/hugegraph/pull/280#discussion_r4240430733).
   
   Before, a batch-scan half-close or receipt could wait for a slow iterator 
while holding the request manager lock. Later transport cancellation then 
waited for that lock and could not reach the reader interrupt.
   
   ## Main Changes
   
   Keep request state and worker publication under the manager lock; perform 
worker scheduling, notification and cleanup after releasing it. Cancellation 
can now interrupt an interruptible reader while half-close is waiting. Native 
RocksDB calls retain their existing cooperative cancellation limits.
   
   ## Verifying these changes
   
   - [x] Need tests and can be verified as follows:
     - The actual Store service/context regression fails before the fix and 
passes after it, requiring interruption and iterator/owner cleanup before 
fallback release.
     - Existing Store lifecycle, half-close and shutdown tests pass against 
this worktree's reactor targets.
     - JDK 17 root compile, EditorConfig formatting and diff checks pass.
   
   ## Does this PR potentially affect the following parts?
   
   - [ ] Dependencies
   - [ ] Modify configurations
   - [ ] The public API
   - [x] Other affects: Store batch-scan cancellation during a slow read.
   - [ ] Nope
   
   ## Documentation Status
   
   - [x] `Doc - Done`: `docs/storage-lifecycle.md` describes the manager-lock 
boundary.
   


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