Details
-
Sub-task
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
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.
Attachments
Issue Links
- links to