imbajin opened a new pull request, #3393: URL: https://github.com/apache/hugegraph/pull/3393
## Purpose of the PR Fix worker failure reporting and sort/shuffle resource ownership after the Java 17 upgrade, while reusing existing implementations and preserving external compatibility. ## Main Changes | Trigger | Before | After | | --- | --- | --- | | An algorithm worker or commit callback fails | The job can miss the failure, retry its callback, or leave a producer blocked | Shared consumers report the failure, run completion once, and release blocked producers | | A small Store shuffle or repeated iterator probe | Results can be unsorted or records can be skipped | Both memory and disk paths respect the comparator and iterator contract | | A shuffle read or cleanup fails | Truncated input can look like EOF; readers and spill files can remain open | Read failures propagate and owned resources close, preserving the first failure | | PD connection waits are interrupted or snapshots are synced | Interrupts are lost and ZIP metadata can be written after sync | Interrupted work is cancelled with the flag retained; the complete archive is synced | Also replace deprecated task reflection with constructor reflection, preserve errors without messages, use JDK stream/cleanup APIs, and remove duplicated deprecated compiler configuration. Commons keeps its Java 11 bytecode target. REST/Gremlin APIs, configuration, RPC definitions and persisted formats are unchanged. ## Verifying these changes - [ ] Trivial rework / code cleanup without any test coverage. (No Need) - [x] Existing consumer, traversal and task-scheduler regressions pass. - [x] Added regression coverage for algorithm failure/interrupt handling, PD waits and archive checksums, shuffle ordering, malformed records, and reader/filter cleanup. Validated with Java 17: repository formatting, full `clean compile`, focused Server unit tests, PD core test selection and Store core test selection. An 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: error propagation, cancellation and resource 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](../blob/master/docs/storage-lifecycle.md), including algorithm workers, Store shuffles, PD waits and snapshot I/O. 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]
