Hi,

  I work on PAM authentication for Hive and I need to use
org.apache.hive.service.auth.PasswdAuthenticationProvider interface. I
configured my provider class in hive-site.xml correctly, but Hive threw
exception (see below). I think, there is problem in
CustomAuthenticationProviderImpl class, because first argument of getClass
method is not configuration key, but enum key. I’m sending patch, that
helps me to solve this problem.



Regards,



Zdenek





java.lang.RuntimeException: java.lang.NoSuchMethodException:
org.apache.hive.service.auth.PasswdAuthenticationProvider.<init>()

        at
org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:128)

        at
org.apache.hive.service.auth.CustomAuthenticationProviderImpl.<init>(CustomAuthenticationProviderImpl.java:20)

        at
org.apache.hive.service.auth.AuthenticationProviderFactory.getAuthenticationProvider(AuthenticationProviderFactory.java:57)

        at
org.apache.hive.service.auth.PlainSaslHelper$PlainServerCallbackHandler.handle(PlainSaslHelper.java:61)

        at
org.apache.hive.service.auth.PlainSaslServer.evaluateResponse(PlainSaslServer.java:127)

        at
org.apache.thrift.transport.TSaslTransport$SaslParticipant.evaluateChallengeOrResponse(TSaslTransport.java:509)

        at
org.apache.thrift.transport.TSaslTransport.open(TSaslTransport.java:264)

        at
org.apache.thrift.transport.TSaslServerTransport.open(TSaslServerTransport.java:41)

        at
org.apache.thrift.transport.TSaslServerTransport$Factory.getTransport(TSaslServerTransport.java:216)

        at
org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:189)

        at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)

        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)

        at java.lang.Thread.run(Thread.java:662)

Caused by: java.lang.NoSuchMethodException:
org.apache.hive.service.auth.PasswdAuthenticationProvider.<init>()

        at java.lang.Class.getConstructor0(Class.java:2706)

        at java.lang.Class.getDeclaredConstructor(Class.java:1985)

        at
org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:122)

        ... 12 more

Reply via email to