Elasticsearch NEST Получить сбои задачи - PullRequest
0 голосов
/ 14 мая 2018

Я работаю с Elasticsearch 5 и Nest 5.

Я запускаю обновление по запросу Async, которое обновит большое количество документов. Я использую "WaitForCompletion (false)", чтобы сделать это.

Проблема, с которой я сталкиваюсь, заключается в том, что когда я использую NEST для получения задачи, созданной операцией UpdateByQuery, объект, который возвращает NEST, не содержит коллекцию "Failures".

Так что, если я заметил, что в статистике задач у меня есть конфликты версий, например, как я могу получить идентификатор документов с этими конфликтами версий, не имея доступа к сбору сбоев.

Мой UpdateByQuery выглядит так:

query
.Index(allIndexesStr)
.Query(q =>
...
 )
.WaitForCompletion(false)
.Script(script => script
.Inline(scriptStr)
.Params(p =>
    ...
    )
)
...

Я получаю задачу вот так:

new ElasticClient(ESConnectionSettings.Instance.Settings).GetTask(taskId);

UPDATE

Если я проверял тело ответа Elasticsearch (простой текст) на NEST, я заметил, что получаю ту же информацию, что и при получении на Kibana (GET _tasks / {taskId}). Так что я знаю, почему NEST не анализирует и не отображает эти данные.

{
  "completed": true,
  "task": {
    "node": "UeShceb_RaqztSOeFnLkvA",
    "id": 44969,
    "type": "transport",
    "action": "indices:data/write/update/byquery",
    "status": {
      "total": 100,
      "updated": 0,
      "created": 0,
      "deleted": 0,
      "batches": 1,
      "version_conflicts": 100,
      "noops": 0,
      "retries": {
        "bulk": 0,
        "search": 0
      },
      "throttled_millis": 0,
      "requests_per_second": -1,
      "throttled_until_millis": 0
    },
    "description": "",
    "start_time_in_millis": 1526329389030,
    "running_time_in_nanos": 27966899,
    "cancellable": true
  },
  "response": {
    "took": 27,
    "timed_out": false,
    "total": 100,
    "updated": 0,
    "created": 0,
    "deleted": 0,
    "batches": 1,
    "version_conflicts": 100,
    "noops": 0,
    "retries": {
      "bulk": 0,
      "search": 0
    },
    "throttled_millis": 0,
    "requests_per_second": -1,
    "throttled_until_millis": 0,
    "failures": [
      {
        "index": "testvisitors-1523737378",
        "type": "esvisitor",
        "id": "3232c447-0f1f-4c00-abf5-d651c26b0c8c",
        "cause": {
          "type": "version_conflict_engine_exception",
          "reason": "[esvisitor][3232c447-0f1f-4c00-abf5-d651c26b0c8c]: version conflict, current version [2] is different than the one provided [1]",
          "index_uuid": "jXhfvWFVRq-NCvZXAyr58A",
          "shard": "1",
          "index": "testvisitors-1523737378"
        },
        "status": 409
      }, ...
...