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)