Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-39282

DBClientBase::getCollectionInfos does not handle interrupts gracefully

    XMLWordPrintableJSON

Details

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Major - P3 Major - P3
    • None
    • None
    • Querying
    • Query Execution
    • ALL

    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.

      Attachments

        Activity

          People

            backlog-query-execution Backlog - Query Execution
            justin.seyster@mongodb.com Justin Seyster
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated: