[SERVER-30074] Make waiting on the CappedInsertNotifier interruptible Created: 10/Jul/17 Updated: 06/Dec/22 |
|
| Status: | Backlog |
| Project: | Core Server |
| Component/s: | Querying, Replication |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Improvement | Priority: | Major - P3 |
| Reporter: | Max Hirschhorn | Assignee: | Backlog - Query Execution |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | PM-89 | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||
| Assigned Teams: |
Query Execution
|
||||||||
| Participants: | |||||||||
| Description |
|
The called to CappedInsertNotifier::wait() function in getmore_cmd.cpp uses the remaining maxTimeMS as how long to wait on the condition variable. This wait isn't interruptible, which makes it impossible to kill this operation via killOp() until its maxTimeMS has expired. This would also make it easier to test the behavior changes to tailable, awaitData cursors (see jstests/noPassthrough/awaitdata_getmore_cmd.js) that was done as part of |
| Comments |
| Comment by Ian Whalen (Inactive) [ 08/Dec/17 ] |
|
This came up because it makes it harder to quickly interrupt change stream cursors while sleeping. |