public class org.apache.zookeeper.cli.SetQuotaCommand extends org.apache.zookeeper.cli.CliCommand
{
private static final org.slf4j.Logger LOG;
private org.apache.commons.cli.Options options;
private java.lang.String[] args;
private org.apache.commons.cli.CommandLine cl;
public void <init>()
{
org.apache.commons.cli.Options v, v;
org.apache.zookeeper.cli.SetQuotaCommand v;
org.apache.commons.cli.OptionGroup v;
org.apache.commons.cli.Option v, v, v, v;
v := @this: org.apache.zookeeper.cli.SetQuotaCommand;
specialinvoke v.<org.apache.zookeeper.cli.CliCommand: void <init>(java.lang.String,java.lang.String)>("setquota", "-n|-b|-N|-B val path");
v = new org.apache.commons.cli.Options;
specialinvoke v.<org.apache.commons.cli.Options: void <init>()>();
v.<org.apache.zookeeper.cli.SetQuotaCommand: org.apache.commons.cli.Options options> = v;
v = new org.apache.commons.cli.OptionGroup;
specialinvoke v.<org.apache.commons.cli.OptionGroup: void <init>()>();
v = new org.apache.commons.cli.Option;
specialinvoke v.<org.apache.commons.cli.Option: void <init>(java.lang.String,boolean,java.lang.String)>("n", 1, "num soft quota");
virtualinvoke v.<org.apache.commons.cli.OptionGroup: org.apache.commons.cli.OptionGroup addOption(org.apache.commons.cli.Option)>(v);
v = new org.apache.commons.cli.Option;
specialinvoke v.<org.apache.commons.cli.Option: void <init>(java.lang.String,boolean,java.lang.String)>("b", 1, "bytes soft quota");
virtualinvoke v.<org.apache.commons.cli.OptionGroup: org.apache.commons.cli.OptionGroup addOption(org.apache.commons.cli.Option)>(v);
v = new org.apache.commons.cli.Option;
specialinvoke v.<org.apache.commons.cli.Option: void <init>(java.lang.String,boolean,java.lang.String)>("N", 1, "num hard quota");
virtualinvoke v.<org.apache.commons.cli.OptionGroup: org.apache.commons.cli.OptionGroup addOption(org.apache.commons.cli.Option)>(v);
v = new org.apache.commons.cli.Option;
specialinvoke v.<org.apache.commons.cli.Option: void <init>(java.lang.String,boolean,java.lang.String)>("B", 1, "bytes hard quota");
virtualinvoke v.<org.apache.commons.cli.OptionGroup: org.apache.commons.cli.OptionGroup addOption(org.apache.commons.cli.Option)>(v);
virtualinvoke v.<org.apache.commons.cli.OptionGroup: void setRequired(boolean)>(1);
v = v.<org.apache.zookeeper.cli.SetQuotaCommand: org.apache.commons.cli.Options options>;
virtualinvoke v.<org.apache.commons.cli.Options: org.apache.commons.cli.Options addOptionGroup(org.apache.commons.cli.OptionGroup)>(v);
return;
}
public org.apache.zookeeper.cli.CliCommand parse(java.lang.String[]) throws org.apache.zookeeper.cli.CliParseException
{
java.lang.Throwable v;
org.apache.commons.cli.Options v;
java.lang.String[] v, v, v;
org.apache.zookeeper.cli.SetQuotaCommand v;
org.apache.commons.cli.DefaultParser v;
int v;
org.apache.commons.cli.CommandLine v, v;
org.apache.zookeeper.cli.CliParseException v, v;
java.lang.String v;
v := @this: org.apache.zookeeper.cli.SetQuotaCommand;
v := @parameter: java.lang.String[];
v = new org.apache.commons.cli.DefaultParser;
specialinvoke v.<org.apache.commons.cli.DefaultParser: void <init>()>();
label:
v = v.<org.apache.zookeeper.cli.SetQuotaCommand: org.apache.commons.cli.Options options>;
v = virtualinvoke v.<org.apache.commons.cli.DefaultParser: org.apache.commons.cli.CommandLine parse(org.apache.commons.cli.Options,java.lang.String[])>(v, v);
v.<org.apache.zookeeper.cli.SetQuotaCommand: org.apache.commons.cli.CommandLine cl> = v;
label:
goto label;
label:
v := @caughtexception;
v = new org.apache.zookeeper.cli.CliParseException;
specialinvoke v.<org.apache.zookeeper.cli.CliParseException: void <init>(org.apache.commons.cli.ParseException)>(v);
throw v;
label:
v = v.<org.apache.zookeeper.cli.SetQuotaCommand: org.apache.commons.cli.CommandLine cl>;
v = virtualinvoke v.<org.apache.commons.cli.CommandLine: java.lang.String[] getArgs()>();
v.<org.apache.zookeeper.cli.SetQuotaCommand: java.lang.String[] args> = v;
v = v.<org.apache.zookeeper.cli.SetQuotaCommand: java.lang.String[] args>;
v = lengthof v;
if v >= 2 goto label;
v = new org.apache.zookeeper.cli.CliParseException;
v = virtualinvoke v.<org.apache.zookeeper.cli.SetQuotaCommand: java.lang.String getUsageStr()>();
specialinvoke v.<org.apache.zookeeper.cli.CliParseException: void <init>(java.lang.String)>(v);
throw v;
label:
return v;
catch org.apache.commons.cli.ParseException from label to label with label;
}
public boolean exec() throws org.apache.zookeeper.cli.CliException
{
java.lang.String[] v;
org.apache.zookeeper.cli.CliWrapperException v;
org.apache.commons.cli.CommandLine v, v, v, v;
java.lang.String v, v, v;
boolean v, v, v, v, v, v, v;
java.io.PrintStream v, v;
org.apache.zookeeper.ZooKeeper v;
org.apache.zookeeper.cli.MalformedPathException v;
java.lang.IllegalArgumentException v;
org.apache.zookeeper.cli.SetQuotaCommand v;
java.lang.Exception v;
org.apache.zookeeper.StatsTrack v;
v := @this: org.apache.zookeeper.cli.SetQuotaCommand;
v = v.<org.apache.zookeeper.cli.SetQuotaCommand: java.lang.String[] args>;
v = v[1];
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("/zookeeper/quota");
if v == 0 goto label;
v = v.<org.apache.zookeeper.cli.SetQuotaCommand: java.io.PrintStream err>;
virtualinvoke v.<java.io.PrintStream: void println(java.lang.String)>("cannot set a quota under the path: /zookeeper/quota");
return 0;
label:
v = new org.apache.zookeeper.StatsTrack;
specialinvoke v.<org.apache.zookeeper.StatsTrack: void <init>()>();
virtualinvoke v.<org.apache.zookeeper.StatsTrack: void setCount(long)>(-1L);
virtualinvoke v.<org.apache.zookeeper.StatsTrack: void setBytes(long)>(-1L);
virtualinvoke v.<org.apache.zookeeper.StatsTrack: void setCountHardLimit(long)>(-1L);
virtualinvoke v.<org.apache.zookeeper.StatsTrack: void setByteHardLimit(long)>(-1L);
v = specialinvoke v.<org.apache.zookeeper.cli.SetQuotaCommand: boolean checkOptionValue(org.apache.zookeeper.StatsTrack)>(v);
if v != 0 goto label;
return 0;
label:
v = v.<org.apache.zookeeper.cli.SetQuotaCommand: org.apache.commons.cli.CommandLine cl>;
v = virtualinvoke v.<org.apache.commons.cli.CommandLine: boolean hasOption(java.lang.String)>("n");
if v != 0 goto label;
v = v.<org.apache.zookeeper.cli.SetQuotaCommand: org.apache.commons.cli.CommandLine cl>;
v = virtualinvoke v.<org.apache.commons.cli.CommandLine: boolean hasOption(java.lang.String)>("N");
if v != 0 goto label;
v = v.<org.apache.zookeeper.cli.SetQuotaCommand: org.apache.commons.cli.CommandLine cl>;
v = virtualinvoke v.<org.apache.commons.cli.CommandLine: boolean hasOption(java.lang.String)>("b");
if v != 0 goto label;
v = v.<org.apache.zookeeper.cli.SetQuotaCommand: org.apache.commons.cli.CommandLine cl>;
v = virtualinvoke v.<org.apache.commons.cli.CommandLine: boolean hasOption(java.lang.String)>("B");
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
if v == 0 goto label;
label:
v = v.<org.apache.zookeeper.cli.SetQuotaCommand: org.apache.zookeeper.ZooKeeper zk>;
staticinvoke <org.apache.zookeeper.cli.SetQuotaCommand: boolean createQuota(org.apache.zookeeper.ZooKeeper,java.lang.String,org.apache.zookeeper.StatsTrack)>(v, v, v);
label:
goto label;
label:
v := @caughtexception;
v = new org.apache.zookeeper.cli.MalformedPathException;
v = virtualinvoke v.<java.lang.IllegalArgumentException: java.lang.String getMessage()>();
specialinvoke v.<org.apache.zookeeper.cli.MalformedPathException: void <init>(java.lang.String)>(v);
throw v;
label:
v := @caughtexception;
v = new org.apache.zookeeper.cli.CliWrapperException;
specialinvoke v.<org.apache.zookeeper.cli.CliWrapperException: void <init>(java.lang.Throwable)>(v);
throw v;
label:
v = v.<org.apache.zookeeper.cli.SetQuotaCommand: java.io.PrintStream err>;
v = virtualinvoke v.<org.apache.zookeeper.cli.SetQuotaCommand: java.lang.String getUsageStr()>();
virtualinvoke v.<java.io.PrintStream: void println(java.lang.String)>(v);
label:
return 0;
catch java.lang.IllegalArgumentException from label to label with label;
catch org.apache.zookeeper.KeeperException from label to label with label;
catch java.lang.InterruptedException from label to label with label;
}
private boolean checkOptionValue(org.apache.zookeeper.StatsTrack)
{
long v, v;
byte v, v;
int v, v;
org.apache.commons.cli.CommandLine v, v, v, v, v, v, v, v;
java.lang.String v, v, v, v;
boolean v, v, v, v;
java.io.PrintStream v, v, v, v, v;
java.lang.NumberFormatException v;
org.apache.zookeeper.cli.SetQuotaCommand v;
org.apache.zookeeper.StatsTrack v;
v := @this: org.apache.zookeeper.cli.SetQuotaCommand;
v := @parameter: org.apache.zookeeper.StatsTrack;
label:
v = v.<org.apache.zookeeper.cli.SetQuotaCommand: org.apache.commons.cli.CommandLine cl>;
v = virtualinvoke v.<org.apache.commons.cli.CommandLine: boolean hasOption(java.lang.String)>("n");
if v == 0 goto label;
v = v.<org.apache.zookeeper.cli.SetQuotaCommand: org.apache.commons.cli.CommandLine cl>;
v = virtualinvoke v.<org.apache.commons.cli.CommandLine: java.lang.String getOptionValue(java.lang.String)>("n");
v = staticinvoke <java.lang.Integer: int parseInt(java.lang.String)>(v);
if v <= 0 goto label;
virtualinvoke v.<org.apache.zookeeper.StatsTrack: void setCount(long)>(v);
goto label;
label:
v = v.<org.apache.zookeeper.cli.SetQuotaCommand: java.io.PrintStream err>;
virtualinvoke v.<java.io.PrintStream: void println(java.lang.String)>("the num quota must be greater than zero");
label:
return 0;
label:
v = v.<org.apache.zookeeper.cli.SetQuotaCommand: org.apache.commons.cli.CommandLine cl>;
v = virtualinvoke v.<org.apache.commons.cli.CommandLine: boolean hasOption(java.lang.String)>("b");
if v == 0 goto label;
v = v.<org.apache.zookeeper.cli.SetQuotaCommand: org.apache.commons.cli.CommandLine cl>;
v = virtualinvoke v.<org.apache.commons.cli.CommandLine: java.lang.String getOptionValue(java.lang.String)>("b");
v = staticinvoke <java.lang.Long: long parseLong(java.lang.String)>(v);
v = v cmp 0L;
if v < 0 goto label;
virtualinvoke v.<org.apache.zookeeper.StatsTrack: void setBytes(long)>(v);
goto label;
label:
v = v.<org.apache.zookeeper.cli.SetQuotaCommand: java.io.PrintStream err>;
virtualinvoke v.<java.io.PrintStream: void println(java.lang.String)>("the bytes quota must be greater than or equal to zero");
label:
return 0;
label:
v = v.<org.apache.zookeeper.cli.SetQuotaCommand: org.apache.commons.cli.CommandLine cl>;
v = virtualinvoke v.<org.apache.commons.cli.CommandLine: boolean hasOption(java.lang.String)>("N");
if v == 0 goto label;
v = v.<org.apache.zookeeper.cli.SetQuotaCommand: org.apache.commons.cli.CommandLine cl>;
v = virtualinvoke v.<org.apache.commons.cli.CommandLine: java.lang.String getOptionValue(java.lang.String)>("N");
v = staticinvoke <java.lang.Integer: int parseInt(java.lang.String)>(v);
if v <= 0 goto label;
virtualinvoke v.<org.apache.zookeeper.StatsTrack: void setCountHardLimit(long)>(v);
goto label;
label:
v = v.<org.apache.zookeeper.cli.SetQuotaCommand: java.io.PrintStream err>;
virtualinvoke v.<java.io.PrintStream: void println(java.lang.String)>("the num quota must be greater than zero");
label:
return 0;
label:
v = v.<org.apache.zookeeper.cli.SetQuotaCommand: org.apache.commons.cli.CommandLine cl>;
v = virtualinvoke v.<org.apache.commons.cli.CommandLine: boolean hasOption(java.lang.String)>("B");
if v == 0 goto label;
v = v.<org.apache.zookeeper.cli.SetQuotaCommand: org.apache.commons.cli.CommandLine cl>;
v = virtualinvoke v.<org.apache.commons.cli.CommandLine: java.lang.String getOptionValue(java.lang.String)>("B");
v = staticinvoke <java.lang.Long: long parseLong(java.lang.String)>(v);
v = v cmp 0L;
if v < 0 goto label;
virtualinvoke v.<org.apache.zookeeper.StatsTrack: void setByteHardLimit(long)>(v);
goto label;
label:
v = v.<org.apache.zookeeper.cli.SetQuotaCommand: java.io.PrintStream err>;
virtualinvoke v.<java.io.PrintStream: void println(java.lang.String)>("the bytes quota must be greater than or equal to zero");
label:
return 0;
label:
v := @caughtexception;
v = v.<org.apache.zookeeper.cli.SetQuotaCommand: java.io.PrintStream err>;
virtualinvoke v.<java.io.PrintStream: void println(java.lang.String)>("NumberFormatException happens when parsing the option value");
return 0;
label:
return 1;
catch java.lang.NumberFormatException from label to label with label;
catch java.lang.NumberFormatException from label to label with label;
catch java.lang.NumberFormatException from label to label with label;
catch java.lang.NumberFormatException from label to label with label;
}
public static boolean createQuota(org.apache.zookeeper.ZooKeeper, java.lang.String, org.apache.zookeeper.StatsTrack) throws org.apache.zookeeper.KeeperException, java.lang.InterruptedException, org.apache.zookeeper.cli.MalformedPathException
{
org.apache.zookeeper.CreateMode v, v, v, v, v;
byte[] v, v, v, v, v, v, v;
org.apache.zookeeper.data.Stat v, v, v, v, v, v, v, v;
byte v, v, v, v;
org.apache.zookeeper.ZooKeeper v;
org.apache.zookeeper.cli.MalformedPathException v;
java.lang.StringBuilder v, v;
java.lang.String[] v;
long v, v, v, v, v, v, v, v;
java.util.ArrayList v, v, v, v, v;
int v, v, v;
java.lang.String v, v, v, v, v, v, v;
java.lang.IllegalArgumentException v, v;
org.apache.zookeeper.KeeperException$NodeExistsException v, v;
org.apache.zookeeper.StatsTrack v, v, v, v, v, v;
v := @parameter: org.apache.zookeeper.ZooKeeper;
v := @parameter: java.lang.String;
v := @parameter: org.apache.zookeeper.StatsTrack;
label:
v = virtualinvoke v.<org.apache.zookeeper.ZooKeeper: org.apache.zookeeper.data.Stat exists(java.lang.String,boolean)>(v, 0);
label:
goto label;
label:
v := @caughtexception;
v = new org.apache.zookeeper.cli.MalformedPathException;
v = virtualinvoke v.<java.lang.IllegalArgumentException: java.lang.String getMessage()>();
specialinvoke v.<org.apache.zookeeper.cli.MalformedPathException: void <init>(java.lang.String)>(v);
throw v;
label:
if v != null goto label;
v = new java.lang.IllegalArgumentException;
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[])>("\u does not exist.");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
v = "/zookeeper/quota";
staticinvoke <org.apache.zookeeper.cli.SetQuotaCommand: void checkIfChildQuota(org.apache.zookeeper.ZooKeeper,java.lang.String)>(v, v);
staticinvoke <org.apache.zookeeper.cli.SetQuotaCommand: void checkIfParentQuota(org.apache.zookeeper.ZooKeeper,java.lang.String)>(v, v);
v = virtualinvoke v.<org.apache.zookeeper.ZooKeeper: org.apache.zookeeper.data.Stat exists(java.lang.String,boolean)>("/zookeeper/quota", 0);
if v != null goto label;
label:
v = <org.apache.zookeeper.ZooDefs$Ids: java.util.ArrayList OPEN_ACL_UNSAFE>;
v = <org.apache.zookeeper.CreateMode: org.apache.zookeeper.CreateMode PERSISTENT>;
virtualinvoke v.<org.apache.zookeeper.ZooKeeper: java.lang.String create(java.lang.String,byte[],java.util.List,org.apache.zookeeper.CreateMode)>("/zookeeper", null, v, v);
v = <org.apache.zookeeper.ZooDefs$Ids: java.util.ArrayList OPEN_ACL_UNSAFE>;
v = <org.apache.zookeeper.CreateMode: org.apache.zookeeper.CreateMode PERSISTENT>;
virtualinvoke v.<org.apache.zookeeper.ZooKeeper: java.lang.String create(java.lang.String,byte[],java.util.List,org.apache.zookeeper.CreateMode)>("/zookeeper/quota", null, v, v);
label:
goto label;
label:
v := @caughtexception;
label:
v = virtualinvoke v.<java.lang.String: java.lang.String[] split(java.lang.String)>("/");
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>()>();
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("/zookeeper/quota");
v = 1;
label:
v = lengthof v;
if v >= v goto label;
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("/");
v = v[v];
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
v = virtualinvoke v.<org.apache.zookeeper.ZooKeeper: org.apache.zookeeper.data.Stat exists(java.lang.String,boolean)>(v, 0);
if v != null goto label;
label:
v = <org.apache.zookeeper.ZooDefs$Ids: java.util.ArrayList OPEN_ACL_UNSAFE>;
v = <org.apache.zookeeper.CreateMode: org.apache.zookeeper.CreateMode PERSISTENT>;
virtualinvoke v.<org.apache.zookeeper.ZooKeeper: java.lang.String create(java.lang.String,byte[],java.util.List,org.apache.zookeeper.CreateMode)>(v, null, v, v);
label:
goto label;
label:
v := @caughtexception;
label:
v = v + 1;
goto label;
label:
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[])>("\u0001/zookeeper_stats");
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[])>("\u0001/zookeeper_limits");
v = virtualinvoke v.<org.apache.zookeeper.ZooKeeper: org.apache.zookeeper.data.Stat exists(java.lang.String,boolean)>(v, 0);
if v != null goto label;
v = virtualinvoke v.<org.apache.zookeeper.StatsTrack: byte[] getStatsBytes()>();
v = <org.apache.zookeeper.ZooDefs$Ids: java.util.ArrayList OPEN_ACL_UNSAFE>;
v = <org.apache.zookeeper.CreateMode: org.apache.zookeeper.CreateMode PERSISTENT>;
virtualinvoke v.<org.apache.zookeeper.ZooKeeper: java.lang.String create(java.lang.String,byte[],java.util.List,org.apache.zookeeper.CreateMode)>(v, v, v, v);
v = new org.apache.zookeeper.StatsTrack;
specialinvoke v.<org.apache.zookeeper.StatsTrack: void <init>()>();
virtualinvoke v.<org.apache.zookeeper.StatsTrack: void setCount(long)>(0L);
virtualinvoke v.<org.apache.zookeeper.StatsTrack: void setBytes(long)>(0L);
v = virtualinvoke v.<org.apache.zookeeper.StatsTrack: byte[] getStatsBytes()>();
v = <org.apache.zookeeper.ZooDefs$Ids: java.util.ArrayList OPEN_ACL_UNSAFE>;
v = <org.apache.zookeeper.CreateMode: org.apache.zookeeper.CreateMode PERSISTENT>;
virtualinvoke v.<org.apache.zookeeper.ZooKeeper: java.lang.String create(java.lang.String,byte[],java.util.List,org.apache.zookeeper.CreateMode)>(v, v, v, v);
v = new org.apache.zookeeper.data.Stat;
specialinvoke v.<org.apache.zookeeper.data.Stat: void <init>()>();
v = virtualinvoke v.<org.apache.zookeeper.ZooKeeper: byte[] getData(java.lang.String,boolean,org.apache.zookeeper.data.Stat)>(v, 0, v);
v = new org.apache.zookeeper.StatsTrack;
specialinvoke v.<org.apache.zookeeper.StatsTrack: void <init>(byte[])>(v);
v = new org.apache.zookeeper.data.Stat;
specialinvoke v.<org.apache.zookeeper.data.Stat: void <init>()>();
v = virtualinvoke v.<org.apache.zookeeper.ZooKeeper: byte[] getData(java.lang.String,boolean,org.apache.zookeeper.data.Stat)>(v, 0, v);
v = new org.apache.zookeeper.StatsTrack;
specialinvoke v.<org.apache.zookeeper.StatsTrack: void <init>(byte[])>(v);
staticinvoke <org.apache.zookeeper.cli.SetQuotaCommand: void checkQuota(org.apache.zookeeper.StatsTrack,org.apache.zookeeper.StatsTrack)>(v, v);
goto label;
label:
v = new org.apache.zookeeper.data.Stat;
specialinvoke v.<org.apache.zookeeper.data.Stat: void <init>()>();
v = virtualinvoke v.<org.apache.zookeeper.ZooKeeper: byte[] getData(java.lang.String,boolean,org.apache.zookeeper.data.Stat)>(v, 0, v);
v = new org.apache.zookeeper.StatsTrack;
specialinvoke v.<org.apache.zookeeper.StatsTrack: void <init>(byte[])>(v);
v = virtualinvoke v.<org.apache.zookeeper.StatsTrack: long getCount()>();
v = v cmp -1L;
if v <= 0 goto label;
v = virtualinvoke v.<org.apache.zookeeper.StatsTrack: long getCount()>();
virtualinvoke v.<org.apache.zookeeper.StatsTrack: void setCount(long)>(v);
label:
v = virtualinvoke v.<org.apache.zookeeper.StatsTrack: long getBytes()>();
v = v cmp -1L;
if v <= 0 goto label;
v = virtualinvoke v.<org.apache.zookeeper.StatsTrack: long getBytes()>();
virtualinvoke v.<org.apache.zookeeper.StatsTrack: void setBytes(long)>(v);
label:
v = virtualinvoke v.<org.apache.zookeeper.StatsTrack: long getCountHardLimit()>();
v = v cmp -1L;
if v <= 0 goto label;
v = virtualinvoke v.<org.apache.zookeeper.StatsTrack: long getCountHardLimit()>();
virtualinvoke v.<org.apache.zookeeper.StatsTrack: void setCountHardLimit(long)>(v);
label:
v = virtualinvoke v.<org.apache.zookeeper.StatsTrack: long getByteHardLimit()>();
v = v cmp -1L;
if v <= 0 goto label;
v = virtualinvoke v.<org.apache.zookeeper.StatsTrack: long getByteHardLimit()>();
virtualinvoke v.<org.apache.zookeeper.StatsTrack: void setByteHardLimit(long)>(v);
label:
v = new org.apache.zookeeper.data.Stat;
specialinvoke v.<org.apache.zookeeper.data.Stat: void <init>()>();
v = virtualinvoke v.<org.apache.zookeeper.ZooKeeper: byte[] getData(java.lang.String,boolean,org.apache.zookeeper.data.Stat)>(v, 0, v);
v = new org.apache.zookeeper.StatsTrack;
specialinvoke v.<org.apache.zookeeper.StatsTrack: void <init>(byte[])>(v);
staticinvoke <org.apache.zookeeper.cli.SetQuotaCommand: void checkQuota(org.apache.zookeeper.StatsTrack,org.apache.zookeeper.StatsTrack)>(v, v);
v = virtualinvoke v.<org.apache.zookeeper.StatsTrack: byte[] getStatsBytes()>();
v = (int) -1;
virtualinvoke v.<org.apache.zookeeper.ZooKeeper: org.apache.zookeeper.data.Stat setData(java.lang.String,byte[],int)>(v, v, v);
label:
return 1;
catch java.lang.IllegalArgumentException from label to label with label;
catch org.apache.zookeeper.KeeperException$NodeExistsException from label to label with label;
catch org.apache.zookeeper.KeeperException$NodeExistsException from label to label with label;
}
private static void checkQuota(org.apache.zookeeper.StatsTrack, org.apache.zookeeper.StatsTrack)
{
long v, v, v, v, v, v, v, v, v, v, v, v, v, v;
byte v, v, v, v, v, v, v, v;
java.lang.String v, v;
java.io.PrintStream v, v;
org.apache.zookeeper.StatsTrack v, v;
v := @parameter: org.apache.zookeeper.StatsTrack;
v := @parameter: org.apache.zookeeper.StatsTrack;
v = virtualinvoke v.<org.apache.zookeeper.StatsTrack: long getCount()>();
v = v cmp -1L;
if v <= 0 goto label;
v = virtualinvoke v.<org.apache.zookeeper.StatsTrack: long getCount()>();
v = virtualinvoke v.<org.apache.zookeeper.StatsTrack: long getCount()>();
v = v cmp v;
if v < 0 goto label;
label:
v = virtualinvoke v.<org.apache.zookeeper.StatsTrack: long getCountHardLimit()>();
v = v cmp -1L;
if v <= 0 goto label;
v = virtualinvoke v.<org.apache.zookeeper.StatsTrack: long getCountHardLimit()>();
v = virtualinvoke v.<org.apache.zookeeper.StatsTrack: long getCount()>();
v = v cmp v;
if v >= 0 goto label;
label:
v = <java.lang.System: java.io.PrintStream out>;
v = virtualinvoke v.<org.apache.zookeeper.StatsTrack: long getCount()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (long)>(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[])>("[Warning]: the count quota you create is less than the existing count:\u0001");
virtualinvoke v.<java.io.PrintStream: void println(java.lang.String)>(v);
label:
v = virtualinvoke v.<org.apache.zookeeper.StatsTrack: long getBytes()>();
v = v cmp -1L;
if v <= 0 goto label;
v = virtualinvoke v.<org.apache.zookeeper.StatsTrack: long getBytes()>();
v = virtualinvoke v.<org.apache.zookeeper.StatsTrack: long getBytes()>();
v = v cmp v;
if v < 0 goto label;
label:
v = virtualinvoke v.<org.apache.zookeeper.StatsTrack: long getByteHardLimit()>();
v = v cmp -1L;
if v <= 0 goto label;
v = virtualinvoke v.<org.apache.zookeeper.StatsTrack: long getByteHardLimit()>();
v = virtualinvoke v.<org.apache.zookeeper.StatsTrack: long getBytes()>();
v = v cmp v;
if v >= 0 goto label;
label:
v = <java.lang.System: java.io.PrintStream out>;
v = virtualinvoke v.<org.apache.zookeeper.StatsTrack: long getBytes()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (long)>(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[])>("[Warning]: the bytes quota you create is less than the existing bytes:\u0001");
virtualinvoke v.<java.io.PrintStream: void println(java.lang.String)>(v);
label:
return;
}
private static void checkIfChildQuota(org.apache.zookeeper.ZooKeeper, java.lang.String) throws org.apache.zookeeper.KeeperException, java.lang.InterruptedException
{
org.apache.zookeeper.ZooKeeper v;
java.lang.String v, v;
org.apache.zookeeper.AsyncCallback$StringCallback v;
org.apache.zookeeper.KeeperException$NoNodeException v;
v := @parameter: org.apache.zookeeper.ZooKeeper;
v := @parameter: java.lang.String;
v = staticinvoke <org.apache.zookeeper.Quotas: java.lang.String quotaPath(java.lang.String)>(v);
label:
v = staticinvoke <org.apache.zookeeper.cli.SetQuotaCommand$lambda_checkIfChildQuota_0__37: org.apache.zookeeper.AsyncCallback$StringCallback bootstrap$(org.apache.zookeeper.ZooKeeper,java.lang.String)>(v, v);
staticinvoke <org.apache.zookeeper.ZKUtil: void visitSubTreeDFS(org.apache.zookeeper.ZooKeeper,java.lang.String,boolean,org.apache.zookeeper.AsyncCallback$StringCallback)>(v, v, 0, v);
label:
goto label;
label:
v := @caughtexception;
label:
return;
catch org.apache.zookeeper.KeeperException$NoNodeException from label to label with label;
}
private static void checkIfParentQuota(org.apache.zookeeper.ZooKeeper, java.lang.String) throws java.lang.InterruptedException, org.apache.zookeeper.KeeperException
{
java.lang.String[] v;
org.apache.zookeeper.KeeperException$NoNodeException v;
int v, v, v, v;
java.lang.String v, v, v, v, v, v, v;
boolean v, v, v;
org.apache.zookeeper.ZooKeeper v;
org.slf4j.Logger v;
java.util.Iterator v;
java.lang.IllegalArgumentException v;
java.util.List v;
java.lang.Object v;
java.lang.StringBuilder v;
v := @parameter: org.apache.zookeeper.ZooKeeper;
v := @parameter: java.lang.String;
v = virtualinvoke v.<java.lang.String: java.lang.String[] split(java.lang.String)>("/");
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>()>();
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("/zookeeper/quota");
v = 1;
label:
v = lengthof v;
v = v - 1;
if v >= v goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("/");
v = v[v];
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
label:
v = virtualinvoke v.<org.apache.zookeeper.ZooKeeper: java.util.List getChildren(java.lang.String,boolean)>(v, 0);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.zookeeper.cli.SetQuotaCommand: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Throwable)>("child removed during quota check", v);
return;
label:
v = interfaceinvoke v.<java.util.List: int size()>();
if v != 0 goto label;
return;
label:
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 = staticinvoke <org.apache.zookeeper.Quotas: java.lang.String quotaPath(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
v = "zookeeper_limits";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = new java.lang.IllegalArgumentException;
v = staticinvoke <org.apache.zookeeper.Quotas: java.lang.String trimQuotaPath(java.lang.String)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(v, 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[])>("\u has a parent \u which has a quota");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v + 1;
goto label;
label:
return;
catch org.apache.zookeeper.KeeperException$NoNodeException 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 "Lorg/apache/zookeeper/cli/SetQuotaCommand;");
<org.apache.zookeeper.cli.SetQuotaCommand: org.slf4j.Logger LOG> = v;
return;
}
}