[SERVER-53518] Switch to use resharding-specific rules for resharding's oplog application Created: 24/Dec/20  Updated: 29/Oct/23  Resolved: 05/Jan/21

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

Type: Task Priority: Major - P3
Reporter: Max Hirschhorn Assignee: Max Hirschhorn
Resolution: Fixed Votes: 0
Labels: PM-234-M3, PM-234-T-oplog-apply
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Backwards Compatibility: Fully Compatible
Sprint: Sharding 2021-01-11
Participants:
Story Points: 2

 Description   

Resharding has oplog application rules which different from replication due to the need to be robust to transient duplicate _id values. The implementation for these rules have been implemented in resharding_oplog_application.cpp but aren't being executed outside of C++ unit tests. This ticket represents the capstone for switching resharding to run with this other implementation in all of our JavaScript integration tests.

  • Move creating the stash collection out of ReshardingOplogApplier::applyUntilCloneFinishedTs() and instead have RecipientStateMachine create the stash collections before scheduling any of the ReshardingOplogAppliers. We'll likely want creating the stash collection to be a method on ReshardingOplogApplier so it is easy to call from within a unit test.
  • Run the resharding_fuzzer_inplace tasks in a patch build with the useReshardingOplogApplicationRules server parameter defaulted to true. Restart the tasks (assuming they pass) at least 4 times to be extra sure.
  • Make any other changes based on the patch build results. Also consider carving off these changes into a separate code reviews and/or tickets.
  • Remove the useReshardingOplogApplicationRules server parameter and stop calling repl::OplogApplierUtils::applyOplogEntryOrGroupedInsertsCommon().


 Comments   
Comment by Githook User [ 05/Jan/21 ]

Author:

{'name': 'Max Hirschhorn', 'email': 'max.hirschhorn@mongodb.com', 'username': 'visemet'}

Message: SERVER-53518 Switch to use resharding oplog application rules.

Removes the useReshardingOplogApplicationRules server parameter
altogether.
Branch: master
https://github.com/mongodb/mongo/commit/2640ec0b0d800bf0a1e761fdb9c249b5d1ffa86a

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