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

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

      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.

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

              Created:
              Updated:
              Resolved: