From 5e029865a80318fdee195d56941f22a3ec890056 Mon Sep 17 00:00:00 2001 From: kimchy Date: Mon, 3 Jan 2011 12:53:50 +0200 Subject: [PATCH] Des.config=/path/to/config/file doesn't replace $ES_HOME/elasticsearch.conf, just appends to it, closes #588. --- .../internal/InternalSettingsPerparer.java | 39 +++++++++++-------- 1 file changed, 22 insertions(+), 17 deletions(-) diff --git a/modules/elasticsearch/src/main/java/org/elasticsearch/node/internal/InternalSettingsPerparer.java b/modules/elasticsearch/src/main/java/org/elasticsearch/node/internal/InternalSettingsPerparer.java index e8a7bab1bda..6916e797576 100644 --- a/modules/elasticsearch/src/main/java/org/elasticsearch/node/internal/InternalSettingsPerparer.java +++ b/modules/elasticsearch/src/main/java/org/elasticsearch/node/internal/InternalSettingsPerparer.java @@ -46,29 +46,34 @@ public class InternalSettingsPerparer { Environment environment = new Environment(settingsBuilder.build()); if (loadConfigSettings) { - try { - settingsBuilder.loadFromUrl(environment.resolveConfig("elasticsearch.yml")); - } catch (FailedToResolveConfigException e) { - // ignore - } catch (NoClassDefFoundError e) { - // ignore, no yaml - } - try { - settingsBuilder.loadFromUrl(environment.resolveConfig("elasticsearch.json")); - } catch (FailedToResolveConfigException e) { - // ignore - } - try { - settingsBuilder.loadFromUrl(environment.resolveConfig("elasticsearch.properties")); - } catch (FailedToResolveConfigException e) { - // ignore - } + boolean explicitSettingsProvided = false; if (System.getProperty("es.config") != null) { + explicitSettingsProvided = true; settingsBuilder.loadFromUrl(environment.resolveConfig(System.getProperty("es.config"))); } if (System.getProperty("elasticsearch.config") != null) { + explicitSettingsProvided = true; settingsBuilder.loadFromUrl(environment.resolveConfig(System.getProperty("elasticsearch.config"))); } + if (!explicitSettingsProvided) { + try { + settingsBuilder.loadFromUrl(environment.resolveConfig("elasticsearch.yml")); + } catch (FailedToResolveConfigException e) { + // ignore + } catch (NoClassDefFoundError e) { + // ignore, no yaml + } + try { + settingsBuilder.loadFromUrl(environment.resolveConfig("elasticsearch.json")); + } catch (FailedToResolveConfigException e) { + // ignore + } + try { + settingsBuilder.loadFromUrl(environment.resolveConfig("elasticsearch.properties")); + } catch (FailedToResolveConfigException e) { + // ignore + } + } } settingsBuilder.put(pSettings)