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

    XMLWordPrintable

    Details

    • Backwards Compatibility:
      Fully Compatible
    • Operating System:
      ALL
    • Sprint:
      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

            Assignee:
            cheahuychou.mao Cheahuychou Mao
            Reporter:
            milkie Eric Milkie
            Participants:
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: