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]
