[ 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)