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

Reply via email to