public class org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager extends java.lang.Object
{
private org.slf4j.Logger log;
private final long refreshBackoffMs;
private final long metadataExpireMs;
private final org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager$AdminMetadataUpdater updater;
private org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager$State state;
private long lastMetadataUpdateMs;
private long lastMetadataFetchAttemptMs;
private org.apache.kafkaesqueesqueesque.common.Cluster cluster;
private org.apache.kafkaesqueesqueesque.common.errors.AuthenticationException authException;
public void <init>(org.apache.kafkaesqueesqueesque.common.utils.LogContext, long, long)
{
org.slf4j.Logger v;
long v, v;
org.apache.kafkaesqueesqueesque.common.utils.LogContext v;
org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager$AdminMetadataUpdater v;
org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager$State v;
org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager v;
org.apache.kafkaesqueesqueesque.common.Cluster v;
v := @this: org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager;
v := @parameter: org.apache.kafkaesqueesqueesque.common.utils.LogContext;
v := @parameter: long;
v := @parameter: long;
specialinvoke v.<java.lang.Object: void <init>()>();
v = <org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager$State: org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager$State QUIESCENT>;
v.<org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager: org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager$State state> = v;
v.<org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager: long lastMetadataUpdateMs> = 0L;
v.<org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager: long lastMetadataFetchAttemptMs> = 0L;
v = staticinvoke <org.apache.kafkaesqueesqueesque.common.Cluster: org.apache.kafkaesqueesqueesque.common.Cluster empty()>();
v.<org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager: org.apache.kafkaesqueesqueesque.common.Cluster cluster> = v;
v.<org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager: org.apache.kafkaesqueesqueesque.common.errors.AuthenticationException authException> = null;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.utils.LogContext: org.slf4j.Logger logger(java.lang.Class)>(class "Lorg/apache/kafkaesqueesqueesque/clients/admin/internals/AdminMetadataManager;");
v.<org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager: org.slf4j.Logger log> = v;
v.<org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager: long refreshBackoffMs> = v;
v.<org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager: long metadataExpireMs> = v;
v = new org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager$AdminMetadataUpdater;
specialinvoke v.<org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager$AdminMetadataUpdater: void <init>(org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager)>(v);
v.<org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager: org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager$AdminMetadataUpdater updater> = v;
return;
}
public org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager$AdminMetadataUpdater updater()
{
org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager$AdminMetadataUpdater v;
org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager v;
v := @this: org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager;
v = v.<org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager: org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager$AdminMetadataUpdater updater>;
return v;
}
public boolean isReady()
{
org.slf4j.Logger v, v, v, v;
java.util.List v;
org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager v;
org.apache.kafkaesqueesqueesque.common.errors.AuthenticationException v, v, v;
boolean v, v;
org.apache.kafkaesqueesqueesque.common.Cluster v, v;
v := @this: org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager;
v = v.<org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager: org.apache.kafkaesqueesqueesque.common.errors.AuthenticationException authException>;
if v == null goto label;
v = v.<org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager: org.slf4j.Logger log>;
v = v.<org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager: org.apache.kafkaesqueesqueesque.common.errors.AuthenticationException authException>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Throwable)>("Metadata is not usable: failed to get metadata.", v);
v = v.<org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager: org.apache.kafkaesqueesqueesque.common.errors.AuthenticationException authException>;
throw v;
label:
v = v.<org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager: org.apache.kafkaesqueesqueesque.common.Cluster cluster>;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.Cluster: java.util.List nodes()>();
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
if v == 0 goto label;
v = v.<org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager: org.slf4j.Logger log>;
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String)>("Metadata is not ready: bootstrap nodes have not been initialized yet.");
return 0;
label:
v = v.<org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager: org.apache.kafkaesqueesqueesque.common.Cluster cluster>;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.Cluster: boolean isBootstrapConfigured()>();
if v == 0 goto label;
v = v.<org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager: org.slf4j.Logger log>;
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String)>("Metadata is not ready: we have not fetched metadata from the bootstrap nodes yet.");
return 0;
label:
v = v.<org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager: org.slf4j.Logger log>;
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String)>("Metadata is ready to use.");
return 1;
}
public org.apache.kafkaesqueesqueesque.common.Node controller()
{
org.apache.kafkaesqueesqueesque.common.Node v;
org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager v;
org.apache.kafkaesqueesqueesque.common.Cluster v;
v := @this: org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager;
v = v.<org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager: org.apache.kafkaesqueesqueesque.common.Cluster cluster>;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.Cluster: org.apache.kafkaesqueesqueesque.common.Node controller()>();
return v;
}
public org.apache.kafkaesqueesqueesque.common.Node nodeById(int)
{
org.apache.kafkaesqueesqueesque.common.Node v;
org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager v;
int v;
org.apache.kafkaesqueesqueesque.common.Cluster v;
v := @this: org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager;
v := @parameter: int;
v = v.<org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager: org.apache.kafkaesqueesqueesque.common.Cluster cluster>;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.Cluster: org.apache.kafkaesqueesqueesque.common.Node nodeById(int)>(v);
return v;
}
public void requestUpdate()
{
org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager$State v, v, v;
org.slf4j.Logger v;
org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager v;
v := @this: org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager;
v = v.<org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager: org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager$State state>;
v = <org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager$State: org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager$State QUIESCENT>;
if v != v goto label;
v = <org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager$State: org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager$State UPDATE_REQUESTED>;
v.<org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager: org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager$State state> = v;
v = v.<org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager: org.slf4j.Logger log>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String)>("Requesting metadata update.");
label:
return;
}
public void clearController()
{
org.apache.kafkaesqueesqueesque.common.Node v, v;
org.slf4j.Logger v;
java.util.Set v, v, v;
java.util.List v;
org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager v;
org.apache.kafkaesqueesqueesque.common.ClusterResource v;
java.lang.String v;
org.apache.kafkaesqueesqueesque.common.Cluster v, v, v, v, v;
v := @this: org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager;
v = v.<org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager: org.apache.kafkaesqueesqueesque.common.Cluster cluster>;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.Cluster: org.apache.kafkaesqueesqueesque.common.Node controller()>();
if v == null goto label;
v = v.<org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager: org.slf4j.Logger log>;
v = v.<org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager: org.apache.kafkaesqueesqueesque.common.Cluster cluster>;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.Cluster: org.apache.kafkaesqueesqueesque.common.Node controller()>();
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String,java.lang.Object)>("Clearing cached controller node {}.", v);
v = new org.apache.kafkaesqueesqueesque.common.Cluster;
v = v.<org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager: org.apache.kafkaesqueesqueesque.common.Cluster cluster>;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.Cluster: org.apache.kafkaesqueesqueesque.common.ClusterResource clusterResource()>();
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.ClusterResource: java.lang.String clusterId()>();
v = v.<org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager: org.apache.kafkaesqueesqueesque.common.Cluster cluster>;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.Cluster: java.util.List nodes()>();
v = staticinvoke <java.util.Collections: java.util.Set emptySet()>();
v = staticinvoke <java.util.Collections: java.util.Set emptySet()>();
v = staticinvoke <java.util.Collections: java.util.Set emptySet()>();
specialinvoke v.<org.apache.kafkaesqueesqueesque.common.Cluster: void <init>(java.lang.String,java.util.Collection,java.util.Collection,java.util.Set,java.util.Set,org.apache.kafkaesqueesqueesque.common.Node)>(v, v, v, v, v, null);
v.<org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager: org.apache.kafkaesqueesqueesque.common.Cluster cluster> = v;
label:
return;
}
public long metadataFetchDelayMs(long)
{
long v, v, v, v, v;
org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager$State v;
int[] v;
org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager v;
int v, v;
v := @this: org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager;
v := @parameter: long;
v = <org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager$1: int[] $SwitchMap$org$apache$kafka$clients$admin$internals$AdminMetadataManager$State>;
v = v.<org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager: org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager$State state>;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager$State: int ordinal()>();
v = v[v];
lookupswitch(v)
{
case 1: goto label;
case 2: goto label;
default: goto label;
};
label:
v = specialinvoke v.<org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager: long delayBeforeNextAttemptMs(long)>(v);
v = specialinvoke v.<org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager: long delayBeforeNextExpireMs(long)>(v);
v = staticinvoke <java.lang.Math: long max(long,long)>(v, v);
return v;
label:
v = specialinvoke v.<org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager: long delayBeforeNextAttemptMs(long)>(v);
return v;
label:
return 9223372036854775807L;
}
private long delayBeforeNextExpireMs(long)
{
org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager v;
long v, v, v, v, v, v;
v := @this: org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager;
v := @parameter: long;
v = v.<org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager: long lastMetadataUpdateMs>;
v = v - v;
v = v.<org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager: long metadataExpireMs>;
v = v - v;
v = staticinvoke <java.lang.Math: long max(long,long)>(0L, v);
return v;
}
private long delayBeforeNextAttemptMs(long)
{
org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager v;
long v, v, v, v, v, v;
v := @this: org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager;
v := @parameter: long;
v = v.<org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager: long lastMetadataFetchAttemptMs>;
v = v - v;
v = v.<org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager: long refreshBackoffMs>;
v = v - v;
v = staticinvoke <java.lang.Math: long max(long,long)>(0L, v);
return v;
}
public void transitionToUpdatePending(long)
{
long v;
org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager$State v;
org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager v;
v := @this: org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager;
v := @parameter: long;
v = <org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager$State: org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager$State UPDATE_PENDING>;
v.<org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager: org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager$State state> = v;
v.<org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager: long lastMetadataFetchAttemptMs> = v;
return;
}
public void updateFailed(java.lang.Throwable)
{
java.lang.Throwable v;
org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager$State v;
org.slf4j.Logger v, v;
org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager v;
boolean v;
v := @this: org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager;
v := @parameter: java.lang.Throwable;
v = <org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager$State: org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager$State QUIESCENT>;
v.<org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager: org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager$State state> = v;
v = v instanceof org.apache.kafkaesqueesqueesque.common.errors.AuthenticationException;
if v == 0 goto label;
v = v.<org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager: org.slf4j.Logger log>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Throwable)>("Metadata update failed due to authentication error", v);
v.<org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager: org.apache.kafkaesqueesqueesque.common.errors.AuthenticationException authException> = v;
goto label;
label:
v = v.<org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager: org.slf4j.Logger log>;
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Throwable)>("Metadata update failed", v);
label:
return;
}
public void update(org.apache.kafkaesqueesqueesque.common.Cluster, long)
{
org.slf4j.Logger v, v;
long v;
java.util.List v;
org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager$State v;
org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager v;
boolean v, v;
org.apache.kafkaesqueesqueesque.common.Cluster v;
v := @this: org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager;
v := @parameter: org.apache.kafkaesqueesqueesque.common.Cluster;
v := @parameter: long;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.Cluster: boolean isBootstrapConfigured()>();
if v == 0 goto label;
v = v.<org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager: org.slf4j.Logger log>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object)>("Setting bootstrap cluster metadata {}.", v);
goto label;
label:
v = v.<org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager: org.slf4j.Logger log>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object)>("Updating cluster metadata to {}", v);
v.<org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager: long lastMetadataUpdateMs> = v;
label:
v = <org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager$State: org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager$State QUIESCENT>;
v.<org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager: org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager$State state> = v;
v.<org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager: org.apache.kafkaesqueesqueesque.common.errors.AuthenticationException authException> = null;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.Cluster: java.util.List nodes()>();
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
if v != 0 goto label;
v.<org.apache.kafkaesqueesqueesque.clients.admin.internals.AdminMetadataManager: org.apache.kafkaesqueesqueesque.common.Cluster cluster> = v;
label:
return;
}
}