Elasticsearch version (bin/elasticsearch --version):
5.6.3
Plugins installed: []
none
JVM version (java -version):
1.8.0_144
OS version (uname -a if on a Unix-like system):
Windows 10
Description of the problem including expected versus actual behavior:
When plugin folder is missing ES crashes on initialization
Steps to reproduce:
I know this is a bad usage, but I think a missing folder and an empty folder should have the same outcome.
Provide logs (if relevant):
[2017-10-25T22:08:56,004][WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [] uncaught exception in thread [main]
org.elasticsearch.bootstrap.StartupException: java.lang.IllegalStateException: plugins directory [D:GithubIsraelHikingMapSiteIsraelHiking.WebbinDebugnetcoreapp2.0Elasticsearchplugins] not found
at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:136) ~[elasticsearch-5.6.3.jar:5.6.3]
at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:123) ~[elasticsearch-5.6.3.jar:5.6.3]
at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:70) ~[elasticsearch-5.6.3.jar:5.6.3]
at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:134) ~[elasticsearch-5.6.3.jar:5.6.3]
at org.elasticsearch.cli.Command.main(Command.java:90) ~[elasticsearch-5.6.3.jar:5.6.3]
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:91) ~[elasticsearch-5.6.3.jar:5.6.3]
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:84) ~[elasticsearch-5.6.3.jar:5.6.3]
Caused by: java.lang.IllegalStateException: plugins directory [D:GithubIsraelHikingMapSiteIsraelHiking.WebbinDebugnetcoreapp2.0Elasticsearchplugins] not found
at org.elasticsearch.bootstrap.Spawner.spawnNativePluginControllers(Spawner.java:68) ~[elasticsearch-5.6.3.jar:5.6.3]
at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:168) ~[elasticsearch-5.6.3.jar:5.6.3]
at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:342) ~[elasticsearch-5.6.3.jar:5.6.3]
at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:132) ~[elasticsearch-5.6.3.jar:5.6.3]
... 6 more
@HarelM I think this is intentional. Think about it this way, if you run into this you must have deleted the plugin folder, since all of the elasticsearch distributions (tar.gz/zip, rpm, deb) contain an empty folder by default. If you deleted it, you might also have deleted plugins important for the correct functionality of the node you are starting. So I think this should be a hard error.
I see. I didn't thought about it this way. I just wanted a minimal structure to run ES without empty folders. 2.x used to work off config and lib only so I wanted the same simple structure.
This is on an old thread but I really think this should be a warning.
Plugins are not necessary to run elastic search. If the plugin directory is missing what kind of assumption is it that the app should crash?
Most helpful comment
@HarelM I think this is intentional. Think about it this way, if you run into this you must have deleted the plugin folder, since all of the elasticsearch distributions (tar.gz/zip, rpm, deb) contain an empty folder by default. If you deleted it, you might also have deleted plugins important for the correct functionality of the node you are starting. So I think this should be a hard error.