Skip to content

Searching with a PIT in a blank index returns the error 'field _id not found'" #984

@miafgen

Description

@miafgen

Summary

Searching with a PIT in a blank index (which has never had a document) returns the error 'field _id not found'".

How can one reproduce the bug?

Steps to reproduce the behavior:
1. Create the index (PUT /dalisdata_buildings)
REQUEST:

--EMPTY--

RESPONSE:

{
  "acknowledged": true,
  "shards_acknowledged": true,
  "index": "dalisdata_buildings"
}

2. Request PIT (POST /dalisdata_buildings/_search/point_in_time?keep_alive=5m)
REQUEST:

--EMPTY--

RESPONSE:

{
  "pit_id": "o7OBQQETZGFsaXNkYXRhX2J1aWxkaW5ncxZneVRBenB5MlFGT3UxdzFxZDQ0NjJBABZZU2FPUGtDSlFfQ3FTMjJkMEY3LXJBAAAAAAAAAAA9FlFKV05tVjgtVDlteXplazYzNEFnUEEBFmd5VEF6cHkyUUZPdTF3MXFkNDQ2MkEAAA==",
  "_shards": {
    "total": 1,
    "successful": 1,
    "skipped": 0,
    "failed": 0
  },
  "creation_time": 1711555893091
}

3. Run first search using PIT (GET /_search) <=== The bug manifests itself in this step
REQUEST:

{
  "pit": {
    "id": "o7OBQQETZGFsaXNkYXRhX2J1aWxkaW5ncxZneVRBenB5MlFGT3UxdzFxZDQ0NjJBABZZU2FPUGtDSlFfQ3FTMjJkMEY3LXJBAAAAAAAAAAA9FlFKV05tVjgtVDlteXplazYzNEFnUEEBFmd5VEF6cHkyUUZPdTF3MXFkNDQ2MkEAAA=="
  },
  "slice": {
    "id": 0,
    "max": 2
  },
  "query": {
    "match_all": {}
  },
  "size": 10000
}

RESPONSE:

{
  "error": {
    "root_cause": [
      {
        "type": "illegal_argument_exception",
        "reason": "field _id not found"
      }
    ],
    "type": "search_phase_execution_exception",
    "reason": "all shards failed",
    "phase": "query",
    "grouped": true,
    "failed_shards": [
      {
        "shard": 0,
        "index": "dalisdata_buildings",
        "node": "YSaOPkCJQ_CqS22d0F7-rA",
        "reason": {
          "type": "illegal_argument_exception",
          "reason": "field _id not found"
        }
      }
    ],
    "caused_by": {
      "type": "illegal_argument_exception",
      "reason": "field _id not found",
      "caused_by": {
        "type": "illegal_argument_exception",
        "reason": "field _id not found"
      }
    }
  },
  "status": 400
}

4. Add a document (PUT /dalisdata_buildings/_doc/foobar)
REQUEST:

{
  "foo": "bar"
}

RESPONSE:

{
  "_index": "dalisdata_buildings",
  "_id": "foobar",
  "_version": 1,
  "result": "created",
  "_shards": {
    "total": 2,
    "successful": 1,
    "failed": 0
  },
  "_seq_no": 0,
  "_primary_term": 1
}

5. Remove the previously added document (DELETE /dalisdata_buildings/_doc/foobar)
REQUEST:

--EMPTY--

RESPONSE:

{
  "_index": "dalisdata_buildings",
  "_id": "foobar",
  "_version": 2,
  "result": "deleted",
  "_shards": {
    "total": 2,
    "successful": 1,
    "failed": 0
  },
  "_seq_no": 1,
  "_primary_term": 1
}

6. Reexecute step 3 again (first search using PIT (GET /_search))
REQUEST:

{
  "pit": {
    "id": "o7OBQQETZGFsaXNkYXRhX2J1aWxkaW5ncxZneVRBenB5MlFGT3UxdzFxZDQ0NjJBABZZU2FPUGtDSlFfQ3FTMjJkMEY3LXJBAAAAAAAAAAA9FlFKV05tVjgtVDlteXplazYzNEFnUEEBFmd5VEF6cHkyUUZPdTF3MXFkNDQ2MkEAAA=="
  },
  "slice": {
    "id": 0,
    "max": 2
  },
  "query": {
    "match_all": {}
  },
  "size": 10000
}

RESPONSE:

{
  "pit_id": "o7OBQQETZGFsaXNkYXRhX2J1aWxkaW5ncxZneVRBenB5MlFGT3UxdzFxZDQ0NjJBABZZU2FPUGtDSlFfQ3FTMjJkMEY3LXJBAAAAAAAAAAA9FlFKV05tVjgtVDlteXplazYzNEFnUEEBFmd5VEF6cHkyUUZPdTF3MXFkNDQ2MkEAAA==",
  "took": 12,
  "timed_out": false,
  "_shards": {
    "total": 1,
    "successful": 1,
    "skipped": 0,
    "failed": 0
  },
  "hits": {
    "total": {
      "value": 0,
      "relation": "eq"
    },
    "max_score": null,
    "hits": []
  }
}

What is the expected behavior?
The expected response on step 3 is the one received in step 6, meaning:

{
  "pit_id": "o7OBQQETZGFsaXNkYXRhX2J1aWxkaW5ncxZneVRBenB5MlFGT3UxdzFxZDQ0NjJBABZZU2FPUGtDSlFfQ3FTMjJkMEY3LXJBAAAAAAAAAAA9FlFKV05tVjgtVDlteXplazYzNEFnUEEBFmd5VEF6cHkyUUZPdTF3MXFkNDQ2MkEAAA==",
  "took": 12,
  "timed_out": false,
  "_shards": {
    "total": 1,
    "successful": 1,
    "skipped": 0,
    "failed": 0
  },
  "hits": {
    "total": {
      "value": 0,
      "relation": "eq"
    },
    "max_score": null,
    "hits": []
  }
}

What is your host/environment ?

  • OS: Windows 11 (64bit)
  • Version: 2.12
  • Plugins: Disabled security. Otherwise standard installation.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions