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

tailable cursors should throw an exception in DBClientCursor when a cursor is not found on the server

    XMLWordPrintableJSON

Details

    • Fully Compatible
    • ALL
    • Service Arch 2020-03-09

    Description

      dbclientcursor.cpp
      DBClientCursor::dataReceived() has different behavior when the server replies that the cursor is not found. For nontailable cursors, it clears the client cursorId and throws an exception. For tailable cursors, it only clears the client cursorId, so the consumer must check it in order to discover that calling more() will never return more data.

      There does not appear to be a good reason for this, so we should unify the behavior and make all cursor types throw an exception in dataReceived() when the server returns CursorNotFound.

      Attachments

        Activity

          People

            cheahuychou.mao@mongodb.com Cheahuychou Mao
            milkie@mongodb.com Eric Milkie
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: