Paul Rogers created DRILL-5102:
----------------------------------
Summary: Use a different root path for Dynamic UDF directories in local vs. DFS
modes
Key: DRILL-5102
URL: https://issues.apache.org/jira/browse/DRILL-5102
Project: Apache Drill
Issue Type: Bug
Affects Versions: 1.9.0
Reporter: Paul Rogers
Assignee: Arina Ielchiieva
Priority: Minor
A user on the Drill mail list tried to start an embedded Drillbit on Windows and got the error
shown below.
The problem is that the Dynamic UDF feature has a "root" option which defaults to "User/<name-of-user>".
On Windows, "User" is a special folder with limited permissions. On Windows, it is uncommon
to create directories directly under the User's home folder. Instead, files are usually put
under Documents, AppData, etc.
On the Mac, "/Users/<name-of-user>" is the user's home directory, another awkward place
to put app-specific files.
On Linux, the "/Users" folder probably won't exist and the user probably won't have permission
to create a new top-level folder.
However, on HDFS, "/user/<user-name>" is the typical pattern.
The Dynamic UDF feature needs a way to calculate a good default root suitable for the type
of file system. For "file:///", it should be in a Drill temp directory (perhaps along side
the storage plugins in /tmp/drill." On HDFS, it should default to "/user/drill" or "/user/<user-name>".
On Windows... Not sure where Drill puts its embedded metadata files, but the default Dynamic
UDF location should be the same.
{code}
Error: Failure in starting embedded Drillbit: org.apache.drill.common.exceptions
.DrillRuntimeException: Error during udf area creation [/C:/Users/ivy.chan/drill
/udf/registry] on file system [file:///] (state=,code=0)
java.sql.SQLException: Failure in starting embedded Drillbit: org.apache.drill.c
ommon.exceptions.DrillRuntimeException: Error during udf area creation [/C:/User
s/ivy.chan/drill/udf/registry] on file system [file:///]
at org.apache.drill.jdbc.impl.DrillConnectionImpl.<init>(DrillConnection
Impl.java:128)
at org.apache.drill.jdbc.impl.DrillJdbc41Factory.newDrillConnection(Dril
lJdbc41Factory.java:70)
at org.apache.drill.jdbc.impl.DrillFactory.newConnection(DrillFactory.ja
va:69)
...
{code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
|