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

MigrationSource manager should emit op entries on the committed request while still blocking user writes

    • Type: Icon: Bug Bug
    • Resolution: Unresolved
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Catalog and Routing
    • Sharding EMEA 2023-04-03, Sharding EMEA 2023-04-17, CAR Team 2024-01-22, CAR Team 2024-02-05, CAR Team 2024-02-19, CAR Team 2024-03-04

      Today, the MigrationSourceManager may emit up to two op entries upon the commit of a chunk migration (one to signal the arrival of the first collection chunk on the recipient, another to report the eviction of the last collection chunk from the donor).

      For the latter, all the conditions required by change streams are guaranteed:

      • the op entry generation follows the commit on the config server while user writes are still blocked,
      • at-least-once delivery is guaranteed upon stepdown

      But for the former, it turns out that:

      • the op entry generation precedes the commit on the config server
      • at the time of the generation, user writes are not yet blocked
      • there are no guarantees for at-least-once delivery upon stepdown.

      This may lead to potential event loss scenarios within specific time windows.

            Assignee:
            backlog-server-catalog-and-routing [DO NOT USE] Backlog - Catalog and Routing
            Reporter:
            paolo.polato@mongodb.com Paolo Polato
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated: