Driver appears to send killCursors with a cursorId of 0

XMLWordPrintableJSON

    • Type: Bug
    • Resolution: Gone away
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: CRUD
    • None
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      Atlas team found the following in application logs, from traffic generated by the automation agent:

      2019-05-10T20:39:24.964+0000 I COMMAND  [conn11] command local.clustermanager appName: "MongoDB Automation Agent v10.1.0.5757 (git: 5725b463e240f3602000dd47e3fe652260e8de71)" command: find { find: "clustermanager", filter: {}, sort: {}, $clusterTime: { clusterTime: Timestamp(1557520763, 1), signature: { hash: BinData(0, 0000000000000000000000000000000000000000), keyId: 0 } }, $db: "local", $readPreference: { mode: "primaryPreferred" } } planSummary: COLLSCAN keysExamined:0 docsExamined:1 cursorExhausted:1 numYields:0 nreturned:1 reslen:301 locks:{ Global: { acquireCount: { r: 1 } }, Database: { acquireCount: { r: 1 } }, Collection: { acquireCount: { r: 1 } } } protocol:op_msg 0ms
      
      2019-05-10T20:39:24.965+0000 D COMMAND  [conn11] run command local.$cmd { killCursors: "clustermanager", cursors: [ 0 ], $clusterTime: { clusterTime: Timestamp(1557520763, 1), signature: { hash: BinData(0, 0000000000000000000000000000000000000000), keyId: 0 } }, $db: "local", $readPreference: { mode: "primaryPreferred" } }
      
      2019-05-10T20:39:24.966+0000 I COMMAND  [conn11] command local.clustermanager appName: "MongoDB Automation Agent v10.1.0.5757 (git: 5725b463e240f3602000dd47e3fe652260e8de71)" command: killCursors { killCursors: "clustermanager", cursors: [ 0 ], $clusterTime: { clusterTime: Timestamp(1557520763, 1), signature: { hash: BinData(0, 0000000000000000000000000000000000000000), keyId: 0 } }, $db: "local", $readPreference: { mode: "primaryPreferred" } } numYields:0 reslen:256 locks:{ Global: { acquireCount: { r: 1 } }, Database: { acquireCount: { r: 1 } }, Collection: { acquireCount: { r: 1 } } } protocol:op_msg 0ms
      

      This may indicate a driver bug. Consider that:

      • the find log line indicates cursorExhausted:1, which means the cursorId should come back as 0
      • the killCursors log line indicates cursors: [ 0 ], which if accurate is incorrect. A driver should never send a cursorId of 0 to killCursors, as 0 is the sentinel value indicating that there is no cursor. This is in line with cursorExhausted for the find command just above.

            Assignee:
            Unassigned
            Reporter:
            Jeffrey Yemin
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: