You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ozone.apache.org by "Swaminathan Balachandran (Jira)" <ji...@apache.org> on 2023/11/17 01:32:00 UTC

[jira] [Updated] (HDDS-9710) Missing snapshot entries list Snapshot under a bucket API

     [ https://issues.apache.org/jira/browse/HDDS-9710?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Swaminathan Balachandran updated HDDS-9710:
-------------------------------------------
    Description: 
Snapshot list might be missing entries in the return list. Currently the list happens in a paginated fashion getting few snapshots at a time. Thus every page updates the previous value as the last entry in the previous page, helping the api to seek to the next snapshot directly. The problem is we form the listing by getting the first few entries from the cache and then the remaining entries from the table and return the concatenated list.

Consider the case:

TableCache has snap100...snap125

RocksDB Table has snap0...snap99

Now we want to list all snapshots from snap50 with maxPageSize of 30:

The expected list should be:

snap50 to snap80

But the current output is snap50 to snap54 ... snap100 to snap125 which is wrong. The next page would start from snap125, thus missing the snapshot 55 to snap100 altogether. The ideal approach would be to merge these two streams and get the snapshots in a sorted order.

> Missing snapshot entries list Snapshot under a bucket API 
> ----------------------------------------------------------
>
>                 Key: HDDS-9710
>                 URL: https://issues.apache.org/jira/browse/HDDS-9710
>             Project: Apache Ozone
>          Issue Type: Sub-task
>            Reporter: Swaminathan Balachandran
>            Assignee: Swaminathan Balachandran
>            Priority: Major
>
> Snapshot list might be missing entries in the return list. Currently the list happens in a paginated fashion getting few snapshots at a time. Thus every page updates the previous value as the last entry in the previous page, helping the api to seek to the next snapshot directly. The problem is we form the listing by getting the first few entries from the cache and then the remaining entries from the table and return the concatenated list.
> Consider the case:
> TableCache has snap100...snap125
> RocksDB Table has snap0...snap99
> Now we want to list all snapshots from snap50 with maxPageSize of 30:
> The expected list should be:
> snap50 to snap80
> But the current output is snap50 to snap54 ... snap100 to snap125 which is wrong. The next page would start from snap125, thus missing the snapshot 55 to snap100 altogether. The ideal approach would be to merge these two streams and get the snapshots in a sorted order.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@ozone.apache.org
For additional commands, e-mail: issues-help@ozone.apache.org