[SERVER-74032] MigrationSource manager should emit op entries on the committed request while still blocking user writes Created: 15/Feb/23  Updated: 06/Feb/24

Status: In Progress
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Major - P3
Reporter: Paolo Polato Assignee: Paolo Polato
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Related
is related to SERVER-84761 MigrationSourceManager may fail to em... Open
Assigned Teams:
Catalog and Routing
Sprint: 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
Participants:

 Description   

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.


Generated at Thu Feb 08 06:26:19 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.