[ https://issues.apache.org/jira/browse/DRILL-5280?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Usman Shahid updated DRILL-5280: -------------------------------- Description: I tried to start drill in distributed mode but ran into this: {code}Exception in thread "main" org.apache.drill.exec.exception.DrillbitStartupException: Failure during initial startup of Drillbit. at org.apache.drill.exec.server.Drillbit.start(Drillbit.java:296) at org.apache.drill.exec.server.Drillbit.start(Drillbit.java:272) at org.apache.drill.exec.server.Drillbit.main(Drillbit.java:268) Caused by: org.apache.drill.common.exceptions.DrillRuntimeException: Error during udf area creation [/C:/Users/Usman.Shahid/drill/udf/registry] on file system [file:///] at org.apache.drill.common.exceptions.DrillRuntimeException.format(DrillRuntimeException.java:49) at org.apache.drill.exec.expr.fn.registry.RemoteFunctionRegistry.createArea(RemoteFunctionRegistry.java:251) at org.apache.drill.exec.expr.fn.registry.RemoteFunctionRegistry.prepareAreas(RemoteFunctionRegistry.java:208) at org.apache.drill.exec.expr.fn.registry.RemoteFunctionRegistry.init(RemoteFunctionRegistry.java:105) at org.apache.drill.exec.server.Drillbit.run(Drillbit.java:126) at org.apache.drill.exec.server.Drillbit.start(Drillbit.java:292) ... 2 more Caused by: java.lang.NullPointerException at java.lang.ProcessBuilder.start(ProcessBuilder.java:1012) at org.apache.hadoop.util.Shell.runCommand(Shell.java:483) at org.apache.hadoop.util.Shell.run(Shell.java:456) at org.apache.hadoop.util.Shell$ShellCommandExecutor.execute(Shell.java:722) at org.apache.hadoop.util.Shell.execCommand(Shell.java:815) at org.apache.hadoop.util.Shell.execCommand(Shell.java:798) at org.apache.hadoop.fs.FileUtil.execCommand(FileUtil.java:1097) at org.apache.hadoop.fs.RawLocalFileSystem$DeprecatedRawLocalFileStatus.loadPermissionInfo(RawLocalFileSystem.java:654) at org.apache.hadoop.fs.RawLocalFileSystem$DeprecatedRawLocalFileStatus.getPermission(RawLocalFileSystem.java:629) at org.apache.drill.exec.expr.fn.registry.RemoteFunctionRegistry.createArea(RemoteFunctionRegistry.java:232) ... 6 more {code} The complete stack trace for the `NullPointerException` is: {code} Thread [main] (Suspended (exception NullPointerException)) owns: Object (id=57) ProcessBuilder.start() line: 1012 Shell$ShellCommandExecutor(Shell).runCommand() line: 483 Shell$ShellCommandExecutor(Shell).run() line: 456 Shell$ShellCommandExecutor.execute() line: 722 Shell.execCommand(Map<String,String>, String[], long) line: 815 Shell.execCommand(String...) line: 798 FileUtil.execCommand(File, String...) line: 1097 RawLocalFileSystem$DeprecatedRawLocalFileStatus.loadPermissionInfo() line: 654 RawLocalFileSystem$DeprecatedRawLocalFileStatus.getPermission() line: 629 RemoteFunctionRegistry.createArea(FileSystem, String, String) line: 232 RemoteFunctionRegistry.prepareAreas(DrillConfig) line: 208 RemoteFunctionRegistry.init(DrillConfig, PersistentStoreProvider, ClusterCoordinator) line: 105 Drillbit.run() line: 126 Drillbit.start(DrillConfig, RemoteServiceSet) line: 292 Drillbit.start(StartupOptions) line: 272 Drillbit.main(String[]) line: 268 {code} To further pinpoint it, the call to `Shell.getGetPermissionCommand()` at `RawLocalFileSystem$DeprecatedRawLocalFileStatus.loadPermissionInfo() ` returns a `new String[] { WINUTILS, "ls", "-F" }`. It's this `WINUTILS` that's null because my system doesn't have hadoop installed (nor do I intend to use it). The shortest workaround to this is to have a `HADOOP_HOME` environment variable pointing towards the `winutils.exe` bin directory. was: I tried to start drill in distributed mode but ran into this: `Exception in thread "main" org.apache.drill.exec.exception.DrillbitStartupException: Failure during initial startup of Drillbit. at org.apache.drill.exec.server.Drillbit.start(Drillbit.java:296) at org.apache.drill.exec.server.Drillbit.start(Drillbit.java:272) at org.apache.drill.exec.server.Drillbit.main(Drillbit.java:268) Caused by: org.apache.drill.common.exceptions.DrillRuntimeException: Error during udf area creation [/C:/Users/Usman.Shahid/drill/udf/registry] on file system [file:///] at org.apache.drill.common.exceptions.DrillRuntimeException.format(DrillRuntimeException.java:49) at org.apache.drill.exec.expr.fn.registry.RemoteFunctionRegistry.createArea(RemoteFunctionRegistry.java:251) at org.apache.drill.exec.expr.fn.registry.RemoteFunctionRegistry.prepareAreas(RemoteFunctionRegistry.java:208) at org.apache.drill.exec.expr.fn.registry.RemoteFunctionRegistry.init(RemoteFunctionRegistry.java:105) at org.apache.drill.exec.server.Drillbit.run(Drillbit.java:126) at org.apache.drill.exec.server.Drillbit.start(Drillbit.java:292) ... 2 more Caused by: java.lang.NullPointerException at java.lang.ProcessBuilder.start(ProcessBuilder.java:1012) at org.apache.hadoop.util.Shell.runCommand(Shell.java:483) at org.apache.hadoop.util.Shell.run(Shell.java:456) at org.apache.hadoop.util.Shell$ShellCommandExecutor.execute(Shell.java:722) at org.apache.hadoop.util.Shell.execCommand(Shell.java:815) at org.apache.hadoop.util.Shell.execCommand(Shell.java:798) at org.apache.hadoop.fs.FileUtil.execCommand(FileUtil.java:1097) at org.apache.hadoop.fs.RawLocalFileSystem$DeprecatedRawLocalFileStatus.loadPermissionInfo(RawLocalFileSystem.java:654) at org.apache.hadoop.fs.RawLocalFileSystem$DeprecatedRawLocalFileStatus.getPermission(RawLocalFileSystem.java:629) at org.apache.drill.exec.expr.fn.registry.RemoteFunctionRegistry.createArea(RemoteFunctionRegistry.java:232) ... 6 more ` The complete stack trace for the `NullPointerException` is: ` Thread [main] (Suspended (exception NullPointerException)) owns: Object (id=57) ProcessBuilder.start() line: 1012 Shell$ShellCommandExecutor(Shell).runCommand() line: 483 Shell$ShellCommandExecutor(Shell).run() line: 456 Shell$ShellCommandExecutor.execute() line: 722 Shell.execCommand(Map<String,String>, String[], long) line: 815 Shell.execCommand(String...) line: 798 FileUtil.execCommand(File, String...) line: 1097 RawLocalFileSystem$DeprecatedRawLocalFileStatus.loadPermissionInfo() line: 654 RawLocalFileSystem$DeprecatedRawLocalFileStatus.getPermission() line: 629 RemoteFunctionRegistry.createArea(FileSystem, String, String) line: 232 RemoteFunctionRegistry.prepareAreas(DrillConfig) line: 208 RemoteFunctionRegistry.init(DrillConfig, PersistentStoreProvider, ClusterCoordinator) line: 105 Drillbit.run() line: 126 Drillbit.start(DrillConfig, RemoteServiceSet) line: 292 Drillbit.start(StartupOptions) line: 272 Drillbit.main(String[]) line: 268 ` To further pinpoint it, the call to `Shell.getGetPermissionCommand()` at `RawLocalFileSystem$DeprecatedRawLocalFileStatus.loadPermissionInfo() ` returns a `new String[] { WINUTILS, "ls", "-F" }`. It's this `WINUTILS` that's null because my system doesn't have hadoop installed (nor do I intend to use it). The shortest workaround to this is to have a `HADOOP_HOME` environment variable pointing towards the `winutils.exe` bin directory. > Error during udf area creation due to NullPointerException during drillbit > startup > ---------------------------------------------------------------------------------- > > Key: DRILL-5280 > URL: https://issues.apache.org/jira/browse/DRILL-5280 > Project: Apache Drill > Issue Type: Bug > Environment: Windows 7 64-bit > Java(TM) SE Runtime Environment (build 1.8.0_111-b14) > Reporter: Usman Shahid > > I tried to start drill in distributed mode but ran into this: > {code}Exception in thread "main" > org.apache.drill.exec.exception.DrillbitStartupException: Failure during > initial startup of Drillbit. > at org.apache.drill.exec.server.Drillbit.start(Drillbit.java:296) > at org.apache.drill.exec.server.Drillbit.start(Drillbit.java:272) > at org.apache.drill.exec.server.Drillbit.main(Drillbit.java:268) > Caused by: org.apache.drill.common.exceptions.DrillRuntimeException: Error > during udf area creation [/C:/Users/Usman.Shahid/drill/udf/registry] on file > system [file:///] > at > org.apache.drill.common.exceptions.DrillRuntimeException.format(DrillRuntimeException.java:49) > at > org.apache.drill.exec.expr.fn.registry.RemoteFunctionRegistry.createArea(RemoteFunctionRegistry.java:251) > at > org.apache.drill.exec.expr.fn.registry.RemoteFunctionRegistry.prepareAreas(RemoteFunctionRegistry.java:208) > at > org.apache.drill.exec.expr.fn.registry.RemoteFunctionRegistry.init(RemoteFunctionRegistry.java:105) > at org.apache.drill.exec.server.Drillbit.run(Drillbit.java:126) > at org.apache.drill.exec.server.Drillbit.start(Drillbit.java:292) > ... 2 more > Caused by: java.lang.NullPointerException > at java.lang.ProcessBuilder.start(ProcessBuilder.java:1012) > at org.apache.hadoop.util.Shell.runCommand(Shell.java:483) > at org.apache.hadoop.util.Shell.run(Shell.java:456) > at > org.apache.hadoop.util.Shell$ShellCommandExecutor.execute(Shell.java:722) > at org.apache.hadoop.util.Shell.execCommand(Shell.java:815) > at org.apache.hadoop.util.Shell.execCommand(Shell.java:798) > at org.apache.hadoop.fs.FileUtil.execCommand(FileUtil.java:1097) > at > org.apache.hadoop.fs.RawLocalFileSystem$DeprecatedRawLocalFileStatus.loadPermissionInfo(RawLocalFileSystem.java:654) > at > org.apache.hadoop.fs.RawLocalFileSystem$DeprecatedRawLocalFileStatus.getPermission(RawLocalFileSystem.java:629) > at > org.apache.drill.exec.expr.fn.registry.RemoteFunctionRegistry.createArea(RemoteFunctionRegistry.java:232) > ... 6 more > {code} > The complete stack trace for the `NullPointerException` is: > {code} > Thread [main] (Suspended (exception NullPointerException)) > owns: Object (id=57) > ProcessBuilder.start() line: 1012 > Shell$ShellCommandExecutor(Shell).runCommand() line: 483 > Shell$ShellCommandExecutor(Shell).run() line: 456 > Shell$ShellCommandExecutor.execute() line: 722 > Shell.execCommand(Map<String,String>, String[], long) line: 815 > Shell.execCommand(String...) line: 798 > FileUtil.execCommand(File, String...) line: 1097 > RawLocalFileSystem$DeprecatedRawLocalFileStatus.loadPermissionInfo() > line: 654 > RawLocalFileSystem$DeprecatedRawLocalFileStatus.getPermission() line: > 629 > RemoteFunctionRegistry.createArea(FileSystem, String, String) line: 232 > RemoteFunctionRegistry.prepareAreas(DrillConfig) line: 208 > RemoteFunctionRegistry.init(DrillConfig, PersistentStoreProvider, > ClusterCoordinator) line: 105 > Drillbit.run() line: 126 > Drillbit.start(DrillConfig, RemoteServiceSet) line: 292 > Drillbit.start(StartupOptions) line: 272 > Drillbit.main(String[]) line: 268 > {code} > To further pinpoint it, the call to `Shell.getGetPermissionCommand()` at > `RawLocalFileSystem$DeprecatedRawLocalFileStatus.loadPermissionInfo() ` > returns a `new String[] { WINUTILS, "ls", "-F" }`. It's this `WINUTILS` > that's null because my system doesn't have hadoop installed (nor do I intend > to use it). > The shortest workaround to this is to have a `HADOOP_HOME` environment > variable pointing towards the `winutils.exe` bin directory. -- This message was sent by Atlassian JIRA (v6.3.15#6346)