[SERVER-47681] Background validation uses the kNoOverlap read source instead of kAllDurableSnapshot to prevent us from having to take the PBWM lock on secondaries Created: 21/Apr/20 Updated: 29/Oct/23 Resolved: 25/Sep/20 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Storage |
| Affects Version/s: | None |
| Fix Version/s: | 4.8.0, 4.4.2 |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Gregory Wlodarek | Assignee: | Eric Milkie |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Backport Requested: |
v4.4
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Sprint: | Execution Team 2020-05-04, Execution Team 2020-07-13, Execution Team 2020-07-27, Execution Team 2020-08-24, Execution Team 2020-10-05 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Participants: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Linked BF Score: | 37 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Description |
|
If the PBWM lock is held during the entire background collection validation, then on secondaries it could stall replication, which is undesirable. After opening all of the collection and index cursors, we can release the PBWM lock. |
| Comments |
| Comment by Githook User [ 29/Sep/20 ] |
|
Author: {'name': 'Eric Milkie', 'email': 'milkie@10gen.com', 'username': 'milkie'}Message: (cherry picked from commit 86f5e6928d6213a30dd85362eb5d157976483495) |
| Comment by Githook User [ 25/Sep/20 ] |
|
Author: {'name': 'Eric Milkie', 'email': 'milkie@10gen.com', 'username': 'milkie'}Message: |
| Comment by Githook User [ 12/May/20 ] |
|
Author: {'name': 'Gregory Wlodarek', 'email': 'gregory.wlodarek@mongodb.com', 'username': 'GWlodarek'}Message: Revert " This reverts commit c68a391f8f1ce0390ee019997625c06eb43aea6b. |
| Comment by Daniel Gottlieb (Inactive) [ 12/May/20 ] |
|
Apologies for the double-notification We intend to re-enable this for the 4.4 release (leaving the code in the reverted state is actually a bug). |
| Comment by Gregory Wlodarek [ 12/May/20 ] |
|
I'm reverting this for now after discussing with daniel.gottlieb as this is causing too much BF noise. Once the related BF is closed, we should push these changes back into master and v4.4 again. I've marked this ticket with 4.4.0. Without this change, secondary nodes running validation in the background will stall replication.
(The backport is marked as released, I don't know how to reset its state. Don't be fooled!) |
| Comment by Githook User [ 24/Apr/20 ] |
|
Author: {'name': 'Gregory Wlodarek', 'email': 'gregory.wlodarek@mongodb.com', 'username': 'GWlodarek'}Message: (cherry picked from commit 1f6db03c2b428a96215d407030fa7c1650456263) |
| Comment by Githook User [ 23/Apr/20 ] |
|
Author: {'name': 'Gregory Wlodarek', 'email': 'gregory.wlodarek@mongodb.com', 'username': 'GWlodarek'}Message: |