Description
I have a cluster whose authn-related non-default flags look like this:
--rpc_authentication=required --rpc_encryption=required --keytab_file=/run/cloudera-scm-agent/process/2-kudu-KUDU_MASTER/kudu.keytab
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.
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)