meilisearch

Meilisearch. Tasks queue got frozen/stuck


Heyo.

Having a problem with indexing a pretty large amount of documents. It went ok for 95kk records but after that it just stopped accepting or processing new tasks.

All of them were just hanging around in processing status for 2 days.

I tried canceling them bit now the canceling task is also stuck.

{
    "uid": ...,
    "indexUid": null,
    "status": "processing",
    "type": "taskCancelation",
    "canceledBy": null,
    "details": {
        "matchedTasks": 3071184,
        "canceledTasks": null,
        "originalFilter": "..."
    },
    "error": null,
    "duration": null,
    "enqueuedAt": "2024-05-07T07:05:36.360052984Z",
    "startedAt": "2024-05-07T12:54:51.978694262Z",
    "finishedAt": null
}

canceledTasks remain null for a whole day, no errors, nothing changes

Now meili is completely unresponsive on all write requests like:

[POST] /tasks/cancel

[DELETE] /tasks

[PUT] /indexes/{{indexUID}}/documents

Any of them fail with a timeout.

Restarting doesn't help. Nothing interesting in logs too. I don't even see the request log with trace mode enabled

INFO HTTP request{method=GET host="...:7700" route=/tasks query_parameters=statuses=processing&limit=1 
TRACE actix_http::h1::dispatcher: end timers:
TRACE actix_http::h1::dispatcher:   head timer is inactive
RACE actix_http::h1::dispatcher:   keep-alive timer is inactive
TRACE actix_http::h1::dispatcher:   shutdown timer is inactive
TRACE actix_http::h1::dispatcher: end flags: Flags(STARTED | FINISHED | KEEP_ALIVE)
TRACE actix_http::h1::dispatcher: start flags: Flags(STARTED | FINISHED | KEEP_ALIVE)
... here I've made another cancel request ....
TRACE actix_http::h1::dispatcher: start timers:
TRACE actix_http::h1::dispatcher:   head timer is inactive
TRACE actix_http::h1::dispatcher:   keep-alive timer is inactive
TRACE actix_http::h1::dispatcher:   shutdown timer is inactive
TRACE actix_http::h1::timer: trying to clear an inactive timer from line 1096
TRACE actix_http::h1::timer: trying to clear an inactive timer from line 702
TRACE actix_http::h1::dispatcher: end timers:
TRACE actix_http::h1::dispatcher:   head timer is inactive
TRACE actix_http::h1::dispatcher:   keep-alive timer is inactive
TRACE actix_http::h1::dispatcher:   shutdown timer is inactive
TRACE actix_http::h1::dispatcher: end flags: Flags(STARTED)
TRACE actix_http::h1::dispatcher: start flags: Flags(STARTED)
TRACE actix_http::h1::dispatcher: start timers:
TRACE actix_http::h1::dispatcher:   head timer is inactive
TRACE actix_http::h1::dispatcher:   keep-alive timer is inactive
TRACE actix_http::h1::dispatcher:   shutdown timer is inactive
TRACE actix_http::h1::dispatcher: end timers:
TRACE actix_http::h1::dispatcher:   head timer is inactive
TRACE actix_http::h1::dispatcher:   keep-alive timer is inactive
TRACE actix_http::h1::dispatcher:   shutdown timer is inactive
TRACE actix_http::h1::dispatcher: end flags: Flags(STARTED)
TRACE actix_http::h1::dispatcher: start flags: Flags(STARTED)
TRACE actix_http::h1::dispatcher: start timers:
TRACE actix_http::h1::dispatcher:   head timer is inactive
TRACE actix_http::h1::dispatcher:   keep-alive timer is inactive
TRACE actix_http::h1::dispatcher:   shutdown timer is inactive
TRACE actix_http::h1::dispatcher: end timers:
TRACE actix_http::h1::dispatcher:   head timer is inactive
TRACE actix_http::h1::dispatcher:   keep-alive timer is inactive
TRACE actix_http::h1::dispatcher:   shutdown timer is inactive
TRACE actix_http::h1::dispatcher: end flags: Flags(STARTED | READ_DISCONNECT)

Have like 2tb storage still available. Only 1 CPU core is constantly utilized by meili on 100%

Read requests are ok.

Maybe anyone had the same issue?


Solution

  • Seems like database was corrupted, non of the actions had effect. I've installed fresh version 1.8.0, completely wiped all the data and started a fresh import