hemantk-12 opened a new pull request, #6456:
URL: https://github.com/apache/ozone/pull/6456

   ## What changes were proposed in this pull request?
   SstFilteringService marks the sstFilter flag for a snapshot and updates the 
RocksDB, 
[code](https://github.com/apache/ozone/blob/2f2234c7b61714404399ada8f31b3fb4772b613a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/SstFilteringService.java#L123).
 It may cause snapshot chain corruption (probably not after the fix: 
https://github.com/apache/ozone/pull/6443) or data inconsistency due to race 
condition because SstFilteringService updates snapshot info in parallel to 
SnapshotPurge and SnapshotProperty which also update snapshot info. Even tho 
SstFilteringService takes a lock before updating snapshotInfo, SnapshotPurge, 
and SnapshotProperty APIs don't take a lock and rely on OMStateMachine because 
OMStateMachine is going to process each request sequentially.
   In general, each update to snapshotInfoTable should go through API but that 
is not possible for SstFilteringService because SstFilteringService runs on 
each OM independently.
   
   This change introduces locks to achieve synchronization among snapshot 
purge, set snapshot property, and SstFilteringService.
   
   ## What is the link to the Apache JIRA
   HDDS-10590
   
   ## How was this patch tested?
   Existing unit tests.
   


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