[SERVER-44467] Implement startup recovery for two-phase index builds Created: 06/Nov/19  Updated: 29/Oct/23  Resolved: 21/Nov/19

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

Type: Task Priority: Major - P3
Reporter: Louis Williams Assignee: Louis Williams
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
is depended on by SERVER-43692 enable two phase index builds by default Closed
Duplicate
is duplicated by SERVER-39069 Recover in-progress index builds on r... Closed
Related
related to SERVER-45553 Single phase hybrid index build shoul... Closed
related to SERVER-39069 Recover in-progress index builds on r... Closed
related to SERVER-39451 Add recover to a stable timestamp log... Closed
related to SERVER-48419 Extend rollback to recover resumable ... Closed
Backwards Compatibility: Fully Compatible
Sprint: Execution Team 2019-11-18, Execution Team 2019-12-02
Participants:
Linked BF Score: 14

 Description   

Implement startup recovery logic for a replica set node that has been restarted. This is split from the work in SERVER-39451.

This should ideally be able to enable the indexbg_shutdown.js and indexbg_restart_secondary.js tests by fixing a specific bug. This test hits a bug described below on secondaries:

  • Process a startIndexBuild oplog entry and start the background thread
  • Process a commitIndexBuild oplog entry, and wait for the build to finish
  • Interrupt the index build at shutdown, return status::OK
  • Joining the index build will succeed and the "commitIndexBuild" will be successfully applied
  • Restart the secondary, which restarts the index build. The commit will not be applied at startup because it succeeded before shutdown


 Comments   
Comment by Githook User [ 21/Nov/19 ]

Author:

{'email': 'louis.williams@mongodb.com', 'name': 'Louis Williams', 'username': 'louiswilliams'}

Message: SERVER-44467 Implement startup recovery for two-phase index builds
Branch: master
https://github.com/mongodb/mongo/commit/300458bb1ed89940649560e92ff84c81a4a77678

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