[ 
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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to