Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-63387

StreamingCursor should return backup blocks in the order they were retrieved from the WiredTiger backup cursor

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 5.0.8, 6.0.0-rc0
    • Affects Version/s: 5.0.5
    • Component/s: None
    • Labels:
    • Fully Compatible
    • ALL
    • v5.0
    • Execution Team 2022-03-07, Execution Team 2022-03-21, Execution Team 2022-04-04

      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.

        1. patch.diff
          0.6 kB
        2. repro.js
          3 kB

            yujin.kang@mongodb.com Yujin Kang Park
            gregory.wlodarek@mongodb.com Gregory Wlodarek
            0 Vote for this issue
            11 Start watching this issue