[SERVER-30818] Wait for any running background index builds to finish before starting rollback Created: 24/Aug/17 Updated: 30/Oct/23 Resolved: 25/Jan/18 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Replication, Storage |
| Affects Version/s: | None |
| Fix Version/s: | 3.7.2 |
| Type: | Task | Priority: | Major - P3 |
| Reporter: | Spencer Brody (Inactive) | Assignee: | William Schultz (Inactive) |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | rollback-functional | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||||||||||||||||||
| Sprint: | Repl 2017-10-02, Repl 2018-01-15, Repl 2018-01-29 | ||||||||||||||||||||||||
| Participants: | |||||||||||||||||||||||||
| Linked BF Score: | 14 | ||||||||||||||||||||||||
| Description |
|
Writes for an initial index build aren't timestamped, so when we call recoverToStableTimestamp, the index data for any in-progress index builds won't be reverted so may contain references to records that no longer exist. Therefore we should wait for any running background index builds to complete before starting rollback, so that we won't try to call recoverToStableTimestamp in the middle of this index build.
|
| Comments |
| Comment by Githook User [ 26/Jan/18 ] |
|
Author: {'name': 'William Schultz', 'email': 'william.schultz@mongodb.com', 'username': 'will62794'}Message: This reverts commit 0ebed531c6506e8538858758a6af5b8eb9da7ed2. |
| Comment by Githook User [ 25/Jan/18 ] |
|
Author: {'name': 'William Schultz', 'email': 'william.schultz@mongodb.com', 'username': 'will62794'}Message: Revert " This reverts commit 18eb990734653fc80f7d8c2916033e61ea7320e5. |
| Comment by Githook User [ 25/Jan/18 ] |
|
Author: {'name': 'William Schultz', 'email': 'william.schultz@mongodb.com', 'username': 'will62794'}Message: |
| Comment by Githook User [ 17/Jan/18 ] |
|
Author: {'name': 'William Schultz', 'email': 'william.schultz@mongodb.com', 'username': 'will62794'}Message: |
| Comment by Githook User [ 17/Jan/18 ] |
|
Author: {'name': 'William Schultz', 'email': 'william.schultz@mongodb.com', 'username': 'will62794'}Message: |
| Comment by William Schultz (Inactive) [ 08/Jan/18 ] |
|
The simple implementation approach is to just list all databases and call awaitNoBgOpInProgForDb() on each one, since there is no existing way to wait for all background ops to finish. This functionality can be added in background.cpp. |
| Comment by Spencer Brody (Inactive) [ 31/Aug/17 ] |
|
There might also be a problem here with refetch based rollback as well. We need to investigate that. |