[SERVER-33627] Initial syncer needs to handle exception Created: 02/Mar/18 Updated: 29/Oct/23 Resolved: 02/Mar/20 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Replication |
| Affects Version/s: | None |
| Fix Version/s: | 4.2.6, 4.3.4, 4.0.18 |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Matthew Russotto | Assignee: | Lingzhi Deng |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | initialSync | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||
| Operating System: | ALL | ||||||||
| Backport Requested: |
v4.2, v4.0
|
||||||||
| Sprint: | Repl 2020-03-09 | ||||||||
| Participants: | |||||||||
| Linked BF Score: | 51 | ||||||||
| Description |
|
Whenever we have a completion guard active, we must set a result on the completion guard before we exit or the system will hit an invariant. In initial_syncer.cpp InitialSyncer::_truncateOplogAndDropReplicatedDatabases() we call out to the storage interface which can throw exceptions (uasserts) which escape the completion guard and cause the invariant. We should catch these and return an initial sync failure instead. |
| Comments |
| Comment by Githook User [ 25/Mar/20 ] |
|
Author: {'name': 'Lingzhi Deng', 'username': 'ldennis', 'email': 'lingzhi.deng@mongodb.com'}Message: (cherry picked from commit 07fe606fcf78e668ee821a93af489f078323851a) |
| Comment by Githook User [ 19/Mar/20 ] |
|
Author: {'name': 'Lingzhi Deng', 'username': 'ldennis', 'email': 'lingzhi.deng@mongodb.com'}Message: (cherry picked from commit 07fe606fcf78e668ee821a93af489f078323851a) |
| Comment by Githook User [ 02/Mar/20 ] |
|
Author: {'name': 'Lingzhi Deng', 'username': 'ldennis', 'email': 'lingzhi.deng@mongodb.com'}Message: |