How did I create a _mget id item?

(Serge Aluker) #1

We are running 1.7.3 on 3 nodes, 2 of which are data nodes. Index in question has 2 shards and 2 replicas.

We use POST /index/type/_mget with body {ids:[...]} on almost every request to our app and have never had issues. Today we had 3 cases where this exact request actually created a doc with id of "_mget". Instead of getting the expected "docs" key we got (on the 3rd case):

    "_id": "_mget",
    "_index": "main_exelon",
    "_type": "series",
    "_version": 3, 
    "created": False

We can't GET the resulting doc directly, but doing this search:

    "query": {"ids": {"values": ["_mget"]}}


  "hits": [
        "_index": "index",
        "_type": "type",
        "_id": "_mget",
        "_score": 1,
        "_source": {
           "ids": [

How is making this _id even possible? We can't replicate this, but it has happened in production 3 times now.

(Mark Walkom) #2

I'd use GET instead of PUT to stop the creation of the documents. The docs also reference the use of GET.

(system) #3