[ 
https://issues.apache.org/jira/browse/DRILL-7205?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Volodymyr Vysotskyi updated DRILL-7205:
---------------------------------------
    Labels: ready-to-commit  (was: )

> Drill fails to start when authentication is disabled
> ----------------------------------------------------
>
>                 Key: DRILL-7205
>                 URL: https://issues.apache.org/jira/browse/DRILL-7205
>             Project: Apache Drill
>          Issue Type: Bug
>    Affects Versions: 1.15.0, 1.16.0
>            Reporter: Arina Ielchiieva
>            Assignee: Anton Gozhiy
>            Priority: Major
>              Labels: ready-to-commit
>             Fix For: 1.17.0
>
>
> drill-override.conf content:
> {noformat}
> drill.exec: {
>   cluster-id: "drillbits1",
>   zk.connect: "localhost:2181",
>    impersonation: {
>       enabled: true,
>       max_chained_user_hops: 3
>   },
>   security.user.auth: {
>       enabled: false,
>       packages += "org.apache.drill.exec.rpc.user.security",
>       impl: "pam",
>       pam_profiles: [ "sudo", "login" ]
>   }
> }
> {noformat}
> Note that authentication is disabled {{enabled: false}}.
> Drill fails during start up:
> {noformat}
> DRILL_ARGS - " -u jdbc:drill:zk=local"
> Calculating HADOOP_CLASSPATH ...
> HBASE_HOME not detected...
> Calculating Drill classpath...
> Error: Failure in starting embedded Drillbit: 
> org.apache.drill.exec.exception.DrillbitStartupException: Problem in finding 
> the native library of JPAM (Pluggable Authenticator Module API). Make sure to 
> set Drillbit JVM option 'java.library.path' to point to the directory where 
> the native JPAM exists.:no jpam in java.library.path (state=,code=0)
> java.sql.SQLException: Failure in starting embedded Drillbit: 
> org.apache.drill.exec.exception.DrillbitStartupException: Problem in finding 
> the native library of JPAM (Pluggable Authenticator Module API). Make sure to 
> set Drillbit JVM option 'java.library.path' to point to the directory where 
> the native JPAM exists.:no jpam in java.library.path
>         at 
> org.apache.drill.jdbc.impl.DrillConnectionImpl.<init>(DrillConnectionImpl.java:143)
>         at 
> org.apache.drill.jdbc.impl.DrillJdbc41Factory.newDrillConnection(DrillJdbc41Factory.java:67)
>         at 
> org.apache.drill.jdbc.impl.DrillFactory.newConnection(DrillFactory.java:67)
>         at 
> org.apache.calcite.avatica.UnregisteredDriver.connect(UnregisteredDriver.java:138)
>         at org.apache.drill.jdbc.Driver.connect(Driver.java:72)
>         at sqlline.DatabaseConnection.connect(DatabaseConnection.java:130)
>         at 
> sqlline.DatabaseConnection.getConnection(DatabaseConnection.java:179)
>         at sqlline.Commands.connect(Commands.java:1278)
>         at sqlline.Commands.connect(Commands.java:1172)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>         at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:498)
>         at 
> sqlline.ReflectiveCommandHandler.execute(ReflectiveCommandHandler.java:38)
>         at sqlline.SqlLine.dispatch(SqlLine.java:736)
>         at sqlline.SqlLine.initArgs(SqlLine.java:428)
>         at sqlline.SqlLine.begin(SqlLine.java:531)
>         at sqlline.SqlLine.start(SqlLine.java:270)
>         at sqlline.SqlLine.main(SqlLine.java:201)
> Caused by: org.apache.drill.exec.exception.DrillbitStartupException: Problem 
> in finding the native library of JPAM (Pluggable Authenticator Module API). 
> Make sure to set Drillbit JVM option 'java.library.path' to point to the 
> directory where the native JPAM exists.:no jpam in java.library.path
>         at 
> org.apache.drill.exec.rpc.user.security.PamUserAuthenticator.setup(PamUserAuthenticator.java:52)
>         at 
> org.apache.drill.exec.rpc.user.security.UserAuthenticatorFactory.createAuthenticator(UserAuthenticatorFactory.java:98)
>         at 
> org.apache.drill.exec.rpc.security.AuthenticatorProviderImpl.<init>(AuthenticatorProviderImpl.java:66)
>         at 
> org.apache.drill.exec.server.BootStrapContext.<init>(BootStrapContext.java:83)
>         at org.apache.drill.exec.server.Drillbit.<init>(Drillbit.java:161)
>         at org.apache.drill.exec.server.Drillbit.<init>(Drillbit.java:125)
>         at 
> org.apache.drill.jdbc.impl.DrillConnectionImpl.<init>(DrillConnectionImpl.java:133)
>         ... 18 more
> Caused by: java.lang.UnsatisfiedLinkError: no jpam in java.library.path
>         at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1867)
>         at java.lang.Runtime.loadLibrary0(Runtime.java:870)
>         at java.lang.System.loadLibrary(System.java:1122)
>         at net.sf.jpam.Pam.<clinit>(Pam.java:51)
>         at 
> org.apache.drill.exec.rpc.user.security.PamUserAuthenticator.setup(PamUserAuthenticator.java:46)
>         ... 24 more
> Apache Drill 1.16.0
> "Let's Drill something more solid than concrete."
> apache drill> select * from sys.version;
> No current connection
> {noformat}
> If we remove authentication block from config, Drill starts without errors:
> {noformat}
> drill.exec: {
>   cluster-id: "drillbits1",
>   zk.connect: "localhost:2181",
>    impersonation: {
>       enabled: true,
>       max_chained_user_hops: 3
>   }
> }
> {noformat}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to