I have a few Timelion visualizations which depend on logstash index. We have exported the dashboard, visualizations and index-pattern as JSON. When a kibana container comes up, these dashboard, visualizations and index-pattern is imported using curl commands. Since there would be no documents when the container comes up, timelion visualizations are unable to find the logstash index and give the following error.
Error: in cell #1: Elasticsearch index not found: logstash-*
at throwWithCell (/usr/share/kibana/src/core_plugins/timelion/server/handlers/chain_runner.js:45:11)
at /usr/share/kibana/src/core_plugins/timelion/server/handlers/chain_runner.js:175:13
at arrayEach (/usr/share/kibana/node_modules/lodash/index.js:1289:13)
at Function. (/usr/share/kibana/node_modules/lodash/index.js:3345:13)
at /usr/share/kibana/src/core_plugins/timelion/server/handlers/chain_runner.js:167:24
at bound (domain.js:280:14)
at runBound (domain.js:293:12)
at tryCatcher (/usr/share/kibana/node_modules/bluebird/js/main/util.js:26:23)
at Promise._settlePromiseFromHandler (/usr/share/kibana/node_modules/bluebird/js/main/promise.js:503:31)
at Promise._settlePromiseAt (/usr/share/kibana/node_modules/bluebird/js/main/promise.js:577:18)
at Promise._settlePromises (/usr/share/kibana/node_modules/bluebird/js/main/promise.js:693:14)
at Async._drainQueue (/usr/share/kibana/node_modules/bluebird/js/main/async.js:123:16)
at Async._drainQueues (/usr/share/kibana/node_modules/bluebird/js/main/async.js:133:10)
at Immediate.Async.drainQueues (/usr/share/kibana/node_modules/bluebird/js/main/async.js:15:14)
at runCallback (timers.js:672:20)
at tryOnImmediate (timers.js:645:5)
In the above scenario, A kibana visualization gives "no result found". But, timelion fails with error. It would be useful to display "no results found" in timelion as well so the user knows there are no documents instead of an index error.
Any suggestions on how to handle this in timelion?