public class oadd.org.apache.drill.exec.rpc.user.UserClient extends oadd.org.apache.drill.exec.rpc.BasicClient
{
private static final org.slf4j.Logger logger;
private final oadd.org.apache.drill.exec.memory.BufferAllocator allocator;
private final oadd.org.apache.drill.exec.rpc.user.QueryResultHandler queryResultHandler;
private final java.lang.String clientName;
private final boolean supportComplexTypes;
private oadd.org.apache.drill.exec.proto.UserProtos$RpcEndpointInfos serverInfos;
private java.util.Set supportedMethods;
private oadd.org.apache.drill.exec.ssl.SSLConfig sslConfig;
private oadd.org.apache.drill.exec.proto.CoordinationProtos$DrillbitEndpoint endpoint;
private oadd.org.apache.drill.common.config.DrillProperties properties;
public void <init>(java.lang.String, oadd.org.apache.drill.common.config.DrillConfig, java.util.Properties, boolean, oadd.org.apache.drill.exec.memory.BufferAllocator, oadd.io.netty.channel.EventLoopGroup, java.util.concurrent.Executor, oadd.org.apache.drill.exec.proto.CoordinationProtos$DrillbitEndpoint) throws oadd.org.apache.drill.exec.rpc.NonTransientRpcException
{
oadd.org.apache.drill.common.config.DrillConfig v;
oadd.org.apache.drill.exec.proto.UserProtos$RpcType v;
oadd.org.apache.drill.exec.ssl.SSLConfig$Mode v;
oadd.com.google.protobuf.Parser v;
oadd.org.apache.drill.common.config.DrillProperties v;
oadd.org.apache.drill.exec.ssl.SSLConfigBuilder v, v, v, v, v;
oadd.org.apache.drill.exec.client.InvalidConnectionInfoException v;
oadd.org.apache.drill.exec.proto.CoordinationProtos$DrillbitEndpoint v;
oadd.io.netty.buffer.ByteBufAllocator v;
java.lang.String v, v;
boolean v;
oadd.org.apache.drill.exec.rpc.RpcConfig v;
oadd.io.netty.channel.EventLoopGroup v;
java.util.Properties v;
oadd.org.apache.drill.common.exceptions.DrillException v;
java.util.concurrent.Executor v;
oadd.org.apache.drill.exec.rpc.user.QueryResultHandler v;
oadd.org.apache.drill.exec.rpc.user.UserClient v;
oadd.org.apache.drill.exec.memory.BufferAllocator v;
oadd.org.apache.drill.exec.ssl.SSLConfig v;
v := @this: oadd.org.apache.drill.exec.rpc.user.UserClient;
v := @parameter: java.lang.String;
v := @parameter: oadd.org.apache.drill.common.config.DrillConfig;
v := @parameter: java.util.Properties;
v := @parameter: boolean;
v := @parameter: oadd.org.apache.drill.exec.memory.BufferAllocator;
v := @parameter: oadd.io.netty.channel.EventLoopGroup;
v := @parameter: java.util.concurrent.Executor;
v := @parameter: oadd.org.apache.drill.exec.proto.CoordinationProtos$DrillbitEndpoint;
v = staticinvoke <oadd.org.apache.drill.exec.rpc.user.UserRpcConfig: oadd.org.apache.drill.exec.rpc.RpcConfig getMapping(oadd.org.apache.drill.common.config.DrillConfig,java.util.concurrent.Executor)>(v, v);
v = interfaceinvoke v.<oadd.org.apache.drill.exec.memory.BufferAllocator: oadd.io.netty.buffer.ByteBufAllocator getAsByteBufAllocator()>();
v = <oadd.org.apache.drill.exec.proto.UserProtos$RpcType: oadd.org.apache.drill.exec.proto.UserProtos$RpcType HANDSHAKE>;
v = <oadd.org.apache.drill.exec.proto.UserProtos$BitToUserHandshake: oadd.com.google.protobuf.Parser PARSER>;
specialinvoke v.<oadd.org.apache.drill.exec.rpc.BasicClient: void <init>(oadd.org.apache.drill.exec.rpc.RpcConfig,oadd.io.netty.buffer.ByteBufAllocator,oadd.io.netty.channel.EventLoopGroup,oadd.com.google.protobuf.Internal$EnumLite,java.lang.Class,oadd.com.google.protobuf.Parser)>(v, v, v, v, class "Loadd/org/apache/drill/exec/proto/UserProtos$BitToUserHandshake;", v);
v = new oadd.org.apache.drill.exec.rpc.user.QueryResultHandler;
specialinvoke v.<oadd.org.apache.drill.exec.rpc.user.QueryResultHandler: void <init>()>();
v.<oadd.org.apache.drill.exec.rpc.user.UserClient: oadd.org.apache.drill.exec.rpc.user.QueryResultHandler queryResultHandler> = v;
v.<oadd.org.apache.drill.exec.rpc.user.UserClient: oadd.org.apache.drill.exec.proto.UserProtos$RpcEndpointInfos serverInfos> = null;
v.<oadd.org.apache.drill.exec.rpc.user.UserClient: java.util.Set supportedMethods> = null;
v.<oadd.org.apache.drill.exec.rpc.user.UserClient: oadd.org.apache.drill.exec.proto.CoordinationProtos$DrillbitEndpoint endpoint> = v;
v.<oadd.org.apache.drill.exec.rpc.user.UserClient: java.lang.String clientName> = v;
v.<oadd.org.apache.drill.exec.rpc.user.UserClient: oadd.org.apache.drill.exec.memory.BufferAllocator allocator> = v;
v.<oadd.org.apache.drill.exec.rpc.user.UserClient: boolean supportComplexTypes> = v;
label:
v = new oadd.org.apache.drill.exec.ssl.SSLConfigBuilder;
specialinvoke v.<oadd.org.apache.drill.exec.ssl.SSLConfigBuilder: void <init>()>();
v = virtualinvoke v.<oadd.org.apache.drill.exec.ssl.SSLConfigBuilder: oadd.org.apache.drill.exec.ssl.SSLConfigBuilder properties(java.util.Properties)>(v);
v = <oadd.org.apache.drill.exec.ssl.SSLConfig$Mode: oadd.org.apache.drill.exec.ssl.SSLConfig$Mode CLIENT>;
v = virtualinvoke v.<oadd.org.apache.drill.exec.ssl.SSLConfigBuilder: oadd.org.apache.drill.exec.ssl.SSLConfigBuilder mode(oadd.org.apache.drill.exec.ssl.SSLConfig$Mode)>(v);
v = virtualinvoke v.<oadd.org.apache.drill.exec.ssl.SSLConfigBuilder: oadd.org.apache.drill.exec.ssl.SSLConfigBuilder initializeSSLContext(boolean)>(1);
v = virtualinvoke v.<oadd.org.apache.drill.exec.ssl.SSLConfigBuilder: oadd.org.apache.drill.exec.ssl.SSLConfigBuilder validateKeyStore(boolean)>(0);
v = virtualinvoke v.<oadd.org.apache.drill.exec.ssl.SSLConfigBuilder: oadd.org.apache.drill.exec.ssl.SSLConfig build()>();
v.<oadd.org.apache.drill.exec.rpc.user.UserClient: oadd.org.apache.drill.exec.ssl.SSLConfig sslConfig> = v;
label:
goto label;
label:
v := @caughtexception;
v = new oadd.org.apache.drill.exec.client.InvalidConnectionInfoException;
v = virtualinvoke v.<oadd.org.apache.drill.common.exceptions.DrillException: java.lang.String getMessage()>();
specialinvoke v.<oadd.org.apache.drill.exec.client.InvalidConnectionInfoException: void <init>(java.lang.String)>(v);
throw v;
label:
v = staticinvoke <oadd.org.apache.drill.common.config.DrillProperties: oadd.org.apache.drill.common.config.DrillProperties createFromProperties(java.util.Properties)>(v);
v.<oadd.org.apache.drill.exec.rpc.user.UserClient: oadd.org.apache.drill.common.config.DrillProperties properties> = v;
return;
catch oadd.org.apache.drill.common.exceptions.DrillException from label to label with label;
}
protected void setupSSL(oadd.io.netty.channel.ChannelPipeline, oadd.org.apache.drill.exec.rpc.ConnectionMultiListener$SSLHandshakeListener)
{
oadd.io.netty.util.concurrent.Future v;
javax.net.ssl.SSLEngine v;
oadd.org.apache.drill.exec.proto.CoordinationProtos$DrillbitEndpoint v, v;
int v, v;
java.lang.String v, v;
oadd.io.netty.channel.ChannelPipeline v;
org.slf4j.Logger v;
oadd.io.netty.handler.ssl.SslHandler v;
oadd.org.apache.drill.exec.rpc.user.UserClient v;
oadd.org.apache.drill.exec.memory.BufferAllocator v;
oadd.org.apache.drill.exec.rpc.ConnectionMultiListener$SSLHandshakeListener v;
oadd.org.apache.drill.exec.ssl.SSLConfig v, v, v;
v := @this: oadd.org.apache.drill.exec.rpc.user.UserClient;
v := @parameter: oadd.io.netty.channel.ChannelPipeline;
v := @parameter: oadd.org.apache.drill.exec.rpc.ConnectionMultiListener$SSLHandshakeListener;
v = v.<oadd.org.apache.drill.exec.rpc.user.UserClient: oadd.org.apache.drill.exec.proto.CoordinationProtos$DrillbitEndpoint endpoint>;
v = virtualinvoke v.<oadd.org.apache.drill.exec.proto.CoordinationProtos$DrillbitEndpoint: java.lang.String getAddress()>();
v = v.<oadd.org.apache.drill.exec.rpc.user.UserClient: oadd.org.apache.drill.exec.proto.CoordinationProtos$DrillbitEndpoint endpoint>;
v = virtualinvoke v.<oadd.org.apache.drill.exec.proto.CoordinationProtos$DrillbitEndpoint: int getUserPort()>();
v = v.<oadd.org.apache.drill.exec.rpc.user.UserClient: oadd.org.apache.drill.exec.ssl.SSLConfig sslConfig>;
v = v.<oadd.org.apache.drill.exec.rpc.user.UserClient: oadd.org.apache.drill.exec.memory.BufferAllocator allocator>;
v = virtualinvoke v.<oadd.org.apache.drill.exec.ssl.SSLConfig: javax.net.ssl.SSLEngine createSSLEngine(oadd.org.apache.drill.exec.memory.BufferAllocator,java.lang.String,int)>(v, v, v);
v = new oadd.io.netty.handler.ssl.SslHandler;
specialinvoke v.<oadd.io.netty.handler.ssl.SslHandler: void <init>(javax.net.ssl.SSLEngine)>(v);
v = v.<oadd.org.apache.drill.exec.rpc.user.UserClient: oadd.org.apache.drill.exec.ssl.SSLConfig sslConfig>;
v = virtualinvoke v.<oadd.org.apache.drill.exec.ssl.SSLConfig: int getHandshakeTimeout()>();
virtualinvoke v.<oadd.io.netty.handler.ssl.SslHandler: void setHandshakeTimeoutMillis(long)>(v);
v = virtualinvoke v.<oadd.io.netty.handler.ssl.SslHandler: oadd.io.netty.util.concurrent.Future handshakeFuture()>();
interfaceinvoke v.<oadd.io.netty.util.concurrent.Future: oadd.io.netty.util.concurrent.Future addListener(oadd.io.netty.util.concurrent.GenericFutureListener)>(v);
interfaceinvoke v.<oadd.io.netty.channel.ChannelPipeline: oadd.io.netty.channel.ChannelPipeline addFirst(java.lang.String,oadd.io.netty.channel.ChannelHandler)>("ssl-handler", v);
v = <oadd.org.apache.drill.exec.rpc.user.UserClient: org.slf4j.Logger logger>;
v = v.<oadd.org.apache.drill.exec.rpc.user.UserClient: oadd.org.apache.drill.exec.ssl.SSLConfig sslConfig>;
v = virtualinvoke v.<oadd.org.apache.drill.exec.ssl.SSLConfig: java.lang.String toString()>();
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String)>(v);
return;
}
protected boolean isSslEnabled()
{
oadd.org.apache.drill.exec.rpc.user.UserClient v;
boolean v;
oadd.org.apache.drill.exec.ssl.SSLConfig v;
v := @this: oadd.org.apache.drill.exec.rpc.user.UserClient;
v = v.<oadd.org.apache.drill.exec.rpc.user.UserClient: oadd.org.apache.drill.exec.ssl.SSLConfig sslConfig>;
v = virtualinvoke v.<oadd.org.apache.drill.exec.ssl.SSLConfig: boolean isUserSslEnabled()>();
return v;
}
public oadd.org.apache.drill.exec.proto.UserProtos$RpcEndpointInfos getServerInfos()
{
oadd.org.apache.drill.exec.rpc.user.UserClient v;
oadd.org.apache.drill.exec.proto.UserProtos$RpcEndpointInfos v;
v := @this: oadd.org.apache.drill.exec.rpc.user.UserClient;
v = v.<oadd.org.apache.drill.exec.rpc.user.UserClient: oadd.org.apache.drill.exec.proto.UserProtos$RpcEndpointInfos serverInfos>;
return v;
}
public java.util.Set getSupportedMethods()
{
java.util.Set v;
oadd.org.apache.drill.exec.rpc.user.UserClient v;
v := @this: oadd.org.apache.drill.exec.rpc.user.UserClient;
v = v.<oadd.org.apache.drill.exec.rpc.user.UserClient: java.util.Set supportedMethods>;
return v;
}
public void submitQuery(oadd.org.apache.drill.exec.rpc.user.UserResultsListener, oadd.org.apache.drill.exec.proto.UserProtos$RunQuery)
{
oadd.io.netty.buffer.ByteBuf[] v;
oadd.org.apache.drill.exec.rpc.user.UserClient v;
oadd.org.apache.drill.exec.proto.UserProtos$RunQuery v;
oadd.org.apache.drill.exec.rpc.user.UserResultsListener v;
oadd.org.apache.drill.exec.proto.UserProtos$RpcType v;
oadd.org.apache.drill.exec.rpc.user.QueryResultHandler v;
oadd.org.apache.drill.exec.rpc.RpcOutcomeListener v;
v := @this: oadd.org.apache.drill.exec.rpc.user.UserClient;
v := @parameter: oadd.org.apache.drill.exec.rpc.user.UserResultsListener;
v := @parameter: oadd.org.apache.drill.exec.proto.UserProtos$RunQuery;
v = v.<oadd.org.apache.drill.exec.rpc.user.UserClient: oadd.org.apache.drill.exec.rpc.user.QueryResultHandler queryResultHandler>;
v = virtualinvoke v.<oadd.org.apache.drill.exec.rpc.user.QueryResultHandler: oadd.org.apache.drill.exec.rpc.RpcOutcomeListener getWrappedListener(oadd.org.apache.drill.exec.rpc.user.UserResultsListener)>(v);
v = <oadd.org.apache.drill.exec.proto.UserProtos$RpcType: oadd.org.apache.drill.exec.proto.UserProtos$RpcType RUN_QUERY>;
v = newarray (oadd.io.netty.buffer.ByteBuf)[0];
virtualinvoke v.<oadd.org.apache.drill.exec.rpc.user.UserClient: void send(oadd.org.apache.drill.exec.rpc.RpcOutcomeListener,oadd.com.google.protobuf.Internal$EnumLite,oadd.com.google.protobuf.MessageLite,java.lang.Class,oadd.io.netty.buffer.ByteBuf[])>(v, v, v, class "Loadd/org/apache/drill/exec/proto/UserBitShared$QueryId;", v);
return;
}
public void connect(oadd.org.apache.drill.exec.proto.CoordinationProtos$DrillbitEndpoint, oadd.org.apache.drill.common.config.DrillProperties, oadd.org.apache.drill.exec.proto.UserBitShared$UserCredentials) throws oadd.org.apache.drill.exec.rpc.RpcException
{
oadd.org.apache.drill.exec.proto.UserProtos$UserProperties v;
java.util.concurrent.TimeoutException v;
oadd.org.apache.drill.exec.rpc.RpcException v, v;
javax.security.sasl.SaslException v;
oadd.org.apache.drill.exec.proto.UserProtos$RpcEndpointInfos v;
oadd.org.apache.drill.exec.proto.UserProtos$UserToBitHandshake$Builder v, v, v, v, v, v, v, v, v;
boolean v, v, v;
java.lang.Exception v;
oadd.org.apache.drill.exec.proto.UserProtos$UserToBitHandshake v, v;
oadd.org.apache.drill.exec.rpc.NonTransientRpcException v, v;
oadd.org.apache.drill.common.config.DrillProperties v;
oadd.org.apache.drill.exec.proto.CoordinationProtos$DrillbitEndpoint v;
oadd.org.apache.drill.common.concurrent.CheckedFuture v, v;
int v, v;
java.lang.String v, v, v, v;
oadd.org.apache.drill.exec.proto.UserProtos$SaslSupport v, v;
java.util.concurrent.TimeUnit v;
oadd.org.apache.drill.exec.proto.UserBitShared$UserCredentials v;
oadd.org.apache.drill.exec.rpc.user.UserClient v;
oadd.org.apache.drill.exec.ssl.SSLConfig v, v;
v := @this: oadd.org.apache.drill.exec.rpc.user.UserClient;
v := @parameter: oadd.org.apache.drill.exec.proto.CoordinationProtos$DrillbitEndpoint;
v := @parameter: oadd.org.apache.drill.common.config.DrillProperties;
v := @parameter: oadd.org.apache.drill.exec.proto.UserBitShared$UserCredentials;
v = staticinvoke <oadd.org.apache.drill.exec.proto.UserProtos$UserToBitHandshake: oadd.org.apache.drill.exec.proto.UserProtos$UserToBitHandshake$Builder newBuilder()>();
v = virtualinvoke v.<oadd.org.apache.drill.exec.proto.UserProtos$UserToBitHandshake$Builder: oadd.org.apache.drill.exec.proto.UserProtos$UserToBitHandshake$Builder setRpcVersion(int)>(5);
v = virtualinvoke v.<oadd.org.apache.drill.exec.proto.UserProtos$UserToBitHandshake$Builder: oadd.org.apache.drill.exec.proto.UserProtos$UserToBitHandshake$Builder setSupportListening(boolean)>(1);
v = v.<oadd.org.apache.drill.exec.rpc.user.UserClient: boolean supportComplexTypes>;
v = virtualinvoke v.<oadd.org.apache.drill.exec.proto.UserProtos$UserToBitHandshake$Builder: oadd.org.apache.drill.exec.proto.UserProtos$UserToBitHandshake$Builder setSupportComplexTypes(boolean)>(v);
v = virtualinvoke v.<oadd.org.apache.drill.exec.proto.UserProtos$UserToBitHandshake$Builder: oadd.org.apache.drill.exec.proto.UserProtos$UserToBitHandshake$Builder setSupportTimeout(boolean)>(1);
v = virtualinvoke v.<oadd.org.apache.drill.exec.proto.UserProtos$UserToBitHandshake$Builder: oadd.org.apache.drill.exec.proto.UserProtos$UserToBitHandshake$Builder setCredentials(oadd.org.apache.drill.exec.proto.UserBitShared$UserCredentials)>(v);
v = v.<oadd.org.apache.drill.exec.rpc.user.UserClient: java.lang.String clientName>;
v = staticinvoke <oadd.org.apache.drill.exec.rpc.user.UserRpcUtils: oadd.org.apache.drill.exec.proto.UserProtos$RpcEndpointInfos getRpcEndpointInfos(java.lang.String)>(v);
v = virtualinvoke v.<oadd.org.apache.drill.exec.proto.UserProtos$UserToBitHandshake$Builder: oadd.org.apache.drill.exec.proto.UserProtos$UserToBitHandshake$Builder setClientInfos(oadd.org.apache.drill.exec.proto.UserProtos$RpcEndpointInfos)>(v);
v = <oadd.org.apache.drill.exec.proto.UserProtos$SaslSupport: oadd.org.apache.drill.exec.proto.UserProtos$SaslSupport SASL_PRIVACY>;
v = virtualinvoke v.<oadd.org.apache.drill.exec.proto.UserProtos$UserToBitHandshake$Builder: oadd.org.apache.drill.exec.proto.UserProtos$UserToBitHandshake$Builder setSaslSupport(oadd.org.apache.drill.exec.proto.UserProtos$SaslSupport)>(v);
v = virtualinvoke v.<oadd.org.apache.drill.common.config.DrillProperties: oadd.org.apache.drill.exec.proto.UserProtos$UserProperties serializeForServer()>();
v = virtualinvoke v.<oadd.org.apache.drill.exec.proto.UserProtos$UserToBitHandshake$Builder: oadd.org.apache.drill.exec.proto.UserProtos$UserToBitHandshake$Builder setProperties(oadd.org.apache.drill.exec.proto.UserProtos$UserProperties)>(v);
v = virtualinvoke v.<oadd.org.apache.drill.common.config.DrillProperties: boolean containsKey(java.lang.Object)>("test_sasl_level");
if v == 0 goto label;
v = virtualinvoke v.<oadd.org.apache.drill.common.config.DrillProperties: java.lang.String getProperty(java.lang.String)>("test_sasl_level");
v = staticinvoke <java.lang.Integer: int parseInt(java.lang.String)>(v);
v = staticinvoke <oadd.org.apache.drill.exec.proto.UserProtos$SaslSupport: oadd.org.apache.drill.exec.proto.UserProtos$SaslSupport valueOf(int)>(v);
virtualinvoke v.<oadd.org.apache.drill.exec.proto.UserProtos$UserToBitHandshake$Builder: oadd.org.apache.drill.exec.proto.UserProtos$UserToBitHandshake$Builder setSaslSupport(oadd.org.apache.drill.exec.proto.UserProtos$SaslSupport)>(v);
label:
v = v.<oadd.org.apache.drill.exec.rpc.user.UserClient: oadd.org.apache.drill.exec.ssl.SSLConfig sslConfig>;
v = virtualinvoke v.<oadd.org.apache.drill.exec.ssl.SSLConfig: boolean isUserSslEnabled()>();
if v == 0 goto label;
v = virtualinvoke v.<oadd.org.apache.drill.exec.proto.UserProtos$UserToBitHandshake$Builder: oadd.org.apache.drill.exec.proto.UserProtos$UserToBitHandshake build()>();
v = specialinvoke v.<oadd.org.apache.drill.exec.rpc.user.UserClient: oadd.org.apache.drill.common.concurrent.CheckedFuture connect(oadd.org.apache.drill.exec.proto.UserProtos$UserToBitHandshake,oadd.org.apache.drill.exec.proto.CoordinationProtos$DrillbitEndpoint)>(v, v);
v = v.<oadd.org.apache.drill.exec.rpc.user.UserClient: oadd.org.apache.drill.exec.ssl.SSLConfig sslConfig>;
v = virtualinvoke v.<oadd.org.apache.drill.exec.ssl.SSLConfig: int getHandshakeTimeout()>();
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit MILLISECONDS>;
interfaceinvoke v.<oadd.org.apache.drill.common.concurrent.CheckedFuture: java.lang.Object checkedGet(long,java.util.concurrent.TimeUnit)>(v, v);
goto label;
label:
v = virtualinvoke v.<oadd.org.apache.drill.exec.proto.UserProtos$UserToBitHandshake$Builder: oadd.org.apache.drill.exec.proto.UserProtos$UserToBitHandshake build()>();
v = specialinvoke v.<oadd.org.apache.drill.exec.rpc.user.UserClient: oadd.org.apache.drill.common.concurrent.CheckedFuture connect(oadd.org.apache.drill.exec.proto.UserProtos$UserToBitHandshake,oadd.org.apache.drill.exec.proto.CoordinationProtos$DrillbitEndpoint)>(v, v);
interfaceinvoke v.<oadd.org.apache.drill.common.concurrent.CheckedFuture: java.lang.Object checkedGet()>();
label:
goto label;
label:
v := @caughtexception;
v = virtualinvoke v.<java.util.concurrent.TimeoutException: java.lang.String getMessage()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Connecting to the server timed out. This is sometimes due to a mismatch in the SSL configuration between client and server. [ Exception: \u]");
v = new oadd.org.apache.drill.exec.rpc.NonTransientRpcException;
specialinvoke v.<oadd.org.apache.drill.exec.rpc.NonTransientRpcException: void <init>(java.lang.String)>(v);
throw v;
label:
v := @caughtexception;
v = new oadd.org.apache.drill.exec.rpc.NonTransientRpcException;
specialinvoke v.<oadd.org.apache.drill.exec.rpc.NonTransientRpcException: void <init>(java.lang.Throwable)>(v);
throw v;
label:
v := @caughtexception;
throw v;
label:
v := @caughtexception;
v = new oadd.org.apache.drill.exec.rpc.RpcException;
specialinvoke v.<oadd.org.apache.drill.exec.rpc.RpcException: void <init>(java.lang.Throwable)>(v);
throw v;
label:
return;
catch java.util.concurrent.TimeoutException from label to label with label;
catch javax.security.sasl.SaslException from label to label with label;
catch oadd.org.apache.drill.exec.rpc.RpcException from label to label with label;
catch java.lang.Exception from label to label with label;
}
private void validateSaslCompatibility(oadd.org.apache.drill.common.config.DrillProperties, java.util.List) throws oadd.org.apache.drill.exec.rpc.NonTransientRpcException
{
oadd.org.apache.drill.exec.rpc.NonTransientRpcException v, v, v;
oadd.org.apache.drill.common.config.DrillProperties v;
java.lang.String v;
boolean v, v, v, v, v, v, v, v;
oadd.org.apache.drill.exec.rpc.ClientConnection v;
oadd.org.apache.drill.exec.rpc.user.UserClient v;
java.util.List v;
v := @this: oadd.org.apache.drill.exec.rpc.user.UserClient;
v := @parameter: oadd.org.apache.drill.common.config.DrillProperties;
v := @parameter: java.util.List;
v = virtualinvoke v.<oadd.org.apache.drill.common.config.DrillProperties: boolean containsKey(java.lang.Object)>("sasl_encrypt");
if v == 0 goto label;
v = virtualinvoke v.<oadd.org.apache.drill.common.config.DrillProperties: java.lang.String getProperty(java.lang.String)>("sasl_encrypt");
v = staticinvoke <java.lang.Boolean: boolean parseBoolean(java.lang.String)>(v);
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
if v == null goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
if v == 0 goto label;
v = v.<oadd.org.apache.drill.exec.rpc.user.UserClient: oadd.org.apache.drill.exec.rpc.ClientConnection connection>;
v = virtualinvoke v.<oadd.org.apache.drill.exec.rpc.user.UserClient$UserToBitConnection: boolean isEncryptionEnabled()>();
if v != 0 goto label;
v = new oadd.org.apache.drill.exec.rpc.NonTransientRpcException;
specialinvoke v.<oadd.org.apache.drill.exec.rpc.NonTransientRpcException: void <init>(java.lang.String)>("Client needs encrypted connection but server is not configured for encryption. Please contact your administrator. [Warn: It may be due to wrong config or a security attack in progress.]");
throw v;
label:
if v == 0 goto label;
if v != 0 goto label;
v = new oadd.org.apache.drill.exec.rpc.NonTransientRpcException;
specialinvoke v.<oadd.org.apache.drill.exec.rpc.NonTransientRpcException: void <init>(java.lang.String)>("Client needs encrypted connection but server doesn\'t support any security mechanisms. Please contact your administrator. [Warn: It may be due to wrong config or a security attack in progress.]");
throw v;
label:
v = specialinvoke v.<oadd.org.apache.drill.exec.rpc.user.UserClient: boolean clientNeedsAuthExceptPlain(oadd.org.apache.drill.common.config.DrillProperties)>(v);
if v == 0 goto label;
if v != 0 goto label;
v = new oadd.org.apache.drill.exec.rpc.NonTransientRpcException;
specialinvoke v.<oadd.org.apache.drill.exec.rpc.NonTransientRpcException: void <init>(java.lang.String)>("Client needs authentication but server doesn\'t support any security mechanisms. Please contact your administrator. [Warn: It may be due to wrong config or a security attack in progress.]");
throw v;
label:
return;
}
private boolean clientNeedsAuthExceptPlain(oadd.org.apache.drill.common.config.DrillProperties)
{
oadd.org.apache.drill.common.config.DrillProperties v;
oadd.org.apache.drill.exec.rpc.user.UserClient v;
java.lang.String v, v;
boolean v, v, v, v, v, v, v;
v := @this: oadd.org.apache.drill.exec.rpc.user.UserClient;
v := @parameter: oadd.org.apache.drill.common.config.DrillProperties;
v = 0;
v = virtualinvoke v.<oadd.org.apache.drill.common.config.DrillProperties: java.lang.String getProperty(java.lang.String)>("auth");
v = staticinvoke <org.apache.drill.shaded.guava.com.google.common.base.Strings: boolean isNullOrEmpty(java.lang.String)>(v);
if v != 0 goto label;
v = virtualinvoke v.<java.lang.String: boolean equalsIgnoreCase(java.lang.String)>("PLAIN");
if v != 0 goto label;
v = 1;
label:
v = v;
v = virtualinvoke v.<oadd.org.apache.drill.common.config.DrillProperties: java.lang.String getProperty(java.lang.String)>("principal");
v = staticinvoke <org.apache.drill.shaded.guava.com.google.common.base.Strings: boolean isNullOrEmpty(java.lang.String)>(v);
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v | v;
return v;
}
private oadd.org.apache.drill.common.concurrent.CheckedFuture connect(oadd.org.apache.drill.exec.proto.UserProtos$UserToBitHandshake, oadd.org.apache.drill.exec.proto.CoordinationProtos$DrillbitEndpoint)
{
oadd.org.apache.drill.exec.rpc.RpcConnectionHandler v;
oadd.org.apache.drill.exec.rpc.user.QueryResultHandler v;
oadd.org.apache.drill.exec.proto.CoordinationProtos$DrillbitEndpoint v;
oadd.org.apache.drill.exec.rpc.user.UserClient v;
oadd.org.apache.drill.exec.rpc.user.UserClient$2 v;
oadd.org.apache.drill.exec.rpc.user.UserClient$1 v;
org.apache.drill.shaded.guava.com.google.common.util.concurrent.SettableFuture v;
int v;
java.lang.String v;
oadd.org.apache.drill.exec.proto.UserProtos$UserToBitHandshake v;
v := @this: oadd.org.apache.drill.exec.rpc.user.UserClient;
v := @parameter: oadd.org.apache.drill.exec.proto.UserProtos$UserToBitHandshake;
v := @parameter: oadd.org.apache.drill.exec.proto.CoordinationProtos$DrillbitEndpoint;
v = staticinvoke <org.apache.drill.shaded.guava.com.google.common.util.concurrent.SettableFuture: org.apache.drill.shaded.guava.com.google.common.util.concurrent.SettableFuture create()>();
v = new oadd.org.apache.drill.exec.rpc.user.UserClient$1;
specialinvoke v.<oadd.org.apache.drill.exec.rpc.user.UserClient$1: void <init>(oadd.org.apache.drill.exec.rpc.user.UserClient,org.apache.drill.shaded.guava.com.google.common.util.concurrent.ListenableFuture)>(v, v);
v = new oadd.org.apache.drill.exec.rpc.user.UserClient$2;
specialinvoke v.<oadd.org.apache.drill.exec.rpc.user.UserClient$2: void <init>(oadd.org.apache.drill.exec.rpc.user.UserClient,org.apache.drill.shaded.guava.com.google.common.util.concurrent.SettableFuture)>(v, v);
v = v.<oadd.org.apache.drill.exec.rpc.user.UserClient: oadd.org.apache.drill.exec.rpc.user.QueryResultHandler queryResultHandler>;
v = virtualinvoke v.<oadd.org.apache.drill.exec.rpc.user.QueryResultHandler: oadd.org.apache.drill.exec.rpc.RpcConnectionHandler getWrappedConnectionHandler(oadd.org.apache.drill.exec.rpc.RpcConnectionHandler)>(v);
v = virtualinvoke v.<oadd.org.apache.drill.exec.proto.CoordinationProtos$DrillbitEndpoint: java.lang.String getAddress()>();
v = virtualinvoke v.<oadd.org.apache.drill.exec.proto.CoordinationProtos$DrillbitEndpoint: int getUserPort()>();
virtualinvoke v.<oadd.org.apache.drill.exec.rpc.user.UserClient: void connectAsClient(oadd.org.apache.drill.exec.rpc.RpcConnectionHandler,oadd.com.google.protobuf.MessageLite,java.lang.String,int)>(v, v, v, v);
return v;
}
private oadd.org.apache.drill.exec.rpc.security.AuthenticatorFactory getAuthenticatorFactory(oadd.org.apache.drill.common.config.DrillProperties, java.util.List) throws javax.security.sasl.SaslException
{
javax.security.sasl.SaslException v, v, v;
oadd.org.apache.drill.exec.rpc.security.AuthenticatorFactory v, v, v;
boolean v, v, v, v, v, v, v;
oadd.org.apache.drill.exec.rpc.ClientConnection v, v;
java.util.Set v;
java.util.List v;
java.lang.Object[] v, v, v;
oadd.org.apache.drill.common.config.DrillProperties v;
oadd.org.apache.drill.exec.rpc.security.ClientAuthenticatorProvider v, v, v, v;
java.lang.String v, v, v, v, v, v, v, v;
oadd.org.apache.drill.exec.rpc.user.UserClient v;
v := @this: oadd.org.apache.drill.exec.rpc.user.UserClient;
v := @parameter: oadd.org.apache.drill.common.config.DrillProperties;
v := @parameter: java.util.List;
v = staticinvoke <oadd.org.apache.drill.exec.rpc.security.AuthStringUtil: java.util.Set asSet(java.util.List)>(v);
v = virtualinvoke v.<oadd.org.apache.drill.common.config.DrillProperties: java.lang.String getProperty(java.lang.String)>("auth");
if v == null goto label;
v = staticinvoke <oadd.org.apache.drill.exec.rpc.security.ClientAuthenticatorProvider: oadd.org.apache.drill.exec.rpc.security.ClientAuthenticatorProvider getInstance()>();
v = virtualinvoke v.<oadd.org.apache.drill.exec.rpc.security.ClientAuthenticatorProvider: boolean containsFactory(java.lang.String)>(v);
if v != 0 goto label;
v = new javax.security.sasl.SaslException;
v = newarray (java.lang.Object)[1];
v[0] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("Unknown mechanism: %s", v);
specialinvoke v.<javax.security.sasl.SaslException: void <init>(java.lang.String)>(v);
throw v;
label:
v = virtualinvoke v.<java.lang.String: java.lang.String toUpperCase()>();
v = interfaceinvoke v.<java.util.Set: boolean contains(java.lang.Object)>(v);
if v != 0 goto label;
v = new javax.security.sasl.SaslException;
v = newarray (java.lang.Object)[2];
v[0] = v;
v = v.<oadd.org.apache.drill.exec.rpc.user.UserClient: oadd.org.apache.drill.exec.rpc.ClientConnection connection>;
v = virtualinvoke v.<oadd.org.apache.drill.exec.rpc.user.UserClient$UserToBitConnection: java.lang.String getEncryptionCtxtString()>();
v[1] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("Server does not support authentication using: %s. [Details: %s]", v);
specialinvoke v.<javax.security.sasl.SaslException: void <init>(java.lang.String)>(v);
throw v;
label:
v = staticinvoke <oadd.org.apache.drill.exec.rpc.security.ClientAuthenticatorProvider: oadd.org.apache.drill.exec.rpc.security.ClientAuthenticatorProvider getInstance()>();
v = virtualinvoke v.<oadd.org.apache.drill.exec.rpc.security.ClientAuthenticatorProvider: oadd.org.apache.drill.exec.rpc.security.AuthenticatorFactory getAuthenticatorFactory(java.lang.String)>(v);
return v;
label:
v = interfaceinvoke v.<java.util.Set: boolean contains(java.lang.Object)>("KERBEROS");
if v == 0 goto label;
v = virtualinvoke v.<oadd.org.apache.drill.common.config.DrillProperties: boolean containsKey(java.lang.Object)>("principal");
if v == 0 goto label;
v = staticinvoke <oadd.org.apache.drill.exec.rpc.security.ClientAuthenticatorProvider: oadd.org.apache.drill.exec.rpc.security.ClientAuthenticatorProvider getInstance()>();
v = virtualinvoke v.<oadd.org.apache.drill.exec.rpc.security.ClientAuthenticatorProvider: oadd.org.apache.drill.exec.rpc.security.AuthenticatorFactory getAuthenticatorFactory(java.lang.String)>("KERBEROS");
return v;
label:
v = interfaceinvoke v.<java.util.Set: boolean contains(java.lang.Object)>("PLAIN");
if v == 0 goto label;
v = virtualinvoke v.<oadd.org.apache.drill.common.config.DrillProperties: boolean containsKey(java.lang.Object)>("user");
if v == 0 goto label;
v = virtualinvoke v.<oadd.org.apache.drill.common.config.DrillProperties: java.lang.String getProperty(java.lang.String)>("password");
v = staticinvoke <org.apache.drill.shaded.guava.com.google.common.base.Strings: boolean isNullOrEmpty(java.lang.String)>(v);
if v != 0 goto label;
v = staticinvoke <oadd.org.apache.drill.exec.rpc.security.ClientAuthenticatorProvider: oadd.org.apache.drill.exec.rpc.security.ClientAuthenticatorProvider getInstance()>();
v = virtualinvoke v.<oadd.org.apache.drill.exec.rpc.security.ClientAuthenticatorProvider: oadd.org.apache.drill.exec.rpc.security.AuthenticatorFactory getAuthenticatorFactory(java.lang.String)>("PLAIN");
return v;
label:
v = new javax.security.sasl.SaslException;
v = newarray (java.lang.Object)[2];
v[0] = v;
v = v.<oadd.org.apache.drill.exec.rpc.user.UserClient: oadd.org.apache.drill.exec.rpc.ClientConnection connection>;
v = virtualinvoke v.<oadd.org.apache.drill.exec.rpc.user.UserClient$UserToBitConnection: java.lang.String getEncryptionCtxtString()>();
v[1] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("Server requires authentication using %s. Insufficient credentials?. [Details: %s]. ", v);
specialinvoke v.<javax.security.sasl.SaslException: void <init>(java.lang.String)>(v);
throw v;
}
protected transient void send(oadd.org.apache.drill.exec.rpc.RpcOutcomeListener, oadd.org.apache.drill.exec.proto.UserProtos$RpcType, oadd.com.google.protobuf.MessageLite, java.lang.Class, boolean, oadd.io.netty.buffer.ByteBuf[])
{
oadd.io.netty.buffer.ByteBuf[] v;
oadd.org.apache.drill.exec.proto.UserProtos$RpcType v;
oadd.org.apache.drill.exec.rpc.RpcOutcomeListener v;
oadd.com.google.protobuf.MessageLite v;
oadd.org.apache.drill.exec.rpc.user.UserClient v;
java.lang.Class v;
boolean v;
oadd.org.apache.drill.exec.rpc.ClientConnection v;
v := @this: oadd.org.apache.drill.exec.rpc.user.UserClient;
v := @parameter: oadd.org.apache.drill.exec.rpc.RpcOutcomeListener;
v := @parameter: oadd.org.apache.drill.exec.proto.UserProtos$RpcType;
v := @parameter: oadd.com.google.protobuf.MessageLite;
v := @parameter: java.lang.Class;
v := @parameter: boolean;
v := @parameter: oadd.io.netty.buffer.ByteBuf[];
v = v.<oadd.org.apache.drill.exec.rpc.user.UserClient: oadd.org.apache.drill.exec.rpc.ClientConnection connection>;
specialinvoke v.<oadd.org.apache.drill.exec.rpc.BasicClient: void send(oadd.org.apache.drill.exec.rpc.RpcOutcomeListener,oadd.org.apache.drill.exec.rpc.RemoteConnection,oadd.com.google.protobuf.Internal$EnumLite,oadd.com.google.protobuf.MessageLite,java.lang.Class,boolean,oadd.io.netty.buffer.ByteBuf[])>(v, v, v, v, v, v, v);
return;
}
protected oadd.com.google.protobuf.MessageLite getResponseDefaultInstance(int) throws oadd.org.apache.drill.exec.rpc.RpcException
{
java.lang.Object[] v;
oadd.org.apache.drill.exec.proto.UserBitShared$QueryData v;
oadd.org.apache.drill.exec.proto.UserProtos$GetSchemasResp v;
oadd.org.apache.drill.exec.rpc.RpcException v;
java.lang.Integer v;
oadd.org.apache.drill.exec.proto.UserProtos$QueryPlanFragments v;
int v;
java.lang.String v;
oadd.org.apache.drill.exec.proto.UserProtos$CreatePreparedStatementResp v;
oadd.org.apache.drill.exec.proto.UserBitShared$QueryResult v;
oadd.org.apache.drill.exec.proto.UserProtos$GetColumnsResp v;
oadd.org.apache.drill.exec.proto.UserProtos$GetServerMetaResp v;
oadd.org.apache.drill.exec.proto.UserProtos$GetCatalogsResp v;
oadd.org.apache.drill.exec.rpc.user.UserClient v;
oadd.org.apache.drill.exec.proto.UserProtos$GetTablesResp v;
oadd.org.apache.drill.exec.proto.GeneralRPCProtos$Ack v;
oadd.org.apache.drill.exec.proto.UserProtos$BitToUserHandshake v;
oadd.org.apache.drill.exec.proto.UserBitShared$QueryId v;
oadd.org.apache.drill.exec.proto.UserBitShared$SaslMessage v;
v := @this: oadd.org.apache.drill.exec.rpc.user.UserClient;
v := @parameter: int;
tableswitch(v)
{
case 0: goto label;
case 1: goto label;
case 2: goto label;
case 3: goto label;
case 4: goto label;
case 5: goto label;
case 6: goto label;
case 7: goto label;
case 8: goto label;
case 9: goto label;
case 10: goto label;
case 11: goto label;
case 12: goto label;
case 13: goto label;
case 14: goto label;
case 15: goto label;
case 16: goto label;
case 17: goto label;
case 18: goto label;
case 19: goto label;
case 20: goto label;
case 21: goto label;
case 22: goto label;
case 23: goto label;
case 24: goto label;
default: goto label;
};
label:
v = staticinvoke <oadd.org.apache.drill.exec.proto.GeneralRPCProtos$Ack: oadd.org.apache.drill.exec.proto.GeneralRPCProtos$Ack getDefaultInstance()>();
return v;
label:
v = staticinvoke <oadd.org.apache.drill.exec.proto.UserProtos$BitToUserHandshake: oadd.org.apache.drill.exec.proto.UserProtos$BitToUserHandshake getDefaultInstance()>();
return v;
label:
v = staticinvoke <oadd.org.apache.drill.exec.proto.UserBitShared$QueryId: oadd.org.apache.drill.exec.proto.UserBitShared$QueryId getDefaultInstance()>();
return v;
label:
v = staticinvoke <oadd.org.apache.drill.exec.proto.UserBitShared$QueryResult: oadd.org.apache.drill.exec.proto.UserBitShared$QueryResult getDefaultInstance()>();
return v;
label:
v = staticinvoke <oadd.org.apache.drill.exec.proto.UserBitShared$QueryData: oadd.org.apache.drill.exec.proto.UserBitShared$QueryData getDefaultInstance()>();
return v;
label:
v = staticinvoke <oadd.org.apache.drill.exec.proto.UserProtos$QueryPlanFragments: oadd.org.apache.drill.exec.proto.UserProtos$QueryPlanFragments getDefaultInstance()>();
return v;
label:
v = staticinvoke <oadd.org.apache.drill.exec.proto.UserProtos$GetCatalogsResp: oadd.org.apache.drill.exec.proto.UserProtos$GetCatalogsResp getDefaultInstance()>();
return v;
label:
v = staticinvoke <oadd.org.apache.drill.exec.proto.UserProtos$GetSchemasResp: oadd.org.apache.drill.exec.proto.UserProtos$GetSchemasResp getDefaultInstance()>();
return v;
label:
v = staticinvoke <oadd.org.apache.drill.exec.proto.UserProtos$GetTablesResp: oadd.org.apache.drill.exec.proto.UserProtos$GetTablesResp getDefaultInstance()>();
return v;
label:
v = staticinvoke <oadd.org.apache.drill.exec.proto.UserProtos$GetColumnsResp: oadd.org.apache.drill.exec.proto.UserProtos$GetColumnsResp getDefaultInstance()>();
return v;
label:
v = staticinvoke <oadd.org.apache.drill.exec.proto.UserProtos$CreatePreparedStatementResp: oadd.org.apache.drill.exec.proto.UserProtos$CreatePreparedStatementResp getDefaultInstance()>();
return v;
label:
v = staticinvoke <oadd.org.apache.drill.exec.proto.UserBitShared$SaslMessage: oadd.org.apache.drill.exec.proto.UserBitShared$SaslMessage getDefaultInstance()>();
return v;
label:
v = staticinvoke <oadd.org.apache.drill.exec.proto.UserProtos$GetServerMetaResp: oadd.org.apache.drill.exec.proto.UserProtos$GetServerMetaResp getDefaultInstance()>();
return v;
label:
v = new oadd.org.apache.drill.exec.rpc.RpcException;
v = newarray (java.lang.Object)[1];
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[0] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("Unable to deal with RpcType of %d", v);
specialinvoke v.<oadd.org.apache.drill.exec.rpc.RpcException: void <init>(java.lang.String)>(v);
throw v;
}
protected void handle(oadd.org.apache.drill.exec.rpc.user.UserClient$UserToBitConnection, int, oadd.io.netty.buffer.ByteBuf, oadd.io.netty.buffer.ByteBuf, oadd.org.apache.drill.exec.rpc.ResponseSender) throws oadd.org.apache.drill.exec.rpc.RpcException
{
java.lang.Object[] v, v;
java.net.SocketAddress v;
oadd.org.apache.drill.exec.proto.UserProtos$RpcType v, v;
oadd.org.apache.drill.exec.rpc.RpcException v, v;
java.lang.Integer v, v;
oadd.org.apache.drill.exec.rpc.user.UserClient$UserToBitConnection v;
int v;
java.lang.String v, v;
oadd.io.netty.buffer.ByteBuf v, v;
boolean v;
oadd.io.netty.buffer.ByteBuf[] v, v;
oadd.org.apache.drill.exec.rpc.user.QueryResultHandler v, v;
oadd.org.apache.drill.exec.rpc.Response v, v;
oadd.org.apache.drill.exec.rpc.user.UserClient v;
oadd.org.apache.drill.exec.proto.GeneralRPCProtos$Ack v, v;
oadd.org.apache.drill.exec.rpc.ResponseSender v;
v := @this: oadd.org.apache.drill.exec.rpc.user.UserClient;
v := @parameter: oadd.org.apache.drill.exec.rpc.user.UserClient$UserToBitConnection;
v := @parameter: int;
v := @parameter: oadd.io.netty.buffer.ByteBuf;
v := @parameter: oadd.io.netty.buffer.ByteBuf;
v := @parameter: oadd.org.apache.drill.exec.rpc.ResponseSender;
v = virtualinvoke v.<oadd.org.apache.drill.exec.rpc.user.UserClient: boolean isAuthComplete()>();
if v != 0 goto label;
v = new oadd.org.apache.drill.exec.rpc.RpcException;
v = newarray (java.lang.Object)[2];
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[0] = v;
v = virtualinvoke v.<oadd.org.apache.drill.exec.rpc.user.UserClient$UserToBitConnection: java.net.SocketAddress getRemoteAddress()>();
v[1] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("Request of type %d is not allowed without authentication. Remote on %s must authenticate before making requests. Connection dropped.", v);
specialinvoke v.<oadd.org.apache.drill.exec.rpc.RpcException: void <init>(java.lang.String)>(v);
throw v;
label:
lookupswitch(v)
{
case 6: goto label;
case 10: goto label;
default: goto label;
};
label:
v = v.<oadd.org.apache.drill.exec.rpc.user.UserClient: oadd.org.apache.drill.exec.rpc.user.QueryResultHandler queryResultHandler>;
virtualinvoke v.<oadd.org.apache.drill.exec.rpc.user.QueryResultHandler: void batchArrived(oadd.org.apache.drill.exec.rpc.ConnectionThrottle,oadd.io.netty.buffer.ByteBuf,oadd.io.netty.buffer.ByteBuf)>(v, v, v);
v = new oadd.org.apache.drill.exec.rpc.Response;
v = <oadd.org.apache.drill.exec.proto.UserProtos$RpcType: oadd.org.apache.drill.exec.proto.UserProtos$RpcType ACK>;
v = <oadd.org.apache.drill.exec.rpc.Acks: oadd.org.apache.drill.exec.proto.GeneralRPCProtos$Ack OK>;
v = newarray (oadd.io.netty.buffer.ByteBuf)[0];
specialinvoke v.<oadd.org.apache.drill.exec.rpc.Response: void <init>(oadd.com.google.protobuf.Internal$EnumLite,oadd.com.google.protobuf.MessageLite,oadd.io.netty.buffer.ByteBuf[])>(v, v, v);
interfaceinvoke v.<oadd.org.apache.drill.exec.rpc.ResponseSender: void send(oadd.org.apache.drill.exec.rpc.Response)>(v);
goto label;
label:
v = v.<oadd.org.apache.drill.exec.rpc.user.UserClient: oadd.org.apache.drill.exec.rpc.user.QueryResultHandler queryResultHandler>;
virtualinvoke v.<oadd.org.apache.drill.exec.rpc.user.QueryResultHandler: void resultArrived(oadd.io.netty.buffer.ByteBuf)>(v);
v = new oadd.org.apache.drill.exec.rpc.Response;
v = <oadd.org.apache.drill.exec.proto.UserProtos$RpcType: oadd.org.apache.drill.exec.proto.UserProtos$RpcType ACK>;
v = <oadd.org.apache.drill.exec.rpc.Acks: oadd.org.apache.drill.exec.proto.GeneralRPCProtos$Ack OK>;
v = newarray (oadd.io.netty.buffer.ByteBuf)[0];
specialinvoke v.<oadd.org.apache.drill.exec.rpc.Response: void <init>(oadd.com.google.protobuf.Internal$EnumLite,oadd.com.google.protobuf.MessageLite,oadd.io.netty.buffer.ByteBuf[])>(v, v, v);
interfaceinvoke v.<oadd.org.apache.drill.exec.rpc.ResponseSender: void send(oadd.org.apache.drill.exec.rpc.Response)>(v);
goto label;
label:
v = new oadd.org.apache.drill.exec.rpc.RpcException;
v = newarray (java.lang.Object)[1];
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[0] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("Unknown Rpc Type %d. ", v);
specialinvoke v.<oadd.org.apache.drill.exec.rpc.RpcException: void <init>(java.lang.String)>(v);
throw v;
label:
return;
}
protected void prepareSaslHandshake(oadd.org.apache.drill.exec.rpc.RpcConnectionHandler, java.util.List)
{
oadd.org.apache.drill.exec.rpc.RpcConnectionHandler v;
oadd.org.apache.drill.exec.rpc.RpcException v;
oadd.org.apache.drill.exec.rpc.security.AuthenticatorFactory v;
java.lang.Thread v, v, v;
java.util.Map v, v;
oadd.org.apache.drill.exec.rpc.RpcConnectionHandler$FailureType v;
boolean v;
oadd.org.apache.drill.exec.rpc.ClientConnection v, v, v, v, v;
java.util.List v;
java.lang.ClassLoader v, v;
java.lang.Object[] v;
oadd.org.apache.drill.exec.proto.UserProtos$RpcType v;
oadd.org.apache.drill.common.config.DrillProperties v, v;
int v;
java.lang.String v, v, v, v, v;
oadd.org.apache.hadoop.security.UserGroupInformation v;
org.slf4j.Logger v, v;
java.io.IOException v;
oadd.org.apache.drill.exec.rpc.user.UserClient v;
java.lang.Class v;
v := @this: oadd.org.apache.drill.exec.rpc.user.UserClient;
v := @parameter: oadd.org.apache.drill.exec.rpc.RpcConnectionHandler;
v := @parameter: java.util.List;
label:
v = v.<oadd.org.apache.drill.exec.rpc.user.UserClient: oadd.org.apache.drill.common.config.DrillProperties properties>;
v = virtualinvoke v.<oadd.org.apache.drill.common.config.DrillProperties: java.util.Map stringPropertiesAsMap()>();
v = v.<oadd.org.apache.drill.exec.rpc.user.UserClient: oadd.org.apache.drill.exec.rpc.ClientConnection connection>;
v = virtualinvoke v.<oadd.org.apache.drill.exec.rpc.user.UserClient$UserToBitConnection: boolean isEncryptionEnabled()>();
v = v.<oadd.org.apache.drill.exec.rpc.user.UserClient: oadd.org.apache.drill.exec.rpc.ClientConnection connection>;
v = virtualinvoke v.<oadd.org.apache.drill.exec.rpc.user.UserClient$UserToBitConnection: int getMaxWrappedSize()>();
v = staticinvoke <oadd.org.apache.drill.exec.rpc.security.SaslProperties: java.util.Map getSaslProperties(boolean,int)>(v, v);
interfaceinvoke v.<java.util.Map: void putAll(java.util.Map)>(v);
v = v.<oadd.org.apache.drill.exec.rpc.user.UserClient: oadd.org.apache.drill.common.config.DrillProperties properties>;
v = specialinvoke v.<oadd.org.apache.drill.exec.rpc.user.UserClient: oadd.org.apache.drill.exec.rpc.security.AuthenticatorFactory getAuthenticatorFactory(oadd.org.apache.drill.common.config.DrillProperties,java.util.List)>(v, v);
v = interfaceinvoke v.<oadd.org.apache.drill.exec.rpc.security.AuthenticatorFactory: java.lang.String getSimpleName()>();
v = <oadd.org.apache.drill.exec.rpc.user.UserClient: org.slf4j.Logger logger>;
v = v.<oadd.org.apache.drill.exec.rpc.user.UserClient: oadd.org.apache.drill.exec.rpc.ClientConnection connection>;
v = virtualinvoke v.<oadd.org.apache.drill.exec.rpc.user.UserClient$UserToBitConnection: java.lang.String getEncryptionCtxtString()>();
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String,java.lang.Object,java.lang.Object)>("Will try to authenticate to server using {} mechanism with encryption context {}", v, v);
v = staticinvoke <java.lang.Thread: java.lang.Thread currentThread()>();
v = virtualinvoke v.<java.lang.Thread: java.lang.ClassLoader getContextClassLoader()>();
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: java.lang.ClassLoader getClassLoader()>();
v = staticinvoke <java.lang.Thread: java.lang.Thread currentThread()>();
virtualinvoke v.<java.lang.Thread: void setContextClassLoader(java.lang.ClassLoader)>(v);
v = interfaceinvoke v.<oadd.org.apache.drill.exec.rpc.security.AuthenticatorFactory: oadd.org.apache.hadoop.security.UserGroupInformation createAndLoginUser(java.util.Map)>(v);
v = staticinvoke <java.lang.Thread: java.lang.Thread currentThread()>();
virtualinvoke v.<java.lang.Thread: void setContextClassLoader(java.lang.ClassLoader)>(v);
v = <oadd.org.apache.drill.exec.proto.UserProtos$RpcType: oadd.org.apache.drill.exec.proto.UserProtos$RpcType SASL_MESSAGE>;
virtualinvoke v.<oadd.org.apache.drill.exec.rpc.user.UserClient: void startSaslHandshake(oadd.org.apache.drill.exec.rpc.RpcConnectionHandler,java.util.Map,oadd.org.apache.hadoop.security.UserGroupInformation,oadd.org.apache.drill.exec.rpc.security.AuthenticatorFactory,oadd.com.google.protobuf.Internal$EnumLite)>(v, v, v, v, v);
label:
goto label;
label:
v := @caughtexception;
v = <oadd.org.apache.drill.exec.rpc.user.UserClient: org.slf4j.Logger logger>;
v = v.<oadd.org.apache.drill.exec.rpc.user.UserClient: oadd.org.apache.drill.exec.rpc.ClientConnection connection>;
v = virtualinvoke v.<oadd.org.apache.drill.exec.rpc.user.UserClient$UserToBitConnection: java.lang.String getName()>();
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Object)>("Failed while doing setup for starting SASL handshake for connection {}", v);
v = new oadd.org.apache.drill.exec.rpc.RpcException;
v = newarray (java.lang.Object)[1];
v = v.<oadd.org.apache.drill.exec.rpc.user.UserClient: oadd.org.apache.drill.exec.rpc.ClientConnection connection>;
v = virtualinvoke v.<oadd.org.apache.drill.exec.rpc.user.UserClient$UserToBitConnection: java.lang.String getName()>();
v[0] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("Failed to initiate authentication for connection %s", v);
specialinvoke v.<oadd.org.apache.drill.exec.rpc.RpcException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
v = <oadd.org.apache.drill.exec.rpc.RpcConnectionHandler$FailureType: oadd.org.apache.drill.exec.rpc.RpcConnectionHandler$FailureType AUTHENTICATION>;
interfaceinvoke v.<oadd.org.apache.drill.exec.rpc.RpcConnectionHandler: void connectionFailed(oadd.org.apache.drill.exec.rpc.RpcConnectionHandler$FailureType,java.lang.Throwable)>(v, v);
label:
return;
catch java.io.IOException from label to label with label;
}
protected java.util.List validateHandshake(oadd.org.apache.drill.exec.proto.UserProtos$BitToUserHandshake) throws oadd.org.apache.drill.exec.rpc.RpcException
{
oadd.org.apache.drill.exec.proto.UserProtos$RpcEndpointInfos v;
int[] v;
boolean v, v, v, v, v;
oadd.org.apache.drill.exec.rpc.ClientConnection v, v, v;
oadd.com.google.protobuf.ProtocolStringList v;
java.util.List v;
oadd.org.apache.drill.exec.proto.UserProtos$BitToUserHandshake v;
oadd.org.apache.drill.exec.rpc.NonTransientRpcException v;
java.lang.Object[] v, v;
oadd.org.apache.drill.common.config.DrillProperties v;
int v, v, v;
java.lang.String v, v, v, v, v;
oadd.org.apache.drill.exec.proto.UserProtos$HandshakeStatus v, v;
org.slf4j.Logger v, v;
org.apache.drill.shaded.guava.com.google.common.collect.ImmutableList v;
oadd.org.apache.drill.exec.rpc.user.UserClient v;
org.apache.drill.shaded.guava.com.google.common.collect.ImmutableSet v;
v := @this: oadd.org.apache.drill.exec.rpc.user.UserClient;
v := @parameter: oadd.org.apache.drill.exec.proto.UserProtos$BitToUserHandshake;
v = null;
v = virtualinvoke v.<oadd.org.apache.drill.exec.proto.UserProtos$BitToUserHandshake: boolean hasServerInfos()>();
if v == 0 goto label;
v = virtualinvoke v.<oadd.org.apache.drill.exec.proto.UserProtos$BitToUserHandshake: oadd.org.apache.drill.exec.proto.UserProtos$RpcEndpointInfos getServerInfos()>();
v.<oadd.org.apache.drill.exec.rpc.user.UserClient: oadd.org.apache.drill.exec.proto.UserProtos$RpcEndpointInfos serverInfos> = v;
label:
v = virtualinvoke v.<oadd.org.apache.drill.exec.proto.UserProtos$BitToUserHandshake: java.util.List getSupportedMethodsList()>();
v = staticinvoke <org.apache.drill.shaded.guava.com.google.common.collect.Sets: org.apache.drill.shaded.guava.com.google.common.collect.ImmutableSet immutableEnumSet(java.lang.Iterable)>(v);
v.<oadd.org.apache.drill.exec.rpc.user.UserClient: java.util.Set supportedMethods> = v;
v = <oadd.org.apache.drill.exec.rpc.user.UserClient$3: int[] $SwitchMap$org$apache$drill$exec$proto$UserProtos$HandshakeStatus>;
v = virtualinvoke v.<oadd.org.apache.drill.exec.proto.UserProtos$BitToUserHandshake: oadd.org.apache.drill.exec.proto.UserProtos$HandshakeStatus getStatus()>();
v = virtualinvoke v.<oadd.org.apache.drill.exec.proto.UserProtos$HandshakeStatus: int ordinal()>();
v = v[v];
tableswitch(v)
{
case 1: goto label;
case 2: goto label;
case 3: goto label;
case 4: goto label;
case 5: goto label;
default: goto label;
};
label:
v = virtualinvoke v.<oadd.org.apache.drill.exec.proto.UserProtos$BitToUserHandshake: oadd.com.google.protobuf.ProtocolStringList getAuthenticationMechanismsList()>();
v = staticinvoke <org.apache.drill.shaded.guava.com.google.common.collect.ImmutableList: org.apache.drill.shaded.guava.com.google.common.collect.ImmutableList copyOf(java.util.Collection)>(v);
virtualinvoke v.<oadd.org.apache.drill.exec.rpc.user.UserClient: void setAuthComplete(boolean)>(0);
v = v.<oadd.org.apache.drill.exec.rpc.user.UserClient: oadd.org.apache.drill.exec.rpc.ClientConnection connection>;
v = virtualinvoke v.<oadd.org.apache.drill.exec.proto.UserProtos$BitToUserHandshake: boolean hasEncrypted()>();
if v == 0 goto label;
v = virtualinvoke v.<oadd.org.apache.drill.exec.proto.UserProtos$BitToUserHandshake: boolean getEncrypted()>();
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
virtualinvoke v.<oadd.org.apache.drill.exec.rpc.user.UserClient$UserToBitConnection: void setEncryption(boolean)>(v);
v = virtualinvoke v.<oadd.org.apache.drill.exec.proto.UserProtos$BitToUserHandshake: boolean hasMaxWrappedSize()>();
if v == 0 goto label;
v = v.<oadd.org.apache.drill.exec.rpc.user.UserClient: oadd.org.apache.drill.exec.rpc.ClientConnection connection>;
v = virtualinvoke v.<oadd.org.apache.drill.exec.proto.UserProtos$BitToUserHandshake: int getMaxWrappedSize()>();
virtualinvoke v.<oadd.org.apache.drill.exec.rpc.user.UserClient$UserToBitConnection: void setMaxWrappedSize(int)>(v);
label:
v = <oadd.org.apache.drill.exec.rpc.user.UserClient: org.slf4j.Logger logger>;
v = newarray (java.lang.Object)[1];
v = v.<oadd.org.apache.drill.exec.rpc.user.UserClient: oadd.org.apache.drill.exec.rpc.ClientConnection connection>;
v = virtualinvoke v.<oadd.org.apache.drill.exec.rpc.user.UserClient$UserToBitConnection: java.lang.String getEncryptionCtxtString()>();
v[0] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("Server requires authentication with encryption context %s before proceeding.", v);
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String)>(v);
goto label;
label:
v = newarray (java.lang.Object)[3];
v = virtualinvoke v.<oadd.org.apache.drill.exec.proto.UserProtos$BitToUserHandshake: oadd.org.apache.drill.exec.proto.UserProtos$HandshakeStatus getStatus()>();
v[0] = v;
v = virtualinvoke v.<oadd.org.apache.drill.exec.proto.UserProtos$BitToUserHandshake: java.lang.String getErrorId()>();
v[1] = v;
v = virtualinvoke v.<oadd.org.apache.drill.exec.proto.UserProtos$BitToUserHandshake: java.lang.String getErrorMessage()>();
v[2] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("Status: %s, Error Id: %s, Error message: %s", v);
v = <oadd.org.apache.drill.exec.rpc.user.UserClient: org.slf4j.Logger logger>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String)>(v);
v = new oadd.org.apache.drill.exec.rpc.NonTransientRpcException;
specialinvoke v.<oadd.org.apache.drill.exec.rpc.NonTransientRpcException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v.<oadd.org.apache.drill.exec.rpc.user.UserClient: oadd.org.apache.drill.common.config.DrillProperties properties>;
specialinvoke v.<oadd.org.apache.drill.exec.rpc.user.UserClient: void validateSaslCompatibility(oadd.org.apache.drill.common.config.DrillProperties,java.util.List)>(v, v);
return v;
}
protected oadd.org.apache.drill.exec.rpc.user.UserClient$UserToBitConnection initRemoteConnection(oadd.io.netty.channel.socket.SocketChannel)
{
oadd.org.apache.drill.exec.rpc.user.UserClient v;
oadd.org.apache.drill.exec.rpc.user.UserClient$UserToBitConnection v;
oadd.io.netty.channel.socket.SocketChannel v;
v := @this: oadd.org.apache.drill.exec.rpc.user.UserClient;
v := @parameter: oadd.io.netty.channel.socket.SocketChannel;
specialinvoke v.<oadd.org.apache.drill.exec.rpc.BasicClient: oadd.org.apache.drill.exec.rpc.ClientConnection initRemoteConnection(oadd.io.netty.channel.socket.SocketChannel)>(v);
v = new oadd.org.apache.drill.exec.rpc.user.UserClient$UserToBitConnection;
specialinvoke v.<oadd.org.apache.drill.exec.rpc.user.UserClient$UserToBitConnection: void <init>(oadd.org.apache.drill.exec.rpc.user.UserClient,oadd.io.netty.channel.socket.SocketChannel)>(v, v);
return v;
}
public oadd.org.apache.drill.exec.rpc.ProtobufLengthDecoder getDecoder(oadd.org.apache.drill.exec.memory.BufferAllocator)
{
oadd.org.apache.drill.exec.rpc.user.UserClient v;
oadd.org.apache.drill.exec.rpc.OutOfMemoryHandler v;
oadd.org.apache.drill.exec.memory.BufferAllocator v;
oadd.org.apache.drill.exec.rpc.user.UserProtobufLengthDecoder v;
v := @this: oadd.org.apache.drill.exec.rpc.user.UserClient;
v := @parameter: oadd.org.apache.drill.exec.memory.BufferAllocator;
v = new oadd.org.apache.drill.exec.rpc.user.UserProtobufLengthDecoder;
v = <oadd.org.apache.drill.exec.rpc.OutOfMemoryHandler: oadd.org.apache.drill.exec.rpc.OutOfMemoryHandler DEFAULT_INSTANCE>;
specialinvoke v.<oadd.org.apache.drill.exec.rpc.user.UserProtobufLengthDecoder: void <init>(oadd.org.apache.drill.exec.memory.BufferAllocator,oadd.org.apache.drill.exec.rpc.OutOfMemoryHandler)>(v, v);
return v;
}
public oadd.org.apache.drill.exec.rpc.DrillRpcFuture planQuery(oadd.org.apache.drill.exec.proto.UserProtos$GetQueryPlanFragments)
{
oadd.io.netty.buffer.ByteBuf[] v;
oadd.org.apache.drill.exec.rpc.user.UserClient v;
oadd.org.apache.drill.exec.proto.UserProtos$GetQueryPlanFragments v;
oadd.org.apache.drill.exec.proto.UserProtos$RpcType v;
oadd.org.apache.drill.exec.rpc.DrillRpcFuture v;
v := @this: oadd.org.apache.drill.exec.rpc.user.UserClient;
v := @parameter: oadd.org.apache.drill.exec.proto.UserProtos$GetQueryPlanFragments;
v = <oadd.org.apache.drill.exec.proto.UserProtos$RpcType: oadd.org.apache.drill.exec.proto.UserProtos$RpcType GET_QUERY_PLAN_FRAGMENTS>;
v = newarray (oadd.io.netty.buffer.ByteBuf)[0];
v = virtualinvoke v.<oadd.org.apache.drill.exec.rpc.user.UserClient: oadd.org.apache.drill.exec.rpc.DrillRpcFuture send(oadd.com.google.protobuf.Internal$EnumLite,oadd.com.google.protobuf.MessageLite,java.lang.Class,oadd.io.netty.buffer.ByteBuf[])>(v, v, class "Loadd/org/apache/drill/exec/proto/UserProtos$QueryPlanFragments;", v);
return v;
}
static void <clinit>()
{
org.slf4j.Logger v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Loadd/org/apache/drill/exec/rpc/user/UserClient;");
<oadd.org.apache.drill.exec.rpc.user.UserClient: org.slf4j.Logger logger> = v;
return;
}
}