[SERVER-44778] Two-phase index builds aborted due to rollback should leave the index unfinished in the catalog Created: 21/Nov/19  Updated: 29/Oct/23  Resolved: 05/Dec/19

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

Type: Bug 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:
Duplicate
is duplicated by SERVER-44759 Leave index builds unfinished when ab... Closed
Related
related to SERVER-44190 Adapt hybrid_index_build_on_state_tra... Closed
Backwards Compatibility: Fully Compatible
Sprint: Execution Team 2019-12-16
Participants:

 Description   

During rollback, we abort any active index builds. The build cleans itself up and removes the durable catalog entry by calling tearDownIndexBuild() here. Because we are not primary, we assign ghost timestamps when cleaning up unfinished indexes.

This is mostly okay, because rollback will always roll-back that write. However it could be possible to take a stable checkpoint between tearing down the build and actually rolling-back. If the server crashed at this point, on startup, the index build won't get rebuilt at all.

It would be more correct to just leave the index build unfinished to avoid ghost timestamping the index build cleanup.



 Comments   
Comment by Githook User [ 05/Dec/19 ]

Author:

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

Message: SERVER-44778 Two-phase index builds aborted due to rollback should leave indexes unfinished in the catalog
Branch: master
https://github.com/mongodb/mongo/commit/f6cee991fa1b0035a2be583af4f0daabfc77d112

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