public class oadd.org.apache.drill.exec.resourcemgr.config.ResourcePoolTreeImpl extends java.lang.Object implements oadd.org.apache.drill.exec.resourcemgr.config.ResourcePoolTree
{
private static final org.slf4j.Logger logger;
public static final java.lang.String ROOT_POOL_QUEUE_SELECTION_POLICY_KEY;
public static final java.lang.String ROOT_POOL_CONFIG_KEY;
private static final java.lang.String ROOT_POOL_MEMORY_SHARE_KEY;
private final oadd.org.apache.drill.exec.resourcemgr.config.ResourcePool rootPool;
private final oadd.com.typesafe.config.Config rmConfig;
private final oadd.org.apache.drill.exec.resourcemgr.NodeResources totalNodeResources;
private final double resourceShare;
private final java.util.Map leafQueues;
private final oadd.org.apache.drill.exec.resourcemgr.config.selectionpolicy.QueueSelectionPolicy selectionPolicy;
public void <init>(oadd.com.typesafe.config.Config, long, int, int) throws oadd.org.apache.drill.exec.resourcemgr.config.exception.RMConfigException
{
oadd.org.apache.drill.exec.resourcemgr.NodeResources v;
oadd.org.apache.drill.exec.resourcemgr.config.ResourcePoolTreeImpl v;
int v, v;
long v;
oadd.com.typesafe.config.Config v;
v := @this: oadd.org.apache.drill.exec.resourcemgr.config.ResourcePoolTreeImpl;
v := @parameter: oadd.com.typesafe.config.Config;
v := @parameter: long;
v := @parameter: int;
v := @parameter: int;
v = new oadd.org.apache.drill.exec.resourcemgr.NodeResources;
specialinvoke v.<oadd.org.apache.drill.exec.resourcemgr.NodeResources: void <init>(long,int,int)>(v, v, v);
specialinvoke v.<oadd.org.apache.drill.exec.resourcemgr.config.ResourcePoolTreeImpl: void <init>(oadd.com.typesafe.config.Config,oadd.org.apache.drill.exec.resourcemgr.NodeResources)>(v, v);
return;
}
private void <init>(oadd.com.typesafe.config.Config, oadd.org.apache.drill.exec.resourcemgr.NodeResources) throws oadd.org.apache.drill.exec.resourcemgr.config.exception.RMConfigException
{
java.lang.Object[] v;
oadd.org.apache.drill.exec.resourcemgr.config.selectionpolicy.QueueSelectionPolicy v;
java.util.HashMap v;
oadd.com.typesafe.config.Config v, v, v;
java.util.Map v;
oadd.org.apache.drill.exec.resourcemgr.config.exception.RMConfigException v, v;
java.lang.String v, v, v, v, v;
boolean v, v;
double v, v;
oadd.org.apache.drill.exec.resourcemgr.NodeResources v;
org.slf4j.Logger v;
oadd.org.apache.drill.exec.resourcemgr.config.ResourcePoolImpl v;
java.lang.Exception v;
oadd.org.apache.drill.exec.resourcemgr.config.ResourcePoolTreeImpl v;
oadd.org.apache.drill.exec.resourcemgr.config.selectionpolicy.QueueSelectionPolicy$SelectionPolicy v;
v := @this: oadd.org.apache.drill.exec.resourcemgr.config.ResourcePoolTreeImpl;
v := @parameter: oadd.com.typesafe.config.Config;
v := @parameter: oadd.org.apache.drill.exec.resourcemgr.NodeResources;
specialinvoke v.<java.lang.Object: void <init>()>();
v = staticinvoke <org.apache.drill.shaded.guava.com.google.common.collect.Maps: java.util.HashMap newHashMap()>();
v.<oadd.org.apache.drill.exec.resourcemgr.config.ResourcePoolTreeImpl: java.util.Map leafQueues> = v;
label:
v.<oadd.org.apache.drill.exec.resourcemgr.config.ResourcePoolTreeImpl: oadd.com.typesafe.config.Config rmConfig> = v;
v = v.<oadd.org.apache.drill.exec.resourcemgr.config.ResourcePoolTreeImpl: oadd.com.typesafe.config.Config rmConfig>;
v = interfaceinvoke v.<oadd.com.typesafe.config.Config: oadd.com.typesafe.config.Config getConfig(java.lang.String)>("drill.exec.rm");
v.<oadd.org.apache.drill.exec.resourcemgr.config.ResourcePoolTreeImpl: oadd.org.apache.drill.exec.resourcemgr.NodeResources totalNodeResources> = v;
v = interfaceinvoke v.<oadd.com.typesafe.config.Config: boolean hasPath(java.lang.String)>("memory");
if v == 0 goto label;
v = interfaceinvoke v.<oadd.com.typesafe.config.Config: double getDouble(java.lang.String)>("memory");
goto label;
label:
v = 0.9;
label:
v.<oadd.org.apache.drill.exec.resourcemgr.config.ResourcePoolTreeImpl: double resourceShare> = v;
v = interfaceinvoke v.<oadd.com.typesafe.config.Config: boolean hasPath(java.lang.String)>("queue_selection_policy");
if v == 0 goto label;
v = interfaceinvoke v.<oadd.com.typesafe.config.Config: java.lang.String getString(java.lang.String)>("queue_selection_policy");
v = virtualinvoke v.<java.lang.String: java.lang.String trim()>();
v = virtualinvoke v.<java.lang.String: java.lang.String toUpperCase()>();
v = staticinvoke <oadd.org.apache.drill.exec.resourcemgr.config.selectionpolicy.QueueSelectionPolicy$SelectionPolicy: oadd.org.apache.drill.exec.resourcemgr.config.selectionpolicy.QueueSelectionPolicy$SelectionPolicy valueOf(java.lang.String)>(v);
goto label;
label:
v = <oadd.org.apache.drill.exec.resourcemgr.config.RMCommonDefaults: oadd.org.apache.drill.exec.resourcemgr.config.selectionpolicy.QueueSelectionPolicy$SelectionPolicy ROOT_POOL_DEFAULT_QUEUE_SELECTION_POLICY>;
label:
v = staticinvoke <oadd.org.apache.drill.exec.resourcemgr.config.selectionpolicy.QueueSelectionPolicyFactory: oadd.org.apache.drill.exec.resourcemgr.config.selectionpolicy.QueueSelectionPolicy createSelectionPolicy(oadd.org.apache.drill.exec.resourcemgr.config.selectionpolicy.QueueSelectionPolicy$SelectionPolicy)>(v);
v.<oadd.org.apache.drill.exec.resourcemgr.config.ResourcePoolTreeImpl: oadd.org.apache.drill.exec.resourcemgr.config.selectionpolicy.QueueSelectionPolicy selectionPolicy> = v;
v = new oadd.org.apache.drill.exec.resourcemgr.config.ResourcePoolImpl;
v = v.<oadd.org.apache.drill.exec.resourcemgr.config.ResourcePoolTreeImpl: double resourceShare>;
v = v.<oadd.org.apache.drill.exec.resourcemgr.config.ResourcePoolTreeImpl: java.util.Map leafQueues>;
specialinvoke v.<oadd.org.apache.drill.exec.resourcemgr.config.ResourcePoolImpl: void <init>(oadd.com.typesafe.config.Config,double,double,oadd.org.apache.drill.exec.resourcemgr.NodeResources,oadd.org.apache.drill.exec.resourcemgr.config.ResourcePool,java.util.Map)>(v, v, 1.0, v, null, v);
v.<oadd.org.apache.drill.exec.resourcemgr.config.ResourcePoolTreeImpl: oadd.org.apache.drill.exec.resourcemgr.config.ResourcePool rootPool> = v;
v = <oadd.org.apache.drill.exec.resourcemgr.config.ResourcePoolTreeImpl: org.slf4j.Logger logger>;
v = virtualinvoke v.<oadd.org.apache.drill.exec.resourcemgr.config.ResourcePoolTreeImpl: java.lang.String toString()>();
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object)>("Dumping RM configuration {}", v);
label:
goto label;
label:
v := @caughtexception;
throw v;
label:
v := @caughtexception;
v = new oadd.org.apache.drill.exec.resourcemgr.config.exception.RMConfigException;
v = newarray (java.lang.Object)[1];
v[0] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("Failure while parsing root pool configuration. [Details: Config: %s]", v);
specialinvoke v.<oadd.org.apache.drill.exec.resourcemgr.config.exception.RMConfigException: void <init>(java.lang.String,java.lang.Exception)>(v, v);
throw v;
label:
return;
catch oadd.org.apache.drill.exec.resourcemgr.config.exception.RMConfigException from label to label with label;
catch java.lang.Exception from label to label with label;
}
public oadd.org.apache.drill.exec.resourcemgr.config.ResourcePool getRootPool()
{
oadd.org.apache.drill.exec.resourcemgr.config.ResourcePoolTreeImpl v;
oadd.org.apache.drill.exec.resourcemgr.config.ResourcePool v;
v := @this: oadd.org.apache.drill.exec.resourcemgr.config.ResourcePoolTreeImpl;
v = v.<oadd.org.apache.drill.exec.resourcemgr.config.ResourcePoolTreeImpl: oadd.org.apache.drill.exec.resourcemgr.config.ResourcePool rootPool>;
return v;
}
public java.util.Map getAllLeafQueues()
{
oadd.org.apache.drill.exec.resourcemgr.config.ResourcePoolTreeImpl v;
java.util.Map v;
v := @this: oadd.org.apache.drill.exec.resourcemgr.config.ResourcePoolTreeImpl;
v = v.<oadd.org.apache.drill.exec.resourcemgr.config.ResourcePoolTreeImpl: java.util.Map leafQueues>;
return v;
}
public double getResourceShare()
{
oadd.org.apache.drill.exec.resourcemgr.config.ResourcePoolTreeImpl v;
double v;
v := @this: oadd.org.apache.drill.exec.resourcemgr.config.ResourcePoolTreeImpl;
v = v.<oadd.org.apache.drill.exec.resourcemgr.config.ResourcePoolTreeImpl: double resourceShare>;
return v;
}
public oadd.org.apache.drill.exec.resourcemgr.config.QueueAssignmentResult selectAllQueues(oadd.org.apache.drill.exec.ops.QueryContext)
{
oadd.org.apache.drill.exec.resourcemgr.config.QueueAssignmentResult v;
oadd.org.apache.drill.exec.resourcemgr.config.ResourcePoolTreeImpl v;
oadd.org.apache.drill.exec.ops.QueryContext v;
oadd.org.apache.drill.exec.resourcemgr.config.ResourcePool v;
v := @this: oadd.org.apache.drill.exec.resourcemgr.config.ResourcePoolTreeImpl;
v := @parameter: oadd.org.apache.drill.exec.ops.QueryContext;
v = new oadd.org.apache.drill.exec.resourcemgr.config.QueueAssignmentResult;
specialinvoke v.<oadd.org.apache.drill.exec.resourcemgr.config.QueueAssignmentResult: void <init>()>();
v = v.<oadd.org.apache.drill.exec.resourcemgr.config.ResourcePoolTreeImpl: oadd.org.apache.drill.exec.resourcemgr.config.ResourcePool rootPool>;
interfaceinvoke v.<oadd.org.apache.drill.exec.resourcemgr.config.ResourcePool: void visitAndSelectPool(oadd.org.apache.drill.exec.resourcemgr.config.QueueAssignmentResult,oadd.org.apache.drill.exec.ops.QueryContext)>(v, v);
return v;
}
public oadd.org.apache.drill.exec.resourcemgr.config.QueryQueueConfig selectOneQueue(oadd.org.apache.drill.exec.ops.QueryContext, oadd.org.apache.drill.exec.resourcemgr.NodeResources) throws oadd.org.apache.drill.exec.resourcemgr.config.exception.QueueSelectionException
{
oadd.org.apache.drill.exec.resourcemgr.config.QueueAssignmentResult v;
java.lang.Object[] v;
oadd.org.apache.drill.exec.resourcemgr.config.selectionpolicy.QueueSelectionPolicy v;
oadd.org.apache.drill.exec.resourcemgr.config.exception.QueueSelectionException v;
int v, v;
java.lang.String v;
oadd.org.apache.drill.exec.resourcemgr.config.QueryQueueConfig v, v;
oadd.org.apache.drill.exec.resourcemgr.NodeResources v;
oadd.org.apache.drill.exec.ops.QueryContext v;
oadd.org.apache.drill.exec.resourcemgr.config.ResourcePool v;
java.util.List v;
oadd.org.apache.drill.exec.resourcemgr.config.ResourcePoolTreeImpl v;
java.lang.Object v;
oadd.org.apache.drill.exec.proto.UserBitShared$QueryId v;
v := @this: oadd.org.apache.drill.exec.resourcemgr.config.ResourcePoolTreeImpl;
v := @parameter: oadd.org.apache.drill.exec.ops.QueryContext;
v := @parameter: oadd.org.apache.drill.exec.resourcemgr.NodeResources;
v = virtualinvoke v.<oadd.org.apache.drill.exec.resourcemgr.config.ResourcePoolTreeImpl: oadd.org.apache.drill.exec.resourcemgr.config.QueueAssignmentResult selectAllQueues(oadd.org.apache.drill.exec.ops.QueryContext)>(v);
v = virtualinvoke v.<oadd.org.apache.drill.exec.resourcemgr.config.QueueAssignmentResult: java.util.List getSelectedLeafPools()>();
v = interfaceinvoke v.<java.util.List: int size()>();
if v != 0 goto label;
v = new oadd.org.apache.drill.exec.resourcemgr.config.exception.QueueSelectionException;
v = newarray (java.lang.Object)[1];
v = virtualinvoke v.<oadd.org.apache.drill.exec.ops.QueryContext: oadd.org.apache.drill.exec.proto.UserBitShared$QueryId getQueryId()>();
v[0] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("No resource pools to choose from for the query: %s", v);
specialinvoke v.<oadd.org.apache.drill.exec.resourcemgr.config.exception.QueueSelectionException: void <init>(java.lang.String)>(v);
throw v;
label:
v = interfaceinvoke v.<java.util.List: int size()>();
if v != 1 goto label;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = interfaceinvoke v.<oadd.org.apache.drill.exec.resourcemgr.config.ResourcePool: oadd.org.apache.drill.exec.resourcemgr.config.QueryQueueConfig getQueryQueue()>();
return v;
label:
v = v.<oadd.org.apache.drill.exec.resourcemgr.config.ResourcePoolTreeImpl: oadd.org.apache.drill.exec.resourcemgr.config.selectionpolicy.QueueSelectionPolicy selectionPolicy>;
v = interfaceinvoke v.<oadd.org.apache.drill.exec.resourcemgr.config.selectionpolicy.QueueSelectionPolicy: oadd.org.apache.drill.exec.resourcemgr.config.ResourcePool selectQueue(java.util.List,oadd.org.apache.drill.exec.ops.QueryContext,oadd.org.apache.drill.exec.resourcemgr.NodeResources)>(v, v, v);
v = interfaceinvoke v.<oadd.org.apache.drill.exec.resourcemgr.config.ResourcePool: oadd.org.apache.drill.exec.resourcemgr.config.QueryQueueConfig getQueryQueue()>();
return v;
}
public oadd.org.apache.drill.exec.resourcemgr.config.selectionpolicy.QueueSelectionPolicy getSelectionPolicyInUse()
{
oadd.org.apache.drill.exec.resourcemgr.config.ResourcePoolTreeImpl v;
oadd.org.apache.drill.exec.resourcemgr.config.selectionpolicy.QueueSelectionPolicy v;
v := @this: oadd.org.apache.drill.exec.resourcemgr.config.ResourcePoolTreeImpl;
v = v.<oadd.org.apache.drill.exec.resourcemgr.config.ResourcePoolTreeImpl: oadd.org.apache.drill.exec.resourcemgr.config.selectionpolicy.QueueSelectionPolicy selectionPolicy>;
return v;
}
public java.lang.String toString()
{
oadd.org.apache.drill.exec.resourcemgr.NodeResources v;
oadd.org.apache.drill.exec.resourcemgr.config.selectionpolicy.QueueSelectionPolicy v;
oadd.org.apache.drill.exec.resourcemgr.config.ResourcePool v;
oadd.org.apache.drill.exec.resourcemgr.config.ResourcePoolTreeImpl v;
java.lang.StringBuilder v, v, v, v, v;
java.lang.String v, v, v;
double v;
oadd.org.apache.drill.exec.resourcemgr.config.selectionpolicy.QueueSelectionPolicy$SelectionPolicy v;
v := @this: oadd.org.apache.drill.exec.resourcemgr.config.ResourcePoolTreeImpl;
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>()>();
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("{ NodeResources: ");
v = v.<oadd.org.apache.drill.exec.resourcemgr.config.ResourcePoolTreeImpl: oadd.org.apache.drill.exec.resourcemgr.NodeResources totalNodeResources>;
v = virtualinvoke v.<oadd.org.apache.drill.exec.resourcemgr.NodeResources: java.lang.String toString()>();
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(", ResourcePercent: ");
v = v.<oadd.org.apache.drill.exec.resourcemgr.config.ResourcePoolTreeImpl: double resourceShare>;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(double)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(", SelectionPolicy: ");
v = v.<oadd.org.apache.drill.exec.resourcemgr.config.ResourcePoolTreeImpl: oadd.org.apache.drill.exec.resourcemgr.config.selectionpolicy.QueueSelectionPolicy selectionPolicy>;
v = interfaceinvoke v.<oadd.org.apache.drill.exec.resourcemgr.config.selectionpolicy.QueueSelectionPolicy: oadd.org.apache.drill.exec.resourcemgr.config.selectionpolicy.QueueSelectionPolicy$SelectionPolicy getSelectionPolicy()>();
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.Object)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(", RootPool: ");
v = v.<oadd.org.apache.drill.exec.resourcemgr.config.ResourcePoolTreeImpl: oadd.org.apache.drill.exec.resourcemgr.config.ResourcePool rootPool>;
v = virtualinvoke v.<java.lang.Object: java.lang.String toString()>();
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("}");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
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/resourcemgr/config/ResourcePoolTreeImpl;");
<oadd.org.apache.drill.exec.resourcemgr.config.ResourcePoolTreeImpl: org.slf4j.Logger logger> = v;
return;
}
}