[SERVER-38052] ReplBatcher thread must handle exceptions Created: 09/Nov/18 Updated: 29/Oct/23 Resolved: 04/Dec/18 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Replication |
| Affects Version/s: | 4.0.4, 4.1.5 |
| Fix Version/s: | 4.0.6, 4.1.7 |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Tess Avitabile (Inactive) | Assignee: | Tess Avitabile (Inactive) |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||||||||||
| Operating System: | ALL | ||||||||||||||||
| Backport Requested: |
v4.0
|
||||||||||||||||
| Sprint: | Repl 2018-12-17 | ||||||||||||||||
| Participants: | |||||||||||||||||
| Linked BF Score: | 45 | ||||||||||||||||
| Description |
|
The ReplBatcher thread takes a lock in OplogBufferCollection::_peek_inlock(), which is called from SyncTail::tryPopAndWaitForMore(). If the OperationContext is interrupted due to shutdown, this lock acquisition can throw. However, the ReplBatcher thread is not written to handle exceptions. The ReplBatcher either needs to handle exceptions or use an UninterruptibleLockGuard. |
| Comments |
| Comment by Githook User [ 21/Dec/18 ] |
|
Author: {'username': 'tessavitabile', 'email': 'tess.avitabile@mongodb.com', 'name': 'Tess Avitabile'}Message: (cherry picked from commit b1d1ea64a7e52587c53cfdc89db9625790f207d2) |
| Comment by Githook User [ 04/Dec/18 ] |
|
Author: {'name': 'Tess Avitabile', 'email': 'tess.avitabile@mongodb.com', 'username': 'tessavitabile'}Message: |