Snippet Name: Kill_runaway_query_in_Atlas
Tags:
Created Date: 2025-06-16 13:12:42
Last Modified Date: 2025-05-31 10:32:12
Dependencies:
DBA Notes:
Sample Output:
Title: Kill runaway query in Atlas
Author: user
In Mongo db Atlas, i have a runaway query that is eating resources. the query is attached. how can i find any query running that command and kill it
Author: ChatGPT
In MongoDB Atlas, you can identify and terminate a runaway query by following these steps:
### 1. **Identify the Query**
To find running queries, you can use the **Atlas Performance Advisor** or **Cloud Monitoring Tools**, but if you have direct access to your cluster via `mongosh`, you can run:
```js
db.currentOp({
"command.find": "your_collection_name" // Replace with your collection name
});
```
If you're looking for a specific operation, you can also filter by:
```js
db.currentOp({
"active": true, // Finds active operations
"secs_running": { $gt: 5 }, // Queries running for more than 5 seconds
"command.query": { $exists: true } // Only query operations
});
```
This will return details of running operations, including their `opid` (operation ID).
---
### 2. **Terminate the Query**
Once you've identified the query using `db.currentOp()`, you can terminate it using:
```js
db.killOp(opid);
```
Replace `opid` with the operation ID retrieved from the previous command.
---
### 3. **Monitor and Prevent Future Runaway Queries**
- **Set Query Execution Timeout:** In MongoDB Atlas, you can set timeouts using the `maxTimeMS` option to prevent long-running queries.
```js
db.collection.find({ your_query }).maxTimeMS(5000);
```
- **Use Indexes:** Check the query patterns and ensure appropriate indexes are in place to avoid performance issues.
- **Analyze Query Performance:** Use `explain("executionStats")` to check why the query is slow.
---
### 4. **Check Atlas Logs**
- Go to **MongoDB Atlas > Cluster > Metrics > Real-Time Performance Panel**, and check running queries.
- Use **Atlas Performance Advisor** to identify slow queries.
---
If you need further assistance analyzing the query, feel free to share the query details (excluding sensitive data), and I can help optimize it.