public class oadd.org.apache.drill.exec.service.ServiceEngine extends java.lang.Object implements java.lang.AutoCloseable
{
static final org.slf4j.Logger logger;
private final oadd.org.apache.drill.exec.rpc.user.UserServer userServer;
private final oadd.org.apache.drill.exec.rpc.control.Controller controller;
private final oadd.org.apache.drill.exec.rpc.data.DataConnectionCreator dataPool;
private final java.lang.String hostName;
private final java.lang.String bindAddr;
private final int intialUserPort;
private final boolean allowPortHunting;
private final boolean isDistributedMode;
private final oadd.org.apache.drill.exec.memory.BufferAllocator userAllocator;
private final oadd.org.apache.drill.exec.memory.BufferAllocator controlAllocator;
private final oadd.org.apache.drill.exec.memory.BufferAllocator dataAllocator;
private int userPort;
public void <init>(oadd.org.apache.drill.exec.work.WorkManager, oadd.org.apache.drill.exec.server.BootStrapContext, boolean, boolean) throws oadd.org.apache.drill.exec.exception.DrillbitStartupException
{
oadd.org.apache.drill.common.config.DrillConfig v;
oadd.org.apache.drill.exec.work.WorkManager$WorkerBee v;
int v, v;
oadd.org.apache.drill.exec.rpc.user.UserServer v;
oadd.org.apache.drill.exec.work.WorkManager v;
java.lang.String v, v;
boolean v, v;
oadd.org.apache.drill.exec.service.ServiceEngine v;
oadd.io.netty.channel.EventLoopGroup v;
oadd.org.apache.drill.exec.server.BootStrapContext v;
oadd.org.apache.drill.exec.work.user.UserWorker v;
oadd.org.apache.drill.exec.rpc.control.WorkEventBus v;
oadd.org.apache.drill.exec.rpc.data.DataConnectionCreator v;
oadd.org.apache.drill.exec.work.batch.ControlMessageHandler v;
oadd.org.apache.drill.exec.memory.BufferAllocator v, v, v, v, v, v;
oadd.org.apache.drill.exec.rpc.control.ControllerImpl v;
v := @this: oadd.org.apache.drill.exec.service.ServiceEngine;
v := @parameter: oadd.org.apache.drill.exec.work.WorkManager;
v := @parameter: oadd.org.apache.drill.exec.server.BootStrapContext;
v := @parameter: boolean;
v := @parameter: boolean;
specialinvoke v.<java.lang.Object: void <init>()>();
v = staticinvoke <oadd.org.apache.drill.exec.service.ServiceEngine: oadd.org.apache.drill.exec.memory.BufferAllocator newAllocator(oadd.org.apache.drill.exec.server.BootStrapContext,java.lang.String,java.lang.String,java.lang.String)>(v, "rpc:user", "drill.exec.rpc.user.server.memory.reservation", "drill.exec.rpc.user.server.memory.maximum");
v.<oadd.org.apache.drill.exec.service.ServiceEngine: oadd.org.apache.drill.exec.memory.BufferAllocator userAllocator> = v;
v = staticinvoke <oadd.org.apache.drill.exec.service.ServiceEngine: oadd.org.apache.drill.exec.memory.BufferAllocator newAllocator(oadd.org.apache.drill.exec.server.BootStrapContext,java.lang.String,java.lang.String,java.lang.String)>(v, "rpc:bit-control", "drill.exec.rpc.bit.server.memory.control.reservation", "drill.exec.rpc.bit.server.memory.control.maximum");
v.<oadd.org.apache.drill.exec.service.ServiceEngine: oadd.org.apache.drill.exec.memory.BufferAllocator controlAllocator> = v;
v = staticinvoke <oadd.org.apache.drill.exec.service.ServiceEngine: oadd.org.apache.drill.exec.memory.BufferAllocator newAllocator(oadd.org.apache.drill.exec.server.BootStrapContext,java.lang.String,java.lang.String,java.lang.String)>(v, "rpc:bit-data", "drill.exec.rpc.bit.server.memory.data.reservation", "drill.exec.rpc.bit.server.memory.data.maximum");
v.<oadd.org.apache.drill.exec.service.ServiceEngine: oadd.org.apache.drill.exec.memory.BufferAllocator dataAllocator> = v;
v = virtualinvoke v.<oadd.org.apache.drill.exec.server.BootStrapContext: oadd.org.apache.drill.common.config.DrillConfig getConfig()>();
v = virtualinvoke v.<oadd.org.apache.drill.common.config.DrillConfig: int getInt(java.lang.String)>("drill.exec.rpc.user.server.threads");
v = staticinvoke <oadd.org.apache.drill.exec.rpc.TransportCheck: oadd.io.netty.channel.EventLoopGroup createEventLoopGroup(int,java.lang.String)>(v, "UserServer-");
v = new oadd.org.apache.drill.exec.rpc.user.UserServer;
v = v.<oadd.org.apache.drill.exec.service.ServiceEngine: oadd.org.apache.drill.exec.memory.BufferAllocator userAllocator>;
v = virtualinvoke v.<oadd.org.apache.drill.exec.work.WorkManager: oadd.org.apache.drill.exec.work.user.UserWorker getUserWorker()>();
specialinvoke v.<oadd.org.apache.drill.exec.rpc.user.UserServer: void <init>(oadd.org.apache.drill.exec.server.BootStrapContext,oadd.org.apache.drill.exec.memory.BufferAllocator,oadd.io.netty.channel.EventLoopGroup,oadd.org.apache.drill.exec.work.user.UserWorker)>(v, v, v, v);
v.<oadd.org.apache.drill.exec.service.ServiceEngine: oadd.org.apache.drill.exec.rpc.user.UserServer userServer> = v;
v = new oadd.org.apache.drill.exec.rpc.control.ControllerImpl;
v = v.<oadd.org.apache.drill.exec.service.ServiceEngine: oadd.org.apache.drill.exec.memory.BufferAllocator controlAllocator>;
v = virtualinvoke v.<oadd.org.apache.drill.exec.work.WorkManager: oadd.org.apache.drill.exec.work.batch.ControlMessageHandler getControlMessageHandler()>();
specialinvoke v.<oadd.org.apache.drill.exec.rpc.control.ControllerImpl: void <init>(oadd.org.apache.drill.exec.server.BootStrapContext,oadd.org.apache.drill.exec.memory.BufferAllocator,oadd.org.apache.drill.exec.work.batch.ControlMessageHandler)>(v, v, v);
v.<oadd.org.apache.drill.exec.service.ServiceEngine: oadd.org.apache.drill.exec.rpc.control.Controller controller> = v;
v = new oadd.org.apache.drill.exec.rpc.data.DataConnectionCreator;
v = v.<oadd.org.apache.drill.exec.service.ServiceEngine: oadd.org.apache.drill.exec.memory.BufferAllocator dataAllocator>;
v = virtualinvoke v.<oadd.org.apache.drill.exec.work.WorkManager: oadd.org.apache.drill.exec.rpc.control.WorkEventBus getWorkBus()>();
v = virtualinvoke v.<oadd.org.apache.drill.exec.work.WorkManager: oadd.org.apache.drill.exec.work.WorkManager$WorkerBee getBee()>();
specialinvoke v.<oadd.org.apache.drill.exec.rpc.data.DataConnectionCreator: void <init>(oadd.org.apache.drill.exec.server.BootStrapContext,oadd.org.apache.drill.exec.memory.BufferAllocator,oadd.org.apache.drill.exec.rpc.control.WorkEventBus,oadd.org.apache.drill.exec.work.WorkManager$WorkerBee)>(v, v, v, v);
v.<oadd.org.apache.drill.exec.service.ServiceEngine: oadd.org.apache.drill.exec.rpc.data.DataConnectionCreator dataPool> = v;
v = virtualinvoke v.<oadd.org.apache.drill.exec.server.BootStrapContext: java.lang.String getHostName()>();
v.<oadd.org.apache.drill.exec.service.ServiceEngine: java.lang.String hostName> = v;
v = virtualinvoke v.<oadd.org.apache.drill.common.config.DrillConfig: java.lang.String getString(java.lang.String)>("drill.exec.rpc.bind_addr");
v.<oadd.org.apache.drill.exec.service.ServiceEngine: java.lang.String bindAddr> = v;
v = virtualinvoke v.<oadd.org.apache.drill.common.config.DrillConfig: int getInt(java.lang.String)>("drill.exec.rpc.user.server.port");
v.<oadd.org.apache.drill.exec.service.ServiceEngine: int intialUserPort> = v;
v.<oadd.org.apache.drill.exec.service.ServiceEngine: boolean allowPortHunting> = v;
v.<oadd.org.apache.drill.exec.service.ServiceEngine: boolean isDistributedMode> = v;
return;
}
private static oadd.org.apache.drill.exec.memory.BufferAllocator newAllocator(oadd.org.apache.drill.exec.server.BootStrapContext, java.lang.String, java.lang.String, java.lang.String)
{
oadd.org.apache.drill.common.config.DrillConfig v, v;
oadd.org.apache.drill.exec.server.BootStrapContext v;
long v, v;
oadd.org.apache.drill.exec.memory.BufferAllocator v, v;
java.lang.String v, v, v;
v := @parameter: oadd.org.apache.drill.exec.server.BootStrapContext;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = virtualinvoke v.<oadd.org.apache.drill.exec.server.BootStrapContext: oadd.org.apache.drill.exec.memory.BufferAllocator getAllocator()>();
v = virtualinvoke v.<oadd.org.apache.drill.exec.server.BootStrapContext: oadd.org.apache.drill.common.config.DrillConfig getConfig()>();
v = virtualinvoke v.<oadd.org.apache.drill.common.config.DrillConfig: long getLong(java.lang.String)>(v);
v = virtualinvoke v.<oadd.org.apache.drill.exec.server.BootStrapContext: oadd.org.apache.drill.common.config.DrillConfig getConfig()>();
v = virtualinvoke v.<oadd.org.apache.drill.common.config.DrillConfig: long getLong(java.lang.String)>(v);
v = interfaceinvoke v.<oadd.org.apache.drill.exec.memory.BufferAllocator: oadd.org.apache.drill.exec.memory.BufferAllocator newChildAllocator(java.lang.String,long,long)>(v, v, v);
return v;
}
public oadd.org.apache.drill.exec.proto.CoordinationProtos$DrillbitEndpoint start() throws oadd.org.apache.drill.exec.exception.DrillbitStartupException, java.net.UnknownHostException
{
oadd.org.apache.drill.exec.rpc.control.Controller v;
oadd.org.apache.drill.exec.exception.DrillbitStartupException v;
java.net.InetAddress v;
oadd.org.apache.drill.exec.proto.CoordinationProtos$DrillbitEndpoint v, v, v;
int v, v, v;
oadd.org.apache.drill.exec.rpc.user.UserServer v;
java.lang.String v, v, v, v;
boolean v, v, v, v, v;
oadd.org.apache.drill.exec.service.ServiceEngine v;
oadd.org.apache.drill.exec.rpc.data.DataConnectionCreator v;
oadd.org.apache.drill.exec.proto.CoordinationProtos$DrillbitEndpoint$State v;
oadd.org.apache.drill.exec.proto.CoordinationProtos$DrillbitEndpoint$Builder v, v, v, v, v;
v := @this: oadd.org.apache.drill.exec.service.ServiceEngine;
v = v.<oadd.org.apache.drill.exec.service.ServiceEngine: boolean isDistributedMode>;
if v == 0 goto label;
v = v.<oadd.org.apache.drill.exec.service.ServiceEngine: java.lang.String bindAddr>;
v = staticinvoke <java.net.InetAddress: java.net.InetAddress getByName(java.lang.String)>(v);
v = virtualinvoke v.<java.net.InetAddress: boolean isLoopbackAddress()>();
if v == 0 goto label;
v = new oadd.org.apache.drill.exec.exception.DrillbitStartupException;
specialinvoke v.<oadd.org.apache.drill.exec.exception.DrillbitStartupException: void <init>(java.lang.String)>("Drillbit may not bind to a loopback address in distributed mode.");
throw v;
label:
v = v.<oadd.org.apache.drill.exec.service.ServiceEngine: oadd.org.apache.drill.exec.rpc.user.UserServer userServer>;
v = v.<oadd.org.apache.drill.exec.service.ServiceEngine: java.lang.String bindAddr>;
v = v.<oadd.org.apache.drill.exec.service.ServiceEngine: int intialUserPort>;
v = v.<oadd.org.apache.drill.exec.service.ServiceEngine: boolean allowPortHunting>;
v = virtualinvoke v.<oadd.org.apache.drill.exec.rpc.user.UserServer: int bind(java.lang.String,int,boolean)>(v, v, v);
v.<oadd.org.apache.drill.exec.service.ServiceEngine: int userPort> = v;
v = staticinvoke <oadd.org.apache.drill.exec.proto.CoordinationProtos$DrillbitEndpoint: oadd.org.apache.drill.exec.proto.CoordinationProtos$DrillbitEndpoint$Builder newBuilder()>();
v = v.<oadd.org.apache.drill.exec.service.ServiceEngine: java.lang.String hostName>;
v = virtualinvoke v.<oadd.org.apache.drill.exec.proto.CoordinationProtos$DrillbitEndpoint$Builder: oadd.org.apache.drill.exec.proto.CoordinationProtos$DrillbitEndpoint$Builder setAddress(java.lang.String)>(v);
v = v.<oadd.org.apache.drill.exec.service.ServiceEngine: int userPort>;
v = virtualinvoke v.<oadd.org.apache.drill.exec.proto.CoordinationProtos$DrillbitEndpoint$Builder: oadd.org.apache.drill.exec.proto.CoordinationProtos$DrillbitEndpoint$Builder setUserPort(int)>(v);
v = staticinvoke <oadd.org.apache.drill.common.util.DrillVersionInfo: java.lang.String getVersion()>();
v = virtualinvoke v.<oadd.org.apache.drill.exec.proto.CoordinationProtos$DrillbitEndpoint$Builder: oadd.org.apache.drill.exec.proto.CoordinationProtos$DrillbitEndpoint$Builder setVersion(java.lang.String)>(v);
v = <oadd.org.apache.drill.exec.proto.CoordinationProtos$DrillbitEndpoint$State: oadd.org.apache.drill.exec.proto.CoordinationProtos$DrillbitEndpoint$State STARTUP>;
v = virtualinvoke v.<oadd.org.apache.drill.exec.proto.CoordinationProtos$DrillbitEndpoint$Builder: oadd.org.apache.drill.exec.proto.CoordinationProtos$DrillbitEndpoint$Builder setState(oadd.org.apache.drill.exec.proto.CoordinationProtos$DrillbitEndpoint$State)>(v);
v = virtualinvoke v.<oadd.org.apache.drill.exec.proto.CoordinationProtos$DrillbitEndpoint$Builder: oadd.org.apache.drill.exec.proto.CoordinationProtos$DrillbitEndpoint build()>();
v = v.<oadd.org.apache.drill.exec.service.ServiceEngine: oadd.org.apache.drill.exec.rpc.control.Controller controller>;
v = v.<oadd.org.apache.drill.exec.service.ServiceEngine: boolean allowPortHunting>;
v = interfaceinvoke v.<oadd.org.apache.drill.exec.rpc.control.Controller: oadd.org.apache.drill.exec.proto.CoordinationProtos$DrillbitEndpoint start(oadd.org.apache.drill.exec.proto.CoordinationProtos$DrillbitEndpoint,boolean)>(v, v);
v = v.<oadd.org.apache.drill.exec.service.ServiceEngine: oadd.org.apache.drill.exec.rpc.data.DataConnectionCreator dataPool>;
v = v.<oadd.org.apache.drill.exec.service.ServiceEngine: boolean allowPortHunting>;
v = virtualinvoke v.<oadd.org.apache.drill.exec.rpc.data.DataConnectionCreator: oadd.org.apache.drill.exec.proto.CoordinationProtos$DrillbitEndpoint start(oadd.org.apache.drill.exec.proto.CoordinationProtos$DrillbitEndpoint,boolean)>(v, v);
return v;
}
public int getUserPort()
{
int v;
oadd.org.apache.drill.exec.service.ServiceEngine v;
v := @this: oadd.org.apache.drill.exec.service.ServiceEngine;
v = v.<oadd.org.apache.drill.exec.service.ServiceEngine: int userPort>;
return v;
}
public oadd.org.apache.drill.exec.rpc.data.DataConnectionCreator getDataConnectionCreator()
{
oadd.org.apache.drill.exec.service.ServiceEngine v;
oadd.org.apache.drill.exec.rpc.data.DataConnectionCreator v;
v := @this: oadd.org.apache.drill.exec.service.ServiceEngine;
v = v.<oadd.org.apache.drill.exec.service.ServiceEngine: oadd.org.apache.drill.exec.rpc.data.DataConnectionCreator dataPool>;
return v;
}
public oadd.org.apache.drill.exec.rpc.control.Controller getController()
{
oadd.org.apache.drill.exec.service.ServiceEngine v;
oadd.org.apache.drill.exec.rpc.control.Controller v;
v := @this: oadd.org.apache.drill.exec.service.ServiceEngine;
v = v.<oadd.org.apache.drill.exec.service.ServiceEngine: oadd.org.apache.drill.exec.rpc.control.Controller controller>;
return v;
}
private void submit(java.util.concurrent.Executor, java.lang.String, java.lang.AutoCloseable)
{
oadd.org.apache.drill.exec.service.ServiceEngine v;
java.util.concurrent.Executor v;
java.lang.String v;
java.lang.AutoCloseable v;
oadd.org.apache.drill.exec.service.ServiceEngine$1 v;
v := @this: oadd.org.apache.drill.exec.service.ServiceEngine;
v := @parameter: java.util.concurrent.Executor;
v := @parameter: java.lang.String;
v := @parameter: java.lang.AutoCloseable;
v = new oadd.org.apache.drill.exec.service.ServiceEngine$1;
specialinvoke v.<oadd.org.apache.drill.exec.service.ServiceEngine$1: void <init>(oadd.org.apache.drill.exec.service.ServiceEngine,java.lang.AutoCloseable,java.lang.String)>(v, v, v);
interfaceinvoke v.<java.util.concurrent.Executor: void execute(java.lang.Runnable)>(v);
return;
}
public void close() throws java.lang.Exception
{
java.lang.AutoCloseable[] v;
oadd.org.apache.drill.exec.service.ServiceEngine v;
oadd.org.apache.drill.exec.rpc.control.Controller v;
java.util.concurrent.TimeUnit v;
oadd.org.apache.drill.exec.rpc.data.DataConnectionCreator v;
java.lang.InterruptedException v;
java.lang.Thread v;
oadd.org.apache.drill.exec.memory.BufferAllocator v, v, v;
oadd.org.apache.drill.exec.rpc.user.UserServer v;
java.util.concurrent.ExecutorService v;
v := @this: oadd.org.apache.drill.exec.service.ServiceEngine;
v = staticinvoke <java.util.concurrent.Executors: java.util.concurrent.ExecutorService newFixedThreadPool(int)>(2);
v = v.<oadd.org.apache.drill.exec.service.ServiceEngine: oadd.org.apache.drill.exec.rpc.user.UserServer userServer>;
specialinvoke v.<oadd.org.apache.drill.exec.service.ServiceEngine: void submit(java.util.concurrent.Executor,java.lang.String,java.lang.AutoCloseable)>(v, "userServer", v);
v = v.<oadd.org.apache.drill.exec.service.ServiceEngine: oadd.org.apache.drill.exec.rpc.data.DataConnectionCreator dataPool>;
specialinvoke v.<oadd.org.apache.drill.exec.service.ServiceEngine: void submit(java.util.concurrent.Executor,java.lang.String,java.lang.AutoCloseable)>(v, "dataPool", v);
v = v.<oadd.org.apache.drill.exec.service.ServiceEngine: oadd.org.apache.drill.exec.rpc.control.Controller controller>;
specialinvoke v.<oadd.org.apache.drill.exec.service.ServiceEngine: void submit(java.util.concurrent.Executor,java.lang.String,java.lang.AutoCloseable)>(v, "controller", v);
interfaceinvoke v.<java.util.concurrent.ExecutorService: void shutdown()>();
label:
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit SECONDS>;
interfaceinvoke v.<java.util.concurrent.ExecutorService: boolean awaitTermination(long,java.util.concurrent.TimeUnit)>(3L, v);
label:
goto label;
label:
v := @caughtexception;
v = staticinvoke <java.lang.Thread: java.lang.Thread currentThread()>();
virtualinvoke v.<java.lang.Thread: void interrupt()>();
label:
v = newarray (java.lang.AutoCloseable)[3];
v = v.<oadd.org.apache.drill.exec.service.ServiceEngine: oadd.org.apache.drill.exec.memory.BufferAllocator userAllocator>;
v[0] = v;
v = v.<oadd.org.apache.drill.exec.service.ServiceEngine: oadd.org.apache.drill.exec.memory.BufferAllocator controlAllocator>;
v[1] = v;
v = v.<oadd.org.apache.drill.exec.service.ServiceEngine: oadd.org.apache.drill.exec.memory.BufferAllocator dataAllocator>;
v[2] = v;
staticinvoke <oadd.org.apache.drill.common.AutoCloseables: void close(java.lang.AutoCloseable[])>(v);
return;
catch java.lang.InterruptedException from label to label with label;
}
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/service/ServiceEngine;");
<oadd.org.apache.drill.exec.service.ServiceEngine: org.slf4j.Logger logger> = v;
return;
}
}