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

   Generated-by: Claude Code (Opus 5.5)
   
   ## What changes were proposed in this pull request?
   
   `ReconTaskStatusUpdater.recordRunStart()` and `recordRunCompletion()` 
already treat a `DataAccessException` from the `RECON_TASK_STATUS` write as non 
fatal, but `updateDetails()` does not. `OzoneManagerServiceProviderImpl` calls 
`updateDetails()` directly in two places, so a failed status write escapes into 
the OM sync logic:
   
   1. In the delta sync loop, the exception lands in the generic `catch 
(Exception e)`, which falls back to a full OM DB snapshot and a reprocess of 
all tasks.
   2. In `executeFullSnapshot()`, after the new snapshot is installed, the 
exception skips `updateOMMetadataManager()` and the task reinitialization event.
   
   This PR moves the `DataAccessException` handling into `updateDetails()`, so 
every caller treats a task status write failure as non fatal. The failure is 
logged once with the task name and the exception.
   
   ## What is the link to the Apache JIRA
   
   https://issues.apache.org/jira/browse/HDDS-17193
   
   ## How was this patch tested?
   
   * Added `TestReconTaskStatusUpdater#testDataAccessExceptionIsNotPropagated`: 
the DAO throws on insert and update, and `recordRunStart()`, `updateDetails()` 
and `recordRunCompletion()` do not throw.
   * Parameterized 
`TestOzoneManagerServiceProviderImpl#testSyncDataFromOMDeltaUpdates` with a 
case where the task status DAO throws: delta updates are still consumed and no 
full snapshot is requested.
   * Both new cases fail without the fix and pass with it.
   
   🤖 Generated with [Claude Code](https://claude.com/claude-code)
   


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