public class oadd.org.apache.curator.framework.recipes.queue.QueueSharder extends java.lang.Object implements java.io.Closeable
{
private final org.slf4j.Logger log;
private final oadd.org.apache.curator.framework.CuratorFramework client;
private final oadd.org.apache.curator.framework.recipes.queue.QueueAllocator queueAllocator;
private final java.lang.String queuePath;
private final oadd.org.apache.curator.framework.recipes.queue.QueueSharderPolicies policies;
private final java.util.concurrent.ConcurrentMap queues;
private final java.util.Set preferredQueues;
private final java.util.concurrent.atomic.AtomicReference state;
private final oadd.org.apache.curator.framework.recipes.leader.LeaderLatch leaderLatch;
private final java.util.Random random;
private final java.util.concurrent.ExecutorService service;
private static final java.lang.String QUEUE_PREFIX;
public void <init>(oadd.org.apache.curator.framework.CuratorFramework, oadd.org.apache.curator.framework.recipes.queue.QueueAllocator, java.lang.String, java.lang.String, oadd.org.apache.curator.framework.recipes.queue.QueueSharderPolicies)
{
oadd.org.apache.curator.framework.recipes.queue.QueueSharder v;
oadd.org.apache.curator.framework.recipes.queue.QueueSharderPolicies v;
java.util.Random v;
oadd.org.apache.curator.framework.recipes.leader.LeaderLatch v;
java.util.concurrent.atomic.AtomicReference v;
java.util.concurrent.ConcurrentMap v, v;
java.lang.String v, v;
java.util.concurrent.ThreadFactory v;
java.util.concurrent.ExecutorService v;
org.slf4j.Logger v;
oadd.org.apache.curator.framework.recipes.queue.QueueAllocator v;
java.util.Set v;
oadd.org.apache.curator.framework.CuratorFramework v;
oadd.org.apache.curator.framework.recipes.queue.QueueSharder$State v;
java.lang.Class v;
v := @this: oadd.org.apache.curator.framework.recipes.queue.QueueSharder;
v := @parameter: oadd.org.apache.curator.framework.CuratorFramework;
v := @parameter: oadd.org.apache.curator.framework.recipes.queue.QueueAllocator;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: oadd.org.apache.curator.framework.recipes.queue.QueueSharderPolicies;
specialinvoke v.<java.lang.Object: void <init>()>();
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(v);
v.<oadd.org.apache.curator.framework.recipes.queue.QueueSharder: org.slf4j.Logger log> = v;
v = staticinvoke <oadd.org.apache.curator.shaded.com.google.common.collect.Maps: java.util.concurrent.ConcurrentMap newConcurrentMap()>();
v.<oadd.org.apache.curator.framework.recipes.queue.QueueSharder: java.util.concurrent.ConcurrentMap queues> = v;
v = staticinvoke <oadd.org.apache.curator.shaded.com.google.common.collect.Maps: java.util.concurrent.ConcurrentMap newConcurrentMap()>();
v = staticinvoke <oadd.org.apache.curator.shaded.com.google.common.collect.Sets: java.util.Set newSetFromMap(java.util.Map)>(v);
v.<oadd.org.apache.curator.framework.recipes.queue.QueueSharder: java.util.Set preferredQueues> = v;
v = new java.util.concurrent.atomic.AtomicReference;
v = <oadd.org.apache.curator.framework.recipes.queue.QueueSharder$State: oadd.org.apache.curator.framework.recipes.queue.QueueSharder$State LATENT>;
specialinvoke v.<java.util.concurrent.atomic.AtomicReference: void <init>(java.lang.Object)>(v);
v.<oadd.org.apache.curator.framework.recipes.queue.QueueSharder: java.util.concurrent.atomic.AtomicReference state> = v;
v = new java.util.Random;
specialinvoke v.<java.util.Random: void <init>()>();
v.<oadd.org.apache.curator.framework.recipes.queue.QueueSharder: java.util.Random random> = v;
v.<oadd.org.apache.curator.framework.recipes.queue.QueueSharder: oadd.org.apache.curator.framework.CuratorFramework client> = v;
v.<oadd.org.apache.curator.framework.recipes.queue.QueueSharder: oadd.org.apache.curator.framework.recipes.queue.QueueAllocator queueAllocator> = v;
v.<oadd.org.apache.curator.framework.recipes.queue.QueueSharder: java.lang.String queuePath> = v;
v.<oadd.org.apache.curator.framework.recipes.queue.QueueSharder: oadd.org.apache.curator.framework.recipes.queue.QueueSharderPolicies policies> = v;
v = new oadd.org.apache.curator.framework.recipes.leader.LeaderLatch;
specialinvoke v.<oadd.org.apache.curator.framework.recipes.leader.LeaderLatch: void <init>(oadd.org.apache.curator.framework.CuratorFramework,java.lang.String)>(v, v);
v.<oadd.org.apache.curator.framework.recipes.queue.QueueSharder: oadd.org.apache.curator.framework.recipes.leader.LeaderLatch leaderLatch> = v;
v = virtualinvoke v.<oadd.org.apache.curator.framework.recipes.queue.QueueSharderPolicies: java.util.concurrent.ThreadFactory getThreadFactory()>();
v = staticinvoke <java.util.concurrent.Executors: java.util.concurrent.ExecutorService newSingleThreadExecutor(java.util.concurrent.ThreadFactory)>(v);
v.<oadd.org.apache.curator.framework.recipes.queue.QueueSharder: java.util.concurrent.ExecutorService service> = v;
return;
}
public void start() throws java.lang.Exception
{
oadd.org.apache.curator.framework.recipes.queue.QueueSharder v;
oadd.org.apache.curator.framework.CuratorFramework v;
oadd.org.apache.curator.framework.recipes.leader.LeaderLatch v;
java.util.concurrent.atomic.AtomicReference v;
oadd.org.apache.curator.framework.recipes.queue.QueueSharder$1 v;
oadd.org.apache.curator.framework.recipes.queue.QueueSharder$State v, v;
java.lang.String v;
java.util.concurrent.ExecutorService v;
boolean v;
v := @this: oadd.org.apache.curator.framework.recipes.queue.QueueSharder;
v = v.<oadd.org.apache.curator.framework.recipes.queue.QueueSharder: java.util.concurrent.atomic.AtomicReference state>;
v = <oadd.org.apache.curator.framework.recipes.queue.QueueSharder$State: oadd.org.apache.curator.framework.recipes.queue.QueueSharder$State LATENT>;
v = <oadd.org.apache.curator.framework.recipes.queue.QueueSharder$State: oadd.org.apache.curator.framework.recipes.queue.QueueSharder$State STARTED>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: boolean compareAndSet(java.lang.Object,java.lang.Object)>(v, v);
staticinvoke <oadd.org.apache.curator.shaded.com.google.common.base.Preconditions: void checkState(boolean,java.lang.Object)>(v, "Cannot be started more than once");
v = v.<oadd.org.apache.curator.framework.recipes.queue.QueueSharder: oadd.org.apache.curator.framework.CuratorFramework client>;
v = v.<oadd.org.apache.curator.framework.recipes.queue.QueueSharder: java.lang.String queuePath>;
interfaceinvoke v.<oadd.org.apache.curator.framework.CuratorFramework: void createContainers(java.lang.String)>(v);
specialinvoke v.<oadd.org.apache.curator.framework.recipes.queue.QueueSharder: void getInitialQueues()>();
v = v.<oadd.org.apache.curator.framework.recipes.queue.QueueSharder: oadd.org.apache.curator.framework.recipes.leader.LeaderLatch leaderLatch>;
virtualinvoke v.<oadd.org.apache.curator.framework.recipes.leader.LeaderLatch: void start()>();
v = v.<oadd.org.apache.curator.framework.recipes.queue.QueueSharder: java.util.concurrent.ExecutorService service>;
v = new oadd.org.apache.curator.framework.recipes.queue.QueueSharder$1;
specialinvoke v.<oadd.org.apache.curator.framework.recipes.queue.QueueSharder$1: void <init>(oadd.org.apache.curator.framework.recipes.queue.QueueSharder)>(v);
interfaceinvoke v.<java.util.concurrent.ExecutorService: java.util.concurrent.Future submit(java.util.concurrent.Callable)>(v);
return;
}
public void close()
{
oadd.org.apache.curator.framework.recipes.queue.QueueSharder v;
java.util.Iterator v;
java.util.Collection v;
oadd.org.apache.curator.framework.recipes.leader.LeaderLatch v;
java.util.concurrent.atomic.AtomicReference v;
java.util.concurrent.ConcurrentMap v;
oadd.org.apache.curator.framework.recipes.queue.QueueSharder$State v, v;
java.util.concurrent.ExecutorService v;
boolean v, v;
v := @this: oadd.org.apache.curator.framework.recipes.queue.QueueSharder;
v = v.<oadd.org.apache.curator.framework.recipes.queue.QueueSharder: java.util.concurrent.atomic.AtomicReference state>;
v = <oadd.org.apache.curator.framework.recipes.queue.QueueSharder$State: oadd.org.apache.curator.framework.recipes.queue.QueueSharder$State STARTED>;
v = <oadd.org.apache.curator.framework.recipes.queue.QueueSharder$State: oadd.org.apache.curator.framework.recipes.queue.QueueSharder$State CLOSED>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: boolean compareAndSet(java.lang.Object,java.lang.Object)>(v, v);
if v == 0 goto label;
v = v.<oadd.org.apache.curator.framework.recipes.queue.QueueSharder: java.util.concurrent.ExecutorService service>;
interfaceinvoke v.<java.util.concurrent.ExecutorService: java.util.List shutdownNow()>();
v = v.<oadd.org.apache.curator.framework.recipes.queue.QueueSharder: oadd.org.apache.curator.framework.recipes.leader.LeaderLatch leaderLatch>;
staticinvoke <oadd.org.apache.curator.utils.CloseableUtils: void closeQuietly(java.io.Closeable)>(v);
v = v.<oadd.org.apache.curator.framework.recipes.queue.QueueSharder: java.util.concurrent.ConcurrentMap queues>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.util.Collection values()>();
v = interfaceinvoke v.<java.util.Collection: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
goto label;
label:
return;
}
public oadd.org.apache.curator.framework.recipes.queue.QueueBase getQueue()
{
oadd.org.apache.curator.framework.recipes.queue.QueueSharder v;
java.util.Random v, v;
java.util.concurrent.atomic.AtomicReference v;
java.util.ArrayList v, v;
java.util.concurrent.ConcurrentMap v, v, v;
int v, v, v, v, v;
boolean v;
java.util.Set v, v;
oadd.org.apache.curator.framework.recipes.queue.QueueSharder$State v;
java.lang.Object v, v, v, v, v;
v := @this: oadd.org.apache.curator.framework.recipes.queue.QueueSharder;
v = v.<oadd.org.apache.curator.framework.recipes.queue.QueueSharder: java.util.concurrent.atomic.AtomicReference state>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: java.lang.Object get()>();
v = <oadd.org.apache.curator.framework.recipes.queue.QueueSharder$State: oadd.org.apache.curator.framework.recipes.queue.QueueSharder$State STARTED>;
if v != v goto label;
v = 1;
goto label;
label:
v = 0;
label:
staticinvoke <oadd.org.apache.curator.shaded.com.google.common.base.Preconditions: void checkState(boolean,java.lang.Object)>(v, "Not started");
v = v.<oadd.org.apache.curator.framework.recipes.queue.QueueSharder: java.util.Set preferredQueues>;
v = staticinvoke <oadd.org.apache.curator.shaded.com.google.common.collect.Lists: java.util.ArrayList newArrayList(java.lang.Iterable)>(v);
v = interfaceinvoke v.<java.util.List: int size()>();
if v <= 0 goto label;
v = v.<oadd.org.apache.curator.framework.recipes.queue.QueueSharder: java.util.Random random>;
v = interfaceinvoke v.<java.util.List: int size()>();
v = virtualinvoke v.<java.util.Random: int nextInt(int)>(v);
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = v.<oadd.org.apache.curator.framework.recipes.queue.QueueSharder: java.util.concurrent.ConcurrentMap queues>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object get(java.lang.Object)>(v);
return v;
label:
v = v.<oadd.org.apache.curator.framework.recipes.queue.QueueSharder: java.util.concurrent.ConcurrentMap queues>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.util.Set keySet()>();
v = staticinvoke <oadd.org.apache.curator.shaded.com.google.common.collect.Lists: java.util.ArrayList newArrayList(java.lang.Iterable)>(v);
v = v.<oadd.org.apache.curator.framework.recipes.queue.QueueSharder: java.util.Random random>;
v = interfaceinvoke v.<java.util.List: int size()>();
v = virtualinvoke v.<java.util.Random: int nextInt(int)>(v);
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = v.<oadd.org.apache.curator.framework.recipes.queue.QueueSharder: java.util.concurrent.ConcurrentMap queues>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object get(java.lang.Object)>(v);
return v;
}
public int getShardQty()
{
int v;
oadd.org.apache.curator.framework.recipes.queue.QueueSharder v;
java.util.concurrent.ConcurrentMap v;
v := @this: oadd.org.apache.curator.framework.recipes.queue.QueueSharder;
v = v.<oadd.org.apache.curator.framework.recipes.queue.QueueSharder: java.util.concurrent.ConcurrentMap queues>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: int size()>();
return v;
}
public java.util.Collection getQueuePaths()
{
oadd.org.apache.curator.framework.recipes.queue.QueueSharder v;
java.util.Set v;
oadd.org.apache.curator.shaded.com.google.common.collect.ImmutableSet v;
java.util.concurrent.ConcurrentMap v;
v := @this: oadd.org.apache.curator.framework.recipes.queue.QueueSharder;
v = v.<oadd.org.apache.curator.framework.recipes.queue.QueueSharder: java.util.concurrent.ConcurrentMap queues>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.util.Set keySet()>();
v = staticinvoke <oadd.org.apache.curator.shaded.com.google.common.collect.ImmutableSet: oadd.org.apache.curator.shaded.com.google.common.collect.ImmutableSet copyOf(java.util.Collection)>(v);
return v;
}
private void getInitialQueues() throws java.lang.Exception
{
oadd.org.apache.curator.framework.recipes.queue.QueueSharder v;
java.util.Iterator v;
oadd.org.apache.curator.framework.CuratorFramework v;
oadd.org.apache.curator.framework.api.GetChildrenBuilder v;
int v;
java.lang.Object v, v;
java.lang.String v, v, v;
boolean v;
v := @this: oadd.org.apache.curator.framework.recipes.queue.QueueSharder;
v = v.<oadd.org.apache.curator.framework.recipes.queue.QueueSharder: oadd.org.apache.curator.framework.CuratorFramework client>;
v = interfaceinvoke v.<oadd.org.apache.curator.framework.CuratorFramework: oadd.org.apache.curator.framework.api.GetChildrenBuilder getChildren()>();
v = v.<oadd.org.apache.curator.framework.recipes.queue.QueueSharder: java.lang.String queuePath>;
v = interfaceinvoke v.<oadd.org.apache.curator.framework.api.GetChildrenBuilder: java.lang.Object forPath(java.lang.String)>(v);
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = v.<oadd.org.apache.curator.framework.recipes.queue.QueueSharder: java.lang.String queuePath>;
v = staticinvoke <oadd.org.apache.curator.utils.ZKPaths: java.lang.String makePath(java.lang.String,java.lang.String)>(v, v);
specialinvoke v.<oadd.org.apache.curator.framework.recipes.queue.QueueSharder: void addNewQueueIfNeeded(java.lang.String)>(v);
goto label;
label:
v = interfaceinvoke v.<java.util.List: int size()>();
if v != 0 goto label;
specialinvoke v.<oadd.org.apache.curator.framework.recipes.queue.QueueSharder: void addNewQueueIfNeeded(java.lang.String)>(null);
label:
return;
}
private void addNewQueueIfNeeded(java.lang.String) throws java.lang.Exception
{
oadd.org.apache.curator.framework.recipes.queue.QueueSharder v;
oadd.org.apache.curator.framework.recipes.queue.QueueBase v;
oadd.org.apache.curator.framework.recipes.queue.QueueAllocator v;
java.util.Set v;
java.util.UUID v;
oadd.org.apache.curator.framework.CuratorFramework v;
java.util.concurrent.ConcurrentMap v, v;
java.lang.Object v;
java.lang.String v, v, v, v;
boolean v;
v := @this: oadd.org.apache.curator.framework.recipes.queue.QueueSharder;
v := @parameter: java.lang.String;
if v != null goto label;
v = v.<oadd.org.apache.curator.framework.recipes.queue.QueueSharder: java.lang.String queuePath>;
v = staticinvoke <java.util.UUID: java.util.UUID randomUUID()>();
v = virtualinvoke v.<java.util.UUID: java.lang.String toString()>();
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[])>("queue-\u0001");
v = staticinvoke <oadd.org.apache.curator.utils.ZKPaths: java.lang.String makePath(java.lang.String,java.lang.String)>(v, v);
label:
v = v.<oadd.org.apache.curator.framework.recipes.queue.QueueSharder: java.util.concurrent.ConcurrentMap queues>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: boolean containsKey(java.lang.Object)>(v);
if v != 0 goto label;
v = v.<oadd.org.apache.curator.framework.recipes.queue.QueueSharder: oadd.org.apache.curator.framework.recipes.queue.QueueAllocator queueAllocator>;
v = v.<oadd.org.apache.curator.framework.recipes.queue.QueueSharder: oadd.org.apache.curator.framework.CuratorFramework client>;
v = interfaceinvoke v.<oadd.org.apache.curator.framework.recipes.queue.QueueAllocator: oadd.org.apache.curator.framework.recipes.queue.QueueBase allocateQueue(oadd.org.apache.curator.framework.CuratorFramework,java.lang.String)>(v, v);
v = v.<oadd.org.apache.curator.framework.recipes.queue.QueueSharder: java.util.concurrent.ConcurrentMap queues>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object putIfAbsent(java.lang.Object,java.lang.Object)>(v, v);
if v != null goto label;
interfaceinvoke v.<oadd.org.apache.curator.framework.recipes.queue.QueueBase: void start()>();
v = v.<oadd.org.apache.curator.framework.recipes.queue.QueueSharder: java.util.Set preferredQueues>;
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
label:
return;
}
private void checkThreshold()
{
oadd.org.apache.curator.framework.recipes.queue.QueueSharder v;
oadd.org.apache.curator.framework.recipes.queue.QueueSharderPolicies v, v, v, v, v;
java.lang.Integer v, v, v;
boolean v, v, v;
java.util.Set v, v;
oadd.org.apache.curator.framework.CuratorFramework v, v;
java.lang.Exception v;
java.lang.Object[] v, v;
oadd.org.apache.curator.framework.recipes.leader.LeaderLatch v;
oadd.org.apache.curator.framework.api.GetChildrenBuilder v;
java.util.concurrent.ConcurrentMap v;
int v, v, v, v, v, v, v, v, v, v;
java.lang.String v, v, v, v, v;
org.slf4j.Logger v, v, v;
java.util.Iterator v;
oadd.org.apache.curator.framework.api.ExistsBuilder v;
java.lang.Object v, v, v;
v := @this: oadd.org.apache.curator.framework.recipes.queue.QueueSharder;
label:
v = 0;
v = 0;
v = v.<oadd.org.apache.curator.framework.recipes.queue.QueueSharder: oadd.org.apache.curator.framework.CuratorFramework client>;
v = interfaceinvoke v.<oadd.org.apache.curator.framework.CuratorFramework: oadd.org.apache.curator.framework.api.GetChildrenBuilder getChildren()>();
v = v.<oadd.org.apache.curator.framework.recipes.queue.QueueSharder: java.lang.String queuePath>;
v = interfaceinvoke v.<oadd.org.apache.curator.framework.api.GetChildrenBuilder: java.lang.Object forPath(java.lang.String)>(v);
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = v.<oadd.org.apache.curator.framework.recipes.queue.QueueSharder: java.lang.String queuePath>;
v = staticinvoke <oadd.org.apache.curator.utils.ZKPaths: java.lang.String makePath(java.lang.String,java.lang.String)>(v, v);
specialinvoke v.<oadd.org.apache.curator.framework.recipes.queue.QueueSharder: void addNewQueueIfNeeded(java.lang.String)>(v);
v = v.<oadd.org.apache.curator.framework.recipes.queue.QueueSharder: oadd.org.apache.curator.framework.CuratorFramework client>;
v = interfaceinvoke v.<oadd.org.apache.curator.framework.CuratorFramework: oadd.org.apache.curator.framework.api.ExistsBuilder checkExists()>();
v = interfaceinvoke v.<oadd.org.apache.curator.framework.api.ExistsBuilder: java.lang.Object forPath(java.lang.String)>(v);
v = virtualinvoke v.<oadd.org.apache.zookeeper.data.Stat: int getNumChildren()>();
v = v.<oadd.org.apache.curator.framework.recipes.queue.QueueSharder: oadd.org.apache.curator.framework.recipes.queue.QueueSharderPolicies policies>;
v = virtualinvoke v.<oadd.org.apache.curator.framework.recipes.queue.QueueSharderPolicies: int getNewQueueThreshold()>();
if v < v goto label;
v = virtualinvoke v.<oadd.org.apache.zookeeper.data.Stat: int getNumChildren()>();
v = 1;
v = v.<oadd.org.apache.curator.framework.recipes.queue.QueueSharder: java.util.Set preferredQueues>;
interfaceinvoke v.<java.util.Set: boolean remove(java.lang.Object)>(v);
goto label;
label:
v = virtualinvoke v.<oadd.org.apache.zookeeper.data.Stat: int getNumChildren()>();
v = v.<oadd.org.apache.curator.framework.recipes.queue.QueueSharder: oadd.org.apache.curator.framework.recipes.queue.QueueSharderPolicies policies>;
v = virtualinvoke v.<oadd.org.apache.curator.framework.recipes.queue.QueueSharderPolicies: int getNewQueueThreshold()>();
v = v / 2;
if v > v goto label;
v = v.<oadd.org.apache.curator.framework.recipes.queue.QueueSharder: java.util.Set preferredQueues>;
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
goto label;
label:
if v == 0 goto label;
v = v.<oadd.org.apache.curator.framework.recipes.queue.QueueSharder: oadd.org.apache.curator.framework.recipes.leader.LeaderLatch leaderLatch>;
v = virtualinvoke v.<oadd.org.apache.curator.framework.recipes.leader.LeaderLatch: boolean hasLeadership()>();
if v == 0 goto label;
v = v.<oadd.org.apache.curator.framework.recipes.queue.QueueSharder: java.util.concurrent.ConcurrentMap queues>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: int size()>();
v = v.<oadd.org.apache.curator.framework.recipes.queue.QueueSharder: oadd.org.apache.curator.framework.recipes.queue.QueueSharderPolicies policies>;
v = virtualinvoke v.<oadd.org.apache.curator.framework.recipes.queue.QueueSharderPolicies: int getMaxQueues()>();
if v >= v goto label;
v = v.<oadd.org.apache.curator.framework.recipes.queue.QueueSharder: org.slf4j.Logger log>;
v = newarray (java.lang.Object)[2];
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[0] = v;
v = v.<oadd.org.apache.curator.framework.recipes.queue.QueueSharder: oadd.org.apache.curator.framework.recipes.queue.QueueSharderPolicies policies>;
v = virtualinvoke v.<oadd.org.apache.curator.framework.recipes.queue.QueueSharderPolicies: int getNewQueueThreshold()>();
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[1] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("Adding a queue due to exceeded threshold. Queue Size: %d - Threshold: %d", v);
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String)>(v);
specialinvoke v.<oadd.org.apache.curator.framework.recipes.queue.QueueSharder: void addNewQueueIfNeeded(java.lang.String)>(null);
goto label;
label:
v = v.<oadd.org.apache.curator.framework.recipes.queue.QueueSharder: org.slf4j.Logger log>;
v = newarray (java.lang.Object)[1];
v = v.<oadd.org.apache.curator.framework.recipes.queue.QueueSharder: oadd.org.apache.curator.framework.recipes.queue.QueueSharderPolicies policies>;
v = virtualinvoke v.<oadd.org.apache.curator.framework.recipes.queue.QueueSharderPolicies: int getMaxQueues()>();
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[])>("Max number of queues (%d) reached. Consider increasing the max.", v);
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String)>(v);
label:
goto label;
label:
v := @caughtexception;
staticinvoke <oadd.org.apache.curator.utils.ThreadUtils: boolean checkInterrupted(java.lang.Throwable)>(v);
v = v.<oadd.org.apache.curator.framework.recipes.queue.QueueSharder: org.slf4j.Logger log>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Throwable)>("Checking queue counts against threshold", v);
label:
return;
catch java.lang.Exception from label to label with label;
}
}