[SERVER-56910] Skip Recoverable CS opObserver actions during recovery Created: 13/May/21 Updated: 29/Oct/23 Resolved: 15/May/21 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Sharding |
| Affects Version/s: | Backlog |
| Fix Version/s: | 5.0.0-rc0 |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Tommaso Tocci | Assignee: | Tommaso Tocci |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | PM-1965-Milestone-1 | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||
| Operating System: | ALL | ||||||||
| Steps To Reproduce: | The bug has been spotted on this patch running drop_collection_sharded.js FSM on the concurrency_sharded_multi_stmt_txn_kill_primary suite:
|
||||||||
| Sprint: | Sharding EMEA 2021-05-17 | ||||||||
| Participants: | |||||||||
| Linked BF Score: | 148 | ||||||||
| Description |
|
On node startup we call recoverFromOplogUpTo that will try to apply all the oplog entries up to the recoverToOplogTimestamp on top of the last stable checkpoint. This is done by calling _applyOplogOperations in RecoveryMode::kStartupFromStableTimestamp . Only after this first recovery phase has been completed RepllcaSetAwareServiceRegistry::onStartup() will be executed. All the recoverable critical sections stored on disk are re-installed in-memory as part of the onStartup procedure, so up until that moment we should skip any recoverable CS opObserver actions. |
| Comments |
| Comment by Githook User [ 14/May/21 ] |
|
Author: {'name': 'Tommaso Tocci', 'email': 'tommaso.tocci@mongodb.com', 'username': 'toto-dev'}Message: |