[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:
Related
is related to SERVER-29128 Make $changeNotification stage return... Closed
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 SERVER-29128.



 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.

Generated at Thu Feb 08 04:22:35 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.