- Administration >
- Configuration and Maintenance >
- Terminate Running Operations
Terminate Running Operations¶
On this page
Overview¶
MongoDB provides two facilitates to terminate running operations:
maxTimeMS()
and db.killOp()
. Use these
operations as needed to control the behavior of operations in a
MongoDB deployment.
Available Procedures¶
maxTimeMS
¶
New in version 2.6.
The maxTimeMS()
method sets a time limit for an
operation. When the operation reaches the specified time limit,
MongoDB interrupts the operation at the next interrupt point.
Terminate a Query¶
From the mongo
shell, use the following method to set a
time limit of 30 milliseconds for this query:
db.location.find( { "town": { "$regex": "(Pine Lumber)",
"$options": 'i' } } ).maxTimeMS(30)
Terminate a Command¶
Consider a potentially long running operation using
distinct
to return each distinct collection
field that
has a city
key:
db.runCommand( { distinct: "collection",
key: "city" } )
You can add the maxTimeMS
field to the command document to set a
time limit of 45 milliseconds for the operation:
db.runCommand( { distinct: "collection",
key: "city",
maxTimeMS: 45 } )
db.getLastError()
and db.getLastErrorObj()
will return
errors for interrupted options:
{ "n" : 0,
"connectionId" : 1,
"err" : "operation exceeded time limit",
"ok" : 1 }
killOp
¶
The db.killOp()
method interrupts a running operation at
the next interrupt point. db.killOp()
identifies
the target operation by operation ID.
db.killOp(<opId>)
Warning
Terminate running operations with extreme caution. Only use
db.killOp()
to terminate operations initiated by clients
and do not terminate internal database operations.