andyhuangdev opened a new pull request, #11819:
URL: https://github.com/apache/ozone/pull/11819

   ## What changes were proposed in this pull request?
   
   SCMSnapshotProvider.getSCMDBSnapshot currently sets the thread interrupt 
flag for both ExecutionException and InterruptedException. As a result, an 
ordinary checkpoint download failure incorrectly marks the calling thread as 
interrupted.
   
   This patch separates the exception handlers so that only 
InterruptedException restores the interrupt flag. Logging and IOException 
wrapping remain unchanged.
   
   The current snapshot installation task returns immediately after a failed 
download, limiting the immediate impact. The fix prevents incorrect 
interruption of blocking operations added later to the same task.
   
   ## What is the link to the Apache JIRA
   
   [HDDS-16919](https://issues.apache.org/jira/browse/HDDS-16919)
   
   ## How was this patch tested?
   
   Added deterministic regression tests using controlled futures to verify that 
failed downloads do not set the interrupt flag and interrupted downloads 
preserve it. Before the fix, the failed-download test failed as expected.
   
   - Passed all 25 tests in TestSCMSnapshotProvider, TestSCMStateMachine, and 
TestSCMHAManagerImpl.
   - Passed ./hadoop-ozone/dev-support/checks/checkstyle.sh.
   - Passed git diff --check.


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