Does path.home now HAVE to be a command-line or System property setting?

With prior versions of Elasticsearch (last I was using was 1.5.2), elasticsearch.yml could be located by the client in the classpath or some default location, and path.home would be set within it.

Now, I'm getting errors about Elasticsearch not having path.home set; is it no longer allowed to set it in elasticsearch.yml, and to have elasticsearch.yml located in a standard place that the client can find it? Do I now HAVE to supply a -Dpath.home= ... argument when I start my app server so that the Elasticsearch client can find elasticsearch.yml? I didn't even have to set es.config before.

If so, why was this change made? Why not look for elasticsearch.yml in a default location, or in the classpath?

  • Tim

Check https://www.elastic.co/guide/en/elasticsearch/reference/2.2/breaking_20_setting_changes.html#_command_line_flags for the breaking change nodes.

You can change the base config path, but that path needs to contain all config files, you cannot have one path for elasticsearch.yml, another for Shield etc.