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)