You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@drill.apache.org by "Usman Shahid (JIRA)" <ji...@apache.org> on 2017/02/21 10:15:44 UTC
[jira] [Updated] (DRILL-5280) Error during udf area creation due to
NullPointerException during drillbit startup
[ 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)