QuesmaOrg / quesma

Programmable database gateway
https://quesma.com
Other
108 stars 6 forks source link

Handle `_async_search/status/:id` endpoint #995

Closed mieciu closed 1 week ago

mieciu commented 1 week ago

As it turned out this API is pretty extensively used in more recent Kibanas (8.15, 8.16) and lack of this call results in pretty bad looking error:

386103928-c2bd4720-3377-44f5-9dee-5b926d20184f

That's because Quesma generates its custom ID like quesma_async_019329d4-71d8-774d-b920-e7ab072c95c4, and whenever we query Elasticsearch about its status, we obviously get 400 error.

In Kibana logs:

``` KbnServerError: illegal_argument_exception Caused by: illegal_argument_exception: Last unit does not have enough valid bits Root causes: illegal_argument_exception: invalid id: [quesma_async_019329d4-71d8-774d-b920-e7ab072c95c4] at getKbnServerError (/usr/share/kibana/node_modules/@kbn/kibana-utils-plugin/server/report_server_error.js:39:10) at cancelAsyncSearch (/usr/share/kibana/node_modules/@kbn/data-plugin/server/search/strategies/ese_search/ese_search_strategy.js:31:43) at processTicksAndRejections (node:internal/process/task_queues:95:5) at EventTarget.cancel (/usr/share/kibana/node_modules/@kbn/data-plugin/server/search/strategies/ese_search/ese_search_strategy.js:70:9) { errBody: { error: { root_cause: [Array], type: 'illegal_argument_exception', reason: 'invalid id: [quesma_async_019329d4-71d8-774d-b920-e7ab072c95c4]', caused_by: [Object] }, status: 400 }, statusCode: 400 } ```