[
https://issues.apache.org/jira/browse/HDDS-11075?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Arpit Agarwal resolved HDDS-11075.
----------------------------------
Resolution: Resolved
> Move SstFiltered flag to another SnapshotProperties table
> ---------------------------------------------------------
>
> Key: HDDS-11075
> URL: https://issues.apache.org/jira/browse/HDDS-11075
> Project: Apache Ozone
> Issue Type: Sub-task
> Components: Ozone Manager
> Reporter: Swaminathan Balachandran
> Assignee: Swaminathan Balachandran
> Priority: Major
>
> SstFiltering service directly updates the snapshotInfo and doesn't go through
> DoubleBufferFlush to update the DB. This interferes with SnapshotInfo updated
> during SnapshotPurgeRequest.
> Consider the case:
> S1 <- S2(SstFiltered) <- S3 (Sst unfiltered)
> At T1 if S2 is purged and submitted to OM ratis but it hasn't been flushed to
> the rocksDb but just present in the cache which makes the chain.
> S1 <- S3 (Sst Unfiltered in cache)
> S2(SstFiltered, deleted in Cache but present in table)
>
> Suppose at T2 SstFiltering service runs on the chain and marks S3 to be
> SstFiltered which would be directly flushed to DB
> S1 <- S3 (Sst filtered in DB)
> S1 <- S2 (Present in DB but not present in cache)
> Now if the OM is restarted, snapshot chain would have gotten corrupted since
> both S2 & S3 are pointing S1 in the DB.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]