Describe how to debug yellow collection with optimizer log in telemetry

This commit is contained in:
timvisee
2023-09-07 18:15:12 +02:00
parent d7a40d931f
commit fb386b2f61
@@ -31,6 +31,83 @@ ulimit -n 10000
Please note, the command should be executed before you run Qdrant server.
## Collection status is always yellow
Each collection has a [status color](../../guides/collections#collection-info).
It may happen that the status of a collection always stays yellow.
A yellow status means that the collection is optimizing. It is very likely that
your collection is still optimizing. This process can take a very long time
depending on how many points you insert and what hardware is used.
You can use [telemetry](../telemetry) data to get an insight on what the
optimizer is currently doing. The telemetry data contains a lot of optimizer
events that describe its behavior. This log may be helpful to detect weird
optimizer behavior such as an optimization never finishing or an infinite loop
of optimizations. If you're experiencing problems, please always check your
Qdrant logs to see if any errors are printed.
The optimization log in telemetry output may look like this (with all other
parts trimmed), at
`result.collections.collections[].shards[].local.optimizations.log`. This lists
four optimizer events for indexing and merging. Three optimizations are `done`,
the fourth one is still `optimizing`:
```http
GET /telemetry?details_level=2
{
"result": {
"collections": {
"collections": [{
"id": "my_collection",
"shards": [{
"id": 0,
"local": {
"optimizations": {
"log": [
{
"name": "indexing",
"segment_ids": [12596352011983712000, 683094100406536000],
"status": "optimizing",
"start_at": "2023-09-07T15:14:05.873193961Z",
"end_at": null
},
{
"name": "indexing",
"segment_ids": [17554372345781762000, 4001657189184169500],
"status": "done",
"start_at": "2023-09-07T15:13:55.249372496Z",
"end_at": "2023-09-07T15:14:05.873186801Z"
},
{
"name": "merge",
"segment_ids": [4650893139495580000, 6657980491957345000, 14402712336633991000],
"status": "done",
"start_at": "2023-09-07T15:13:48.831599648Z",
"end_at": "2023-09-07T15:13:55.249370166Z"
},
{
"name": "indexing",
"segment_ids": [9867739984940812000],
"status": "done",
"start_at": "2023-09-07T15:13:46.616151260Z",
"end_at": "2023-09-07T15:13:48.825460417Z"
}
]
}
}
}]
}]
}
}
}
```
The `status` of an event will be `error` if the optimization failed. The log
shows the latest events first. It will keep at most 16 successful events. Errors
and cancellations are always kept.
## Qdrant stuck/frozen, extract stack trace
*Available as of v1.5.0*