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

   ## Purpose of the PR
   
   A restore worker could fail while reading a damaged JSON/ZIP file or 
inserting records, yet the command would report success and clean its input 
directory. Worker failures now reach the existing CLI error path after all 
submitted work finishes, and failed restores retain their inputs.
   
   Found in the [Toolchain integration 
report](https://github.com/hugegraph/hugegraph-toolchain/pull/47#issuecomment-6064536763).
   
   
   ![tools restore: before and 
after](https://raw.githubusercontent.com/hugegraph/hugegraph-toolchain/7e0ff90eb82cf22597b40f0f97f7278ac55e5bdd/images/tools-restore.png)
   
   ## Main Changes
   
   - Propagate restore worker failures through their Futures.
   - Drain all tasks before reporting the first failure and retaining later 
failures as suppressed exceptions.
   - Preserve interruption through cleanup and cover damaged input, rejected 
writes, failure cleanup and valid empty backups. No new backup format or 
missing-file inference is added.
   
   ## Verifying these changes
   
   - [ ] Trivial rework / code cleanup without any test coverage. (No Need)
   - [ ] Already covered by existing tests.
   - [x] Need tests and can be verified as follows:
     - Targeted Java 17 Maven tests pass with actual corrupt JSON/ZIP files, 
asynchronous failures and interruption. The original production classes fail 
the corresponding negative controls.
     - The legitimate empty backup remains valid; clean=true retains input 
after a failed restore.
     - Checkstyle and three independent read-only reviews passed.
     - A packaged command against a real disposable Server and the complete 
successful restore regression remain required.
   
   ## Does this PR potentially affect the following parts?
   
   - [x] Nope
   - [ ] Dependencies
   - [ ] Modify configurations
   - [ ] The public API
   - [ ] Other affects
   
   ## Documentation Status
   
   - [ ] `Doc - TODO`
   - [ ] `Doc - Done`
   - [x] `Doc - No Need`: restores the existing CLI failure and cleanup 
contract.
   
   Organization core CI passes on the current branch. The final combined 
distribution builds against a fixed Server SDK; original-versus-fixed packaged 
CLI and recovery acceptance remains in progress.
   


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