From 307dc443164a87ff9175d12688419e36060ef214 Mon Sep 17 00:00:00 2001 From: Spencer Alger Date: Thu, 26 Mar 2015 12:34:09 -0700 Subject: [PATCH] change the default ping timeout to 3 seconds and make it configurable --- docs/configuration.asciidoc | 5 +++++ docs/quick_start.asciidoc | 3 ++- scripts/generate/js_api.js | 2 +- src/lib/connection.js | 3 ++- 4 files changed, 10 insertions(+), 3 deletions(-) diff --git a/docs/configuration.asciidoc b/docs/configuration.asciidoc index e72969156..c087d0c90 100644 --- a/docs/configuration.asciidoc +++ b/docs/configuration.asciidoc @@ -113,6 +113,11 @@ Default::: `30000` Default::: `30000` +`pingTimeout`[[config-ping-timeout]]:: `Number` -- Milliseconds that a ping request can take before timing out. + +Default::: `3000` + + `keepAlive`[[config-keep-alive]]:: `Boolean` -- Should the connections to the node be kept open forever? This behavior is recommended when you are connecting directly to Elasticsearch. diff --git a/docs/quick_start.asciidoc b/docs/quick_start.asciidoc index 7960dc2d3..e95a2d8ae 100644 --- a/docs/quick_start.asciidoc +++ b/docs/quick_start.asciidoc @@ -26,7 +26,8 @@ Almost all of the methods on the client accept two arguments: [source,js] ----------------- client.ping({ - requestTimeout: 1000, + requestTimeout: 30000, + // undocumented params are appended to the query string hello: "elasticsearch!" }, function (error) { diff --git a/scripts/generate/js_api.js b/scripts/generate/js_api.js index 3700075c4..eff1a6a5e 100644 --- a/scripts/generate/js_api.js +++ b/scripts/generate/js_api.js @@ -220,7 +220,7 @@ module.exports = function (branch, done) { } if (name === 'ping') { - spec.requestTimeout = 100; + spec.requestTimeout = 3000; } var urls = _.difference(def.url.paths, overrides.aliases[name]); diff --git a/src/lib/connection.js b/src/lib/connection.js index 1a9e8ed2f..593d7c385 100644 --- a/src/lib/connection.js +++ b/src/lib/connection.js @@ -16,6 +16,7 @@ function ConnectionAbstract(host, config) { EventEmitter.call(this); this.log = config.log || new Log(); + this.pingTimeout = config.pingTimeout || 3000; if (!host) { throw new TypeError('Missing host'); @@ -51,7 +52,7 @@ ConnectionAbstract.prototype.ping = function (params, cb) { cb = typeof cb === 'function' ? cb : null; } - var requestTimeout = 100; + var requestTimeout = this.pingTimeout; var requestTimeoutId; var aborted; var abort;