[SERVER-58758] [Retryability] Make single oplog entry retryable internal transactions retryable across chunk migrations Created: 22/Jul/21  Updated: 19/Mar/22  Resolved: 19/Mar/22

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

Type: Task Priority: Major - P3
Reporter: Cheahuychou Mao Assignee: Cheahuychou Mao
Resolution: Duplicate Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
depends on SERVER-58756 [Retryability] Add retryability suppo... Closed
Duplicate
duplicates SERVER-63494 Transfer history for retryable transa... Closed
Issue split
split to SERVER-63494 Transfer history for retryable transa... Closed
split to SERVER-64331 Determine if chunk migration should m... Closed
Sprint: Sharding 2021-11-29, Sharding 2021-12-13, Sharding 2021-12-27, Sharding 2022-01-10, Sharding 2022-01-24, Sharding 2022-02-07, Sharding 2022-03-07, Sharding NYC 2022-03-21
Participants:
Story Points: 5

 Description   
  • Make migration donor return the oplog entries (including config.image_collection oplog entries) for every committed retryable internal transaction involving the chunk being migrated, wrapped in no-op oplog entries, in response to _getNextSessionMods.
  • Make migration recipient log and apply those oplog entries, just like it does for oplog entries for retryable writes.
  • Verify that retryability works correctly for cross-shard transactions.


 Comments   
Comment by Jack Mulrow [ 09/Feb/22 ]

Handling transactions with multiple oplog entries, ie prepared transactions or transactions larger than 16MB, is more complex than the single oplog entry case, so we'll handle that in a follow up ticket - SERVER-63494.

Generated at Thu Feb 08 05:45:22 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.