From 86eb9d6cecf1741013208c17b63ccb1ad4a9f2a1 Mon Sep 17 00:00:00 2001 From: u1473499 Date: Wed, 24 Feb 2016 10:35:47 +0000 Subject: [PATCH] Elasticsearch requestTimeout --- src/plugins/elasticsearch/lib/create_proxy.js | 3 ++- src/server/KbnServer.js | 1 + src/ui/index.js | 1 + src/ui/public/es.js | 4 ++-- 4 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/plugins/elasticsearch/lib/create_proxy.js b/src/plugins/elasticsearch/lib/create_proxy.js index 29f613aa804751..7bcc1e77756b67 100644 --- a/src/plugins/elasticsearch/lib/create_proxy.js +++ b/src/plugins/elasticsearch/lib/create_proxy.js @@ -12,7 +12,8 @@ function createProxy(server, method, route, config) { mapUri: mapUri(server), passThrough: true, agent: createAgent(server), - xforward: true + xforward: true, + timeout: server.config().get('elasticsearch.requestTimeout') + 100 } }, }; diff --git a/src/server/KbnServer.js b/src/server/KbnServer.js index 3bbbca675ae012..3c3a5aef28191e 100644 --- a/src/server/KbnServer.js +++ b/src/server/KbnServer.js @@ -39,6 +39,7 @@ module.exports = class KbnServer { () => { if (this.config.get('server.autoListen')) { this.ready = constant(resolve()); + this.server.listener.timeout = this.config.get('elasticsearch.requestTimeout') + 100; return this.listen(); } } diff --git a/src/ui/index.js b/src/ui/index.js index 905ecd900f0441..a376e229a5d20c 100644 --- a/src/ui/index.js +++ b/src/ui/index.js @@ -64,6 +64,7 @@ module.exports = async (kbnServer, server, config) => { defaultInjectedVars.kbnIndex = config.get('kibana.index'); } if (config.has('elasticsearch')) { + defaultInjectedVars.esRequestTimeout = config.get('elasticsearch.requestTimeout'); defaultInjectedVars.esShardTimeout = config.get('elasticsearch.shardTimeout'); defaultInjectedVars.esApiVersion = config.get('elasticsearch.apiVersion'); } diff --git a/src/ui/public/es.js b/src/ui/public/es.js index a3a44b7796663e..01895fd90d639c 100644 --- a/src/ui/public/es.js +++ b/src/ui/public/es.js @@ -5,13 +5,13 @@ define(function (require) { var es; // share the client amoungst all apps require('ui/modules') .get('kibana', ['elasticsearch', 'kibana/config']) - .service('es', function (esFactory, esUrl, $q, esApiVersion) { + .service('es', function (esFactory, esUrl, $q, esApiVersion, esRequestTimeout) { if (es) return es; es = esFactory({ host: esUrl, log: 'info', - requestTimeout: 0, + requestTimeout: esRequestTimeout, apiVersion: esApiVersion, plugins: [function (Client, config) {