Adar Dembo created KUDU-1947:
--------------------------------

             Summary: Old Java client throws strange exception when talking to 
a Kerberized cluster
                 Key: KUDU-1947
                 URL: https://issues.apache.org/jira/browse/KUDU-1947
             Project: Kudu
          Issue Type: Bug
          Components: java
    Affects Versions: 1.3.0
            Reporter: Adar Dembo


I have a cluster whose authn-related non-default flags look like this:
{noformat}
--rpc_authentication=required
--rpc_encryption=required
--keytab_file=/run/cloudera-scm-agent/process/2-kudu-KUDU_MASTER/kudu.keytab
{noformat}

Against this, I'm trying to run some pretty old Kudu test code that uses the 
Java client, and I'm seeing an unexpected exception while creating a 
KuduClient. I don't expect this to work (since pre-1.3.0 clients can't interact 
with clusters that require authn), but the error message is inscrutable. I've 
reproduced this using a Java client from 0.10.0 as well as from 1.2.0.

{noformat}
2017-03-17 19:56:43,535 (New I/O worker #8) [ERROR - 
org.apache.kudu.client.TabletClient.exceptionCaught(TabletClient.java:793)] 
[Peer Kudu Master - adar-1.gce.cloudera.com:7051] Unexpected exception from 
downstream on [id: 0xfbb0485a, /172.31.112.89:54724 => /172.31.112.89:7051]
java.lang.RuntimeException: Could not deserialize the response, incompatible 
RPC? Error is: state
        at org.apache.kudu.client.KuduRpc.readProtobuf(KuduRpc.java:364)
        at 
org.apache.kudu.client.SecureRpcHelper.parseSaslMsgResponse(SecureRpcHelper.java:204)
        at 
org.apache.kudu.client.SecureRpcHelper.handleResponse(SecureRpcHelper.java:131)
        at org.apache.kudu.client.TabletClient.decode(TabletClient.java:386)
        at org.apache.kudu.client.TabletClient.decode(TabletClient.java:82)
        at 
org.apache.kudu.client.shaded.org.jboss.netty.handler.codec.replay.ReplayingDecoder.callDecode(ReplayingDecoder.java:500)
        at 
org.apache.kudu.client.shaded.org.jboss.netty.handler.codec.replay.ReplayingDecoder.messageReceived(ReplayingDecoder.java:435)
        at 
org.apache.kudu.client.shaded.org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)
        at 
org.apache.kudu.client.TabletClient.handleUpstream(TabletClient.java:677)
        at 
org.apache.kudu.client.shaded.org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
        at 
org.apache.kudu.client.shaded.org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)
        at 
org.apache.kudu.client.shaded.org.jboss.netty.handler.timeout.ReadTimeoutHandler.messageReceived(ReadTimeoutHandler.java:184)
        at 
org.apache.kudu.client.shaded.org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)
        at 
org.apache.kudu.client.shaded.org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
        at 
org.apache.kudu.client.shaded.org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:559)
        at 
org.apache.kudu.client.shaded.org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:268)
        at 
org.apache.kudu.client.shaded.org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:255)
        at 
org.apache.kudu.client.shaded.org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:88)
        at 
org.apache.kudu.client.shaded.org.jboss.netty.channel.socket.nio.AbstractNioWorker.process(AbstractNioWorker.java:108)
        at 
org.apache.kudu.client.shaded.org.jboss.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:337)
        at 
org.apache.kudu.client.shaded.org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:89)
        at 
org.apache.kudu.client.shaded.org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:178)
        at 
org.apache.kudu.client.shaded.org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108)
        at 
org.apache.kudu.client.shaded.org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:745)
{noformat}




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

Reply via email to