MongoDB Log Analysis – Understanding ‘killcursors: found 0 of 1’ with ReplicaSet

cursorskilllogmongodbmongodb-3.2

This is output of mloginfo log --distinct. What does killcursors mean exactly and what's the DBA action? We use latest mongod in a 3 node replicaset.

With a search engine i found only on mongodb-user mailing list

Killcursors is a database command that removes cursor references on
the server. It's normal and harmless. You'll probably only get an
exception when inserting in safe mode.

I wish more info.

    source: mongodb.log
       host: example
      start: 2016 Jul 15 07:35:28.419
        end: 2016 Aug 19 08:00:15.874
date format: iso8601-local
     length: 244025
     binary: mongod
    version: 3.2.8
    storage: wiredTiger

DISTINCT

   64062    connection accepted from ... # ... ( ... now open)
   63984    end connection ... ( ... now open)
       4    killcursors: found ... of
       3    assertion ... ns: ... query:
       1    git version:
       1    waiting for connections on port

Logs

2016-08-05T15:29:36.935+0200 I COMMAND  [conn39339] killcursors: found 0 of 1
2016-08-05T15:29:36.937+0200 I COMMAND  [conn39327] killcursors: found 0 of 1
2016-08-05T15:29:36.945+0200 I COMMAND  [conn39329] killcursors: found 0 of 1
2016-08-05T15:29:36.946+0200 I COMMAND  [conn39343] killcursors: found 0 of 1

Best Answer

2016-08-05T15:29:36.935+0200 I COMMAND [conn39339] killcursors: found 0 of 1

As per the info you've found, this is a normal (and benign) message: no administrative action is required. This message may be logged when a client/driver issues the killcursors command (for example, when an operation reaches a cursor timeout or an active cursor is explicitly closed). Normally inactive cursors are automatically cleaned up by the mongod server without a client killcursor command.

If you wanted to investigate further you could ask your application developers if they are using timeouts, closing active cursors before the results are exhausted, or possibly calling the killcursors command explicitly. You could also check on the specific version of the driver they are using if the frequency of this message has changed significantly from past occurrences.

However, given only 4 occurrences in more than a month of log activity (according to your mloginfo output), I would not be concerned by these messages.