[SERVER-49909] Error if resharding's oplog application sees an unexpected oplog entry Created: 25/Jul/20  Updated: 29/Oct/23  Resolved: 16/Dec/20

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: Janna Golden
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

Issue Links:
Duplicate
is duplicated by SERVER-49906 Implement drop collection rule for re... Closed
Related
related to SERVER-49906 Implement drop collection rule for re... Closed
is related to SERVER-50584 Serialize resharding errors into a ne... Closed
is related to SERVER-52594 Integrate ReshardingOplogApplier into... Closed
Backwards Compatibility: Fully Compatible
Sprint: Sharding 2020-12-28
Participants:
Story Points: 1

 Description   

Includes oplog entries for create collection, applyOps containing create collection, renameCollection (until renaming a sharded collection is supported), dropDatabase (which should always be preceded by drop for collection), emptycapped, and convertToCapped.

  • Update the config.localReshardingOperations.recipient document to have an error state.
  • Report to the config server that the resharding operation has been aborted.
  • Crash the mongod process when testing-mode is enabled to surface this issue more readily in Evergreen. To ensure that we're testing the error recovery codepath, we won't want to crash the mongod process. We'll instead want to ensure that the reshardCollection command never fails with the special error that was reported by the mongod process to the config server.


 Comments   
Comment by Githook User [ 16/Dec/20 ]

Author:

{'name': 'jannaerin', 'email': 'golden.janna@gmail.com', 'username': 'jannaerin'}

Message: SERVER-49909 Error if resharding's oplog application sees an unexpected oplog entry
Branch: master
https://github.com/mongodb/mongo/commit/704e695b7296e52bf47d999b8250a14809752051

Comment by Max Hirschhorn [ 14/Dec/20 ]

applyOps, commitTransaction, and abortTransaction should be the only allowed commands (op='c').

Update the config.localReshardingOperations.recipient document to have an error state.

With the changes from SERVER-52594, throwing an exception from applyUntilCloneFinishedTs() or applyUntilDone() should be sufficient for causing the recipient to transition into the error state.

Report to the config server that the resharding operation has been aborted.

Reporting the error to the config server is separate work tracked by SERVER-50584.

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