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

   ## Purpose of the PR
   
   Follow-up to the first lifecycle cleanup: [org 
#329](https://github.com/hugegraph/hugegraph/pull/329) / [ASF 
#3393](https://github.com/apache/hugegraph/pull/3393). This branch includes 
that prerequisite while it is awaiting merge; the additional changes below are 
the second cleanup round.
   
   Keep task and query failures visible to callers, while preserving existing 
API signatures, retry budgets, negative task-ID rules and stored data formats.
   
   ## Main Changes
   
   | Trigger | Before | After |
   | --- | --- | --- |
   | Interrupt a producer waiting on a full queue | An input can be skipped 
while submission returns normally | Submission fails with the interrupt 
retained and cleanup still runs |
   | Concurrent ephemeral job scheduling | Unsynchronized ID allocation can 
reuse an ID | Atomic allocation preserves the existing negative range and 
wraparound |
   | A PD unary call exhausts its retries | A null response hides the RPC 
failure behind a later NPE | Callers receive a PDException with the RPC method 
and original cause |
   | ORDER BY fails or a converted iterator closes | Sorting errors are 
swallowed and adapters can lose resource ownership | Errors reach the query 
failure path; owned sources close once and close failures remain visible |
   
   Also retain causes when wrapping checked task errors and preserve scheduler 
failures without exception messages. Type conversion keeps stable iterator 
probes, direct `next()` calls and completion-supplier retry behavior.
   
   ## Verifying these changes
   
   - [ ] Trivial rework / code cleanup without any test coverage. (No Need)
   - [x] Existing consumer, traversal, scheduler, PD transport and 
aggregate-query lifecycle regressions pass.
   - [x] Added regression coverage for interrupted submission, task-ID 
allocation, missing error messages, PD retry/error contracts, 
converted-iterator cleanup and ORDER BY RPC failure cleanup.
   
   Validated with Java 17: repository formatting and full clean compile, 
followed by focused Server, PD and Store tests against the updated artifacts. 
Independent review found no remaining blocking issue. Multi-node cluster 
validation is not included.
   
   ## Does this PR potentially affect the following parts?
   
   - [ ] Dependencies
   - [ ] Modify configurations
   - [ ] The public API
   - [x] Other affects: failure reporting, cancellation and iterator cleanup
   - [ ] Nope
   
   ## Documentation Status
   
   - [ ] `Doc - TODO`: required documentation is pending; complete it before 
merging.
   - [x] `Doc - Done`: documentation is included here.
   - [ ] `Doc - No Need`: no user-visible documentation is affected.
   
   Documentation: [storage lifecycle 
contracts](https://github.com/hugegraph/hugegraph/blob/fix/java17-cleanup-round2/docs/storage-lifecycle.md).
 No website configuration or API-reference changes are required.
   


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