sohami commented on a change in pull request #1560: DRILL-6877: NPE when
starting Drill on Windows
URL: https://github.com/apache/drill/pull/1560#discussion_r238793517
##########
File path:
exec/java-exec/src/main/java/org/apache/drill/exec/server/Drillbit.java
##########
@@ -374,17 +374,22 @@ public void run () {
}
private void pollShutdown(Drillbit drillbit) throws IOException,
InterruptedException {
- final Path drillPidDirPath =
FileSystems.getDefault().getPath(System.getenv("DRILL_PID_DIR"));
- final String gracefulFileName = System.getenv("GRACEFUL_SIGFILE");
+ final String drillHome = System.getenv("DRILL_HOME");
+ final String gracefulFile = System.getenv("GRACEFUL_SIGFILE");
+ if (drillHome == null || gracefulFile == null) {
+ logger.warn("Cannot access graceful file. Graceful shutdown from
command line will not be supported.");
+ return;
+ }
+ final Path drillHomePath = FileSystems.getDefault().getPath(drillHome);
Review comment:
The defaultFileSystem is chosen either by
`java.nio.file.spi.DefaultFileSystemProvider` system property or system-default
one which is created
[here](https://github.com/frohoff/jdk8u-jdk/blob/master/src/solaris/classes/sun/nio/fs/DefaultFileSystemProvider.java#L57)
based on local filesystem
As far as DistributedFileSystem is concerned I don't see it provides any
constructor with a provider which NIO Filesystem expects and hence will fail in
that case. So the api should only be good for local filesystem.
Do we expect Drill binaries (not data) to be installed on Distributed
FileSystem as well ? If yes then this will not work and might throw
`RuntimeException`. May be we should catch and log warning in case of error on
this thread instead of throwing RuntimeException.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
With regards,
Apache Git Services