Only check existence for absolute paths in env.resolveConfig() #10854
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When resolving a path using
env.resolveConfig(String)
, it first checks for the path existence in the current working directory. This can fails when the security manager is enabled and elasticsearch not started from the ES_HOME directory like with init.d/systemd scripts or also with ./path/to/elasticsearch/bin/elasticsearch: Files.exist() resolves against the working directory and fails with a SecurityException.I'm not sure we always need to set "user.dir" so I add a check for absolute path. This couldn't hurt much since the following
f1.toUri().toURL()
expects an absolute path.What do you think?