We are seeing a weird situation where Kibana UI will fail to function complaining about Error: Could not locate that index-pattern (id: 5.3.1)
while loading default index pattern in Chrome console. We are able to consistently reproduce it with a clean vanilla ES and Kibana installation both at 5.3.1. The only thing special is that we have a custom ES plugin installed but not in use at all. Without the plugin, everything works fine. With the ES plugin, older versions of Kibana work until 5.2.0.
Further digging reveals that instead leaving it null by default, Kibana 5.2.0+ is sending this update to ES when the UI is first loaded:
POST /.kibana/config/5.3.1/_update HTTP/1.1
content-type: application/json
Host: elasticsearch:9200
Content-Length: 32
Connection: keep-alive
{"doc":{"defaultIndex":"5.3.1"}}
The result:
$ curl http://localhost:9200/.kibana/index-pattern/_search?pretty
{
"took" : 2,
"timed_out" : false,
"_shards" : {
"total" : 1,
"successful" : 1,
"failed" : 0
},
"hits" : {
"total" : 1,
"max_score" : 1.0,
"hits" : [
{
"_index" : ".kibana",
"_type" : "config",
"_id" : "5.3.1",
"_score" : 1.0,
"_source" : {
"buildNum" : 14844,
"defaultIndex" : "5.3.1"
}
}
]
}
}
So there's the reference to 5.3.1
but it doesn't exist as an index pattern. The UI broke.
I was able to workaround it by adding an index pattern and setting the defaultIndex to it. But still, I don't get it why Kibaba doesn't send the update request to an ES instance without our plugin.
Any pointer would be greatly appreciated!