The server uses a streaming cursor to pre-fetch 1,000 backup blocks from WiredTiger instead of loading all of the backup blocks into memory at once.
Backup blocks returned by WiredTiger are pushed into a list, but when it's time to return these backup blocks to the user, we return them from the back of the list instead of the front. This causes us to return backup blocks out-of-order with what WiredTiger reported.
The Cloud back-end code expects that all the diffs for a file will be reported consecutively, without the diffs for any other files reported in between. The offsets are also reported in descending order instead of ascending order.
- is depended on by
SERVER-64739 backup_cursor_out_of_order.js should be excluded from inMemory variants