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

Anton Gozhiy commented on DRILL-7520:
-------------------------------------

I made a fix by adding back some missing libraries. Here is the branch: 
https://github.com/agozhiy/drill/tree/DRILL-7520. A one major disadvantage of 
it is that the jdbc-all jar now contains MapR native client libs, and it is 
bloated to 96919225B. 
The better solution would be yo divide the jdbc-all to separate modules. There 
is already a task for this: DRILL-6800. 

> Cannot connect to Drill with PLAIN authentication enabled using JDBC client 
> (mapr profile)
> ------------------------------------------------------------------------------------------
>
>                 Key: DRILL-7520
>                 URL: https://issues.apache.org/jira/browse/DRILL-7520
>             Project: Apache Drill
>          Issue Type: Bug
>    Affects Versions: 1.16.0, 1.17.0
>            Reporter: Anton Gozhiy
>            Assignee: Anton Gozhiy
>            Priority: Major
>             Fix For: 1.18.0
>
>
> *Prerequisites:*
> # Drill with the JDBC driver is built with "mapr" profile
> # Security is enabled and PLAIN authentication is configured
> *Steps:*
> # Use some external JDBC client to connect (e.g. DBeaver)
> # Connection string: "jdbc:drill:drillbit=node1:31010"
> # Set appropriate user/password
> # Test Connection
> *Expected result:*
> Connection successful.
> *Actual result:*
> Exception happens:
> {noformat}
> SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
> SLF4J: Defaulting to no-operation (NOP) logger implementation
> SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further 
> details.
> Exception in thread "main" java.sql.SQLNonTransientConnectionException: 
> Failure in connecting to Drill: oadd.org.apache.drill.exec.rpc.RpcException: 
> HANDSHAKE_VALIDATION : org/apache/hadoop/conf/Configuration
>       at 
> org.apache.drill.jdbc.impl.DrillConnectionImpl.<init>(DrillConnectionImpl.java:178)
>       at 
> org.apache.drill.jdbc.impl.DrillJdbc41Factory.newDrillConnection(DrillJdbc41Factory.java:67)
>       at 
> org.apache.drill.jdbc.impl.DrillFactory.newConnection(DrillFactory.java:67)
>       at 
> oadd.org.apache.calcite.avatica.UnregisteredDriver.connect(UnregisteredDriver.java:138)
>       at org.apache.drill.jdbc.Driver.connect(Driver.java:75)
>       at java.sql.DriverManager.getConnection(DriverManager.java:664)
>       at java.sql.DriverManager.getConnection(DriverManager.java:247)
>       at TheBestClientEver.main(TheBestClientEver.java:28)
> Caused by: oadd.org.apache.drill.exec.rpc.RpcException: HANDSHAKE_VALIDATION 
> : org/apache/hadoop/conf/Configuration
>       at 
> oadd.org.apache.drill.exec.rpc.user.UserClient$2.connectionFailed(UserClient.java:315)
>       at 
> oadd.org.apache.drill.exec.rpc.user.QueryResultHandler$ChannelClosedHandler.connectionFailed(QueryResultHandler.java:396)
>       at 
> oadd.org.apache.drill.exec.rpc.ConnectionMultiListener$HandshakeSendHandler.success(ConnectionMultiListener.java:170)
>       at 
> oadd.org.apache.drill.exec.rpc.ConnectionMultiListener$HandshakeSendHandler.success(ConnectionMultiListener.java:143)
>       at 
> oadd.org.apache.drill.exec.rpc.RequestIdMap$RpcListener.set(RequestIdMap.java:134)
>       at 
> oadd.org.apache.drill.exec.rpc.BasicClient$ClientHandshakeHandler.consumeHandshake(BasicClient.java:318)
>       at 
> oadd.org.apache.drill.exec.rpc.AbstractHandshakeHandler.decode(AbstractHandshakeHandler.java:57)
>       at 
> oadd.org.apache.drill.exec.rpc.AbstractHandshakeHandler.decode(AbstractHandshakeHandler.java:29)
>       at 
> oadd.io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:88)
>       at 
> oadd.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356)
>       at 
> oadd.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342)
>       at 
> oadd.io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335)
>       at 
> oadd.io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102)
>       at 
> oadd.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356)
>       at 
> oadd.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342)
>       at 
> oadd.io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335)
>       at 
> oadd.io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:312)
>       at 
> oadd.io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:286)
>       at 
> oadd.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356)
>       at 
> oadd.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342)
>       at 
> oadd.io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335)
>       at 
> oadd.io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86)
>       at 
> oadd.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356)
>       at 
> oadd.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342)
>       at 
> oadd.io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335)
>       at 
> oadd.io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1294)
>       at 
> oadd.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356)
>       at 
> oadd.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342)
>       at 
> oadd.io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:911)
>       at 
> oadd.io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:131)
>       at 
> oadd.io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:645)
>       at 
> oadd.io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:580)
>       at 
> oadd.io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:497)
>       at oadd.io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:459)
>       at 
> oadd.io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:131)
>       at java.lang.Thread.run(Thread.java:748)
> Caused by: java.lang.NoClassDefFoundError: 
> org/apache/hadoop/conf/Configuration
>       at 
> oadd.org.apache.drill.exec.rpc.security.ClientAuthenticatorProvider.<init>(ClientAuthenticatorProvider.java:52)
>       at 
> oadd.org.apache.drill.exec.rpc.security.ClientAuthenticatorProvider.<init>(ClientAuthenticatorProvider.java:29)
>       at 
> oadd.org.apache.drill.exec.rpc.security.ClientAuthenticatorProvider$Holder.<clinit>(ClientAuthenticatorProvider.java:36)
>       at 
> oadd.org.apache.drill.exec.rpc.security.ClientAuthenticatorProvider.getInstance(ClientAuthenticatorProvider.java:44)
>       at 
> oadd.org.apache.drill.exec.rpc.user.UserClient.getAuthenticatorFactory(UserClient.java:362)
>       at 
> oadd.org.apache.drill.exec.rpc.user.UserClient.prepareSaslHandshake(UserClient.java:442)
>       at 
> oadd.org.apache.drill.exec.rpc.ConnectionMultiListener$HandshakeSendHandler.success(ConnectionMultiListener.java:160)
>       ... 33 more
> Caused by: java.lang.ClassNotFoundException: 
> org.apache.hadoop.conf.Configuration
>       at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
>       at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
>       at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
>       at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
>       ... 40 more
> {noformat}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to