You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@drill.apache.org by "Gopi Kumar (JIRA)" <ji...@apache.org> on 2017/03/23 01:57:41 UTC

[jira] [Commented] (DRILL-5101) Provide boot-time option to disable the Dynamic UDF feature

    [ https://issues.apache.org/jira/browse/DRILL-5101?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15937552#comment-15937552 ] 

Gopi Kumar commented on DRILL-5101:
-----------------------------------

There is an issue on Windows Server 2012/2016 if you try to run Drill embedded as the admin user. (Yes. I understand it is not a good idea to run as admin in general. But in some cases it may be needed or just more convenient). 

By default the files created by the admin user are owned by "Builtin\Administrators" in Windows instead of by the individual admin user on Windows Server. Drill seems to check for the owner of the ~/drill/udf directory (and subdirectories it tries to create - registry, staging, tmp) to be same as the user that is running the drill embedded and fails at this point in the [code|https://git-wip-us.apache.org/repos/asf?p=drill.git;a=blob;f=exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/registry/RemoteFunctionRegistry.java;h=fe79583740d2201bb0daa818fb8596910ca165ff;hb=a33a1858949cbac3a9c2f636a02c0b7c5bc25906#l238]. It shows an error "Area XXX must be writable and executable for application user". 

Anyway this can be fixed to make it run on windows in these situations or checking if admin is running the owner of the udf directories is either same or "builtin\Administrators"?

> Provide boot-time option to disable the Dynamic UDF feature
> -----------------------------------------------------------
>
>                 Key: DRILL-5101
>                 URL: https://issues.apache.org/jira/browse/DRILL-5101
>             Project: Apache Drill
>          Issue Type: Bug
>    Affects Versions: 1.9.0
>            Reporter: Paul Rogers
>            Assignee: Arina Ielchiieva
>            Priority: Minor
>
> A Windows user on the mailing list could not start an embedded Drillbit because the Dynamic UDF feature tried to create a directory on the user's protected Users folder:
> {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}
> The fastest workaround (since this was an embedded Drillbit) would be to disable the Dynamic UDF feature. Unfortunately, the only option to do so is a runtime option that requires that the Drillbit be started. That creates a vicious circle: we can't start the Drillbit unless we disable Dynamic UDFs, but we can't disable them unless we start the Drillbit.
> The workaround might be to change the root directory, which is why this bug is marked minor.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)