[SERVER-33785] clientcursormon should acquire locks in a way that cannot throw Created: 09/Mar/18 Updated: 29/Oct/23 Resolved: 14/Mar/18 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Querying |
| Affects Version/s: | None |
| Fix Version/s: | 3.7.4 |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Charlie Swanson | Assignee: | Charlie Swanson |
| 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 | ||||||||
| Sprint: | Query 2018-03-26 | ||||||||
| Participants: | |||||||||
| Linked BF Score: | 22 | ||||||||
| Description |
|
Currently the background thread will use AutoGetCollectionForReadCommand, which will throw if the operation is interrupted for any reason. This can happen if the server starts its shutdown sequence, in which case all operations are interrupted, including the background thread. Specifically, we should use the UninterruptibleLockGuard class to prevent exceptions from being thrown. We should probably also move away from that particular db_raii helper, since it will have some side-effects like increasing the Top stats, etc. |
| Comments |
| Comment by Githook User [ 14/Mar/18 ] |
|
Author: {'email': 'charlie.swanson@mongodb.com', 'name': 'Charlie Swanson', 'username': 'cswanson310'}Message: |