[SERVER-39282] DBClientBase::getCollectionInfos does not handle interrupts gracefully Created: 30/Jan/19  Updated: 30/May/23

Status: Backlog
Project: Core Server
Component/s: Querying
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Major - P3
Reporter: Justin Seyster Assignee: Backlog - Query Execution
Resolution: Unresolved Votes: 0
Labels: query-44-grooming
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Problem/Incident
Assigned Teams:
Query Execution
Operating System: ALL
Participants:

 Description   

If DBClientBase initiates a listCollections command that gets interrupted, it swallows the Interrupt error code and uasserts with a non-specific error code (18630).

https://github.com/mongodb/mongo/blob/ac2279fdb62d64555e55077ba1113940a24afb04/src/mongo/client/dbclient_base.cpp#L583

The map-reduce operation (and possibly others) calls this function, and an interrupt during that call prevents the map-reduce from returning an error code that will identify the interrupt to the caller.

The swallowed error requires additional checking in my test, which needs to distinguish (expected) "Interrupted" failures from other kinds of failures.


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