public class org.apache.hive.service.server.HS2ActivePassiveHARegistry extends org.apache.hadoop.hive.registry.impl.ZkRegistryBase implements org.apache.hadoop.hive.llap.registry.ServiceRegistry, org.apache.hive.service.server.HiveServer2HAInstanceSet, org.apache.hive.service.server.HiveServer2$FailoverHandler
{
private static final org.slf4j.Logger LOG;
static final java.lang.String ACTIVE_ENDPOINT;
static final java.lang.String PASSIVE_ENDPOINT;
private static final java.lang.String SASL_LOGIN_CONTEXT_NAME;
private static final java.lang.String INSTANCE_PREFIX;
private static final java.lang.String INSTANCE_GROUP;
private static final java.lang.String LEADER_LATCH_PATH;
private org.apache.curator.framework.recipes.leader.LeaderLatch leaderLatch;
private java.util.Map registeredListeners;
private java.lang.String latchPath;
private org.apache.hadoop.registry.client.types.ServiceRecord srv;
private boolean isClient;
private final java.lang.String uniqueId;
static org.apache.hive.service.server.HS2ActivePassiveHARegistry create(org.apache.hadoop.conf.Configuration, boolean)
{
org.apache.hadoop.hive.conf.HiveConf$ConfVars v, v, v, v;
org.apache.hadoop.conf.Configuration v;
java.lang.String v, v, v, v, v, v, v;
boolean v, v, v;
org.apache.hive.service.server.HS2ActivePassiveHARegistry v;
v := @parameter: org.apache.hadoop.conf.Configuration;
v := @parameter: boolean;
v = <org.apache.hadoop.hive.conf.HiveConf$ConfVars: org.apache.hadoop.hive.conf.HiveConf$ConfVars HIVE_SERVER2_ACTIVE_PASSIVE_HA_REGISTRY_NAMESPACE>;
v = staticinvoke <org.apache.hadoop.hive.conf.HiveConf: java.lang.String getVar(org.apache.hadoop.conf.Configuration,org.apache.hadoop.hive.conf.HiveConf$ConfVars)>(v, v);
v = staticinvoke <org.apache.commons.lang.StringUtils: boolean isBlank(java.lang.CharSequence)>(v);
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = <org.apache.hadoop.hive.conf.HiveConf$ConfVars: org.apache.hadoop.hive.conf.HiveConf$ConfVars HIVE_SERVER2_ACTIVE_PASSIVE_HA_REGISTRY_NAMESPACE>;
v = v.<org.apache.hadoop.hive.conf.HiveConf$ConfVars: java.lang.String varname>;
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 cannot be null or empty");
staticinvoke <com.google.common.base.Preconditions: void checkArgument(boolean,java.lang.Object)>(v, v);
v = <org.apache.hadoop.hive.conf.HiveConf$ConfVars: org.apache.hadoop.hive.conf.HiveConf$ConfVars HIVE_SERVER2_KERBEROS_PRINCIPAL>;
v = staticinvoke <org.apache.hadoop.hive.conf.HiveConf: java.lang.String getVar(org.apache.hadoop.conf.Configuration,org.apache.hadoop.hive.conf.HiveConf$ConfVars)>(v, v);
v = <org.apache.hadoop.hive.conf.HiveConf$ConfVars: org.apache.hadoop.hive.conf.HiveConf$ConfVars HIVE_SERVER2_KERBEROS_KEYTAB>;
v = staticinvoke <org.apache.hadoop.hive.conf.HiveConf: java.lang.String getVar(org.apache.hadoop.conf.Configuration,org.apache.hadoop.hive.conf.HiveConf$ConfVars)>(v, v);
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-");
v = new org.apache.hive.service.server.HS2ActivePassiveHARegistry;
if v == 0 goto label;
v = null;
goto label;
label:
v = "HS2ActivePassiveHAZooKeeperClient";
label:
specialinvoke v.<org.apache.hive.service.server.HS2ActivePassiveHARegistry: void <init>(java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,org.apache.hadoop.conf.Configuration,boolean)>(null, v, "/_LEADER", v, v, v, v, v);
return v;
}
private void <init>(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, org.apache.hadoop.conf.Configuration, boolean)
{
java.util.HashMap v;
org.apache.curator.framework.recipes.leader.LeaderLatch v;
org.apache.hadoop.hive.conf.HiveConf$ConfVars v;
org.apache.hadoop.conf.Configuration v;
java.lang.String v, v, v, v, v, v, v, v, v;
boolean v, v;
java.util.UUID v;
org.apache.hive.service.server.HS2ActivePassiveHARegistry v;
v := @this: org.apache.hive.service.server.HS2ActivePassiveHARegistry;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: org.apache.hadoop.conf.Configuration;
v := @parameter: boolean;
specialinvoke v.<org.apache.hadoop.hive.registry.impl.ZkRegistryBase: void <init>(java.lang.String,org.apache.hadoop.conf.Configuration,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,org.apache.hadoop.hive.conf.HiveConf$ConfVars)>(v, v, null, v, null, "instance-", "instances", v, v, v, null);
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v.<org.apache.hive.service.server.HS2ActivePassiveHARegistry: java.util.Map registeredListeners> = v;
v.<org.apache.hive.service.server.HS2ActivePassiveHARegistry: boolean isClient> = v;
v = <org.apache.hadoop.hive.conf.HiveConf$ConfVars: org.apache.hadoop.hive.conf.HiveConf$ConfVars HIVE_IN_TEST>;
v = staticinvoke <org.apache.hadoop.hive.conf.HiveConf: boolean getBoolVar(org.apache.hadoop.conf.Configuration,org.apache.hadoop.hive.conf.HiveConf$ConfVars)>(v, v);
if v == 0 goto label;
v = virtualinvoke v.<org.apache.hadoop.conf.Configuration: java.lang.String get(java.lang.String)>("registry.unique.id");
if v == null goto label;
v = virtualinvoke v.<org.apache.hadoop.conf.Configuration: java.lang.String get(java.lang.String)>("registry.unique.id");
v.<org.apache.hive.service.server.HS2ActivePassiveHARegistry: java.lang.String uniqueId> = v;
goto label;
label:
v = <org.apache.hive.service.server.HS2ActivePassiveHARegistry: java.util.UUID UNIQUE_ID>;
v = virtualinvoke v.<java.util.UUID: java.lang.String toString()>();
v.<org.apache.hive.service.server.HS2ActivePassiveHARegistry: java.lang.String uniqueId> = v;
label:
v.<org.apache.hive.service.server.HS2ActivePassiveHARegistry: java.lang.String latchPath> = v;
v = specialinvoke v.<org.apache.hive.service.server.HS2ActivePassiveHARegistry: org.apache.curator.framework.recipes.leader.LeaderLatch getNewLeaderLatchPath()>();
v.<org.apache.hive.service.server.HS2ActivePassiveHARegistry: org.apache.curator.framework.recipes.leader.LeaderLatch leaderLatch> = v;
return;
}
public void start() throws java.io.IOException
{
org.slf4j.Logger v, v;
java.io.IOException v;
org.apache.hadoop.registry.client.types.ServiceRecord v, v;
java.lang.Exception v;
org.apache.curator.framework.recipes.leader.LeaderLatch v;
org.apache.hive.service.server.HS2ActivePassiveHARegistry$HS2LeaderLatchListener v;
org.apache.hive.service.server.HS2ActivePassiveHARegistry v;
boolean v;
v := @this: org.apache.hive.service.server.HS2ActivePassiveHARegistry;
specialinvoke v.<org.apache.hadoop.hive.registry.impl.ZkRegistryBase: void start()>();
v = v.<org.apache.hive.service.server.HS2ActivePassiveHARegistry: boolean isClient>;
if v != 0 goto label;
v = specialinvoke v.<org.apache.hive.service.server.HS2ActivePassiveHARegistry: org.apache.hadoop.registry.client.types.ServiceRecord getNewServiceRecord()>();
v.<org.apache.hive.service.server.HS2ActivePassiveHARegistry: org.apache.hadoop.registry.client.types.ServiceRecord srv> = v;
virtualinvoke v.<org.apache.hive.service.server.HS2ActivePassiveHARegistry: java.lang.String register()>();
v = new org.apache.hive.service.server.HS2ActivePassiveHARegistry$HS2LeaderLatchListener;
specialinvoke v.<org.apache.hive.service.server.HS2ActivePassiveHARegistry$HS2LeaderLatchListener: void <init>(org.apache.hive.service.server.HS2ActivePassiveHARegistry)>(v);
virtualinvoke v.<org.apache.hive.service.server.HS2ActivePassiveHARegistry: void registerLeaderLatchListener(org.apache.curator.framework.recipes.leader.LeaderLatchListener,java.util.concurrent.ExecutorService)>(v, null);
label:
v = v.<org.apache.hive.service.server.HS2ActivePassiveHARegistry: org.apache.curator.framework.recipes.leader.LeaderLatch leaderLatch>;
virtualinvoke v.<org.apache.curator.framework.recipes.leader.LeaderLatch: void start()>();
label:
goto label;
label:
v := @caughtexception;
v = new java.io.IOException;
specialinvoke v.<java.io.IOException: void <init>(java.lang.Throwable)>(v);
throw v;
label:
v = <org.apache.hive.service.server.HS2ActivePassiveHARegistry: org.slf4j.Logger LOG>;
v = v.<org.apache.hive.service.server.HS2ActivePassiveHARegistry: org.apache.hadoop.registry.client.types.ServiceRecord srv>;
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object)>("Registered HS2 with ZK. service record: {}", v);
goto label;
label:
specialinvoke v.<org.apache.hive.service.server.HS2ActivePassiveHARegistry: void populateCache()>();
v = <org.apache.hive.service.server.HS2ActivePassiveHARegistry: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String)>("Populating instances cache for client");
label:
return;
catch java.lang.Exception from label to label with label;
}
protected void unregisterInternal()
{
org.apache.hive.service.server.HS2ActivePassiveHARegistry v;
v := @this: org.apache.hive.service.server.HS2ActivePassiveHARegistry;
specialinvoke v.<org.apache.hadoop.hive.registry.impl.ZkRegistryBase: void unregisterInternal()>();
return;
}
public java.lang.String register() throws java.io.IOException
{
org.apache.hive.service.server.HS2ActivePassiveHARegistry v;
java.lang.String v, v;
org.apache.hadoop.registry.client.types.ServiceRecord v, v;
v := @this: org.apache.hive.service.server.HS2ActivePassiveHARegistry;
v = v.<org.apache.hive.service.server.HS2ActivePassiveHARegistry: org.apache.hadoop.registry.client.types.ServiceRecord srv>;
specialinvoke v.<org.apache.hive.service.server.HS2ActivePassiveHARegistry: void updateEndpoint(org.apache.hadoop.registry.client.types.ServiceRecord,java.lang.String)>(v, "passiveEndpoint");
v = v.<org.apache.hive.service.server.HS2ActivePassiveHARegistry: org.apache.hadoop.registry.client.types.ServiceRecord srv>;
v = v.<org.apache.hive.service.server.HS2ActivePassiveHARegistry: java.lang.String uniqueId>;
v = virtualinvoke v.<org.apache.hive.service.server.HS2ActivePassiveHARegistry: java.lang.String registerServiceRecord(org.apache.hadoop.registry.client.types.ServiceRecord,java.lang.String)>(v, v);
return v;
}
public void unregister()
{
org.apache.hive.service.server.HS2ActivePassiveHARegistry v;
org.apache.curator.framework.recipes.leader.LeaderLatch v;
v := @this: org.apache.hive.service.server.HS2ActivePassiveHARegistry;
v = v.<org.apache.hive.service.server.HS2ActivePassiveHARegistry: org.apache.curator.framework.recipes.leader.LeaderLatch leaderLatch>;
staticinvoke <org.apache.curator.utils.CloseableUtils: void closeQuietly(java.io.Closeable)>(v);
virtualinvoke v.<org.apache.hive.service.server.HS2ActivePassiveHARegistry: void unregisterInternal()>();
return;
}
public void updateRegistration(java.lang.Iterable) throws java.io.IOException
{
java.lang.UnsupportedOperationException v;
org.apache.hive.service.server.HS2ActivePassiveHARegistry v;
java.lang.Iterable v;
v := @this: org.apache.hive.service.server.HS2ActivePassiveHARegistry;
v := @parameter: java.lang.Iterable;
v = new java.lang.UnsupportedOperationException;
specialinvoke v.<java.lang.UnsupportedOperationException: void <init>()>();
throw v;
}
private void populateCache() throws java.io.IOException
{
org.apache.curator.framework.recipes.cache.PathChildrenCache v;
org.apache.hive.service.server.HS2ActivePassiveHARegistry v;
v := @this: org.apache.hive.service.server.HS2ActivePassiveHARegistry;
v = virtualinvoke v.<org.apache.hive.service.server.HS2ActivePassiveHARegistry: org.apache.curator.framework.recipes.cache.PathChildrenCache ensureInstancesCache(long)>(0L);
virtualinvoke v.<org.apache.hive.service.server.HS2ActivePassiveHARegistry: void populateCache(org.apache.curator.framework.recipes.cache.PathChildrenCache,boolean)>(v, 0);
return;
}
public org.apache.hadoop.hive.registry.ServiceInstanceSet getInstances(java.lang.String, long) throws java.io.IOException
{
org.apache.hive.service.server.HS2ActivePassiveHARegistry v;
java.io.IOException v;
long v;
java.lang.String v;
v := @this: org.apache.hive.service.server.HS2ActivePassiveHARegistry;
v := @parameter: java.lang.String;
v := @parameter: long;
v = new java.io.IOException;
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>("Not supported to get instances by component name");
throw v;
}
private void addActiveEndpointToServiceRecord() throws java.io.IOException
{
org.apache.hadoop.registry.client.types.ServiceRecord v;
org.apache.hive.service.server.HS2ActivePassiveHARegistry v;
v := @this: org.apache.hive.service.server.HS2ActivePassiveHARegistry;
v = specialinvoke v.<org.apache.hive.service.server.HS2ActivePassiveHARegistry: org.apache.hadoop.registry.client.types.ServiceRecord getNewServiceRecord()>();
specialinvoke v.<org.apache.hive.service.server.HS2ActivePassiveHARegistry: void addEndpointToServiceRecord(org.apache.hadoop.registry.client.types.ServiceRecord,java.lang.String)>(v, "activeEndpoint");
return;
}
private void addPassiveEndpointToServiceRecord() throws java.io.IOException
{
org.apache.hadoop.registry.client.types.ServiceRecord v;
org.apache.hive.service.server.HS2ActivePassiveHARegistry v;
v := @this: org.apache.hive.service.server.HS2ActivePassiveHARegistry;
v = specialinvoke v.<org.apache.hive.service.server.HS2ActivePassiveHARegistry: org.apache.hadoop.registry.client.types.ServiceRecord getNewServiceRecord()>();
specialinvoke v.<org.apache.hive.service.server.HS2ActivePassiveHARegistry: void addEndpointToServiceRecord(org.apache.hadoop.registry.client.types.ServiceRecord,java.lang.String)>(v, "passiveEndpoint");
return;
}
private void addEndpointToServiceRecord(org.apache.hadoop.registry.client.types.ServiceRecord, java.lang.String) throws java.io.IOException
{
org.apache.hive.service.server.HS2ActivePassiveHARegistry v;
java.lang.String v;
org.apache.hadoop.registry.client.types.ServiceRecord v;
boolean v;
v := @this: org.apache.hive.service.server.HS2ActivePassiveHARegistry;
v := @parameter: org.apache.hadoop.registry.client.types.ServiceRecord;
v := @parameter: java.lang.String;
specialinvoke v.<org.apache.hive.service.server.HS2ActivePassiveHARegistry: void updateEndpoint(org.apache.hadoop.registry.client.types.ServiceRecord,java.lang.String)>(v, v);
v = v.<org.apache.hive.service.server.HS2ActivePassiveHARegistry: boolean doCheckAcls>;
virtualinvoke v.<org.apache.hive.service.server.HS2ActivePassiveHARegistry: void updateServiceRecord(org.apache.hadoop.registry.client.types.ServiceRecord,boolean,boolean)>(v, v, 1);
return;
}
private void updateEndpoint(org.apache.hadoop.registry.client.types.ServiceRecord, java.lang.String)
{
org.slf4j.Logger v;
org.apache.hadoop.registry.client.types.Endpoint v;
java.lang.String[] v;
java.net.InetSocketAddress v;
org.apache.hadoop.registry.client.types.ServiceRecord v;
org.apache.hive.service.server.HS2ActivePassiveHARegistry v;
int v;
java.lang.String v, v, v, v;
v := @this: org.apache.hive.service.server.HS2ActivePassiveHARegistry;
v := @parameter: org.apache.hadoop.registry.client.types.ServiceRecord;
v := @parameter: java.lang.String;
v = virtualinvoke v.<org.apache.hadoop.registry.client.types.ServiceRecord: java.lang.String get(java.lang.String)>("hive.server.instance.uri");
v = virtualinvoke v.<java.lang.String: java.lang.String[] split(java.lang.String)>(":");
v = v[0];
v = v[1];
v = staticinvoke <java.lang.Integer: int parseInt(java.lang.String)>(v);
v = new java.net.InetSocketAddress;
specialinvoke v.<java.net.InetSocketAddress: void <init>(java.lang.String,int)>(v, v);
v = staticinvoke <org.apache.hadoop.registry.client.binding.RegistryTypeUtils: org.apache.hadoop.registry.client.types.Endpoint ipcEndpoint(java.lang.String,java.net.InetSocketAddress)>(v, v);
virtualinvoke v.<org.apache.hadoop.registry.client.types.ServiceRecord: void addInternalEndpoint(org.apache.hadoop.registry.client.types.Endpoint)>(v);
v = <org.apache.hive.service.server.HS2ActivePassiveHARegistry: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object)>("Added {} endpoint to service record", v);
return;
}
public void stop()
{
org.apache.hive.service.server.HS2ActivePassiveHARegistry v;
org.apache.curator.framework.recipes.leader.LeaderLatch v;
v := @this: org.apache.hive.service.server.HS2ActivePassiveHARegistry;
v = v.<org.apache.hive.service.server.HS2ActivePassiveHARegistry: org.apache.curator.framework.recipes.leader.LeaderLatch leaderLatch>;
staticinvoke <org.apache.curator.utils.CloseableUtils: void closeQuietly(java.io.Closeable)>(v);
specialinvoke v.<org.apache.hadoop.hive.registry.impl.ZkRegistryBase: void stop()>();
return;
}
protected org.apache.hive.service.server.HiveServer2Instance createServiceInstance(org.apache.hadoop.registry.client.types.ServiceRecord) throws java.io.IOException
{
org.apache.hadoop.registry.client.types.Endpoint v;
org.apache.hive.service.server.HS2ActivePassiveHARegistry v;
org.apache.hive.service.server.HiveServer2Instance v;
java.lang.String v;
org.apache.hadoop.registry.client.types.ServiceRecord v;
v := @this: org.apache.hive.service.server.HS2ActivePassiveHARegistry;
v := @parameter: org.apache.hadoop.registry.client.types.ServiceRecord;
v = virtualinvoke v.<org.apache.hadoop.registry.client.types.ServiceRecord: org.apache.hadoop.registry.client.types.Endpoint getInternalEndpoint(java.lang.String)>("activeEndpoint");
v = new org.apache.hive.service.server.HiveServer2Instance;
if v == null goto label;
v = "activeEndpoint";
goto label;
label:
v = "passiveEndpoint";
label:
specialinvoke v.<org.apache.hive.service.server.HiveServer2Instance: void <init>(org.apache.hadoop.registry.client.types.ServiceRecord,java.lang.String)>(v, v);
return v;
}
public synchronized void registerStateChangeListener(org.apache.hadoop.hive.registry.ServiceInstanceStateChangeListener) throws java.io.IOException
{
org.apache.hadoop.hive.registry.ServiceInstanceStateChangeListener v;
org.apache.hive.service.server.HS2ActivePassiveHARegistry v;
v := @this: org.apache.hive.service.server.HS2ActivePassiveHARegistry;
v := @parameter: org.apache.hadoop.hive.registry.ServiceInstanceStateChangeListener;
specialinvoke v.<org.apache.hadoop.hive.registry.impl.ZkRegistryBase: void registerStateChangeListener(org.apache.hadoop.hive.registry.ServiceInstanceStateChangeListener)>(v);
return;
}
public org.apache.hadoop.yarn.api.records.ApplicationId getApplicationId() throws java.io.IOException
{
java.io.IOException v;
org.apache.hive.service.server.HS2ActivePassiveHARegistry v;
v := @this: org.apache.hive.service.server.HS2ActivePassiveHARegistry;
v = new java.io.IOException;
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>("Not supported until HS2 runs as YARN application");
throw v;
}
protected java.lang.String getZkPathUser(org.apache.hadoop.conf.Configuration)
{
java.lang.String v;
org.apache.hive.service.server.HS2ActivePassiveHARegistry v;
org.apache.hadoop.conf.Configuration v;
v := @this: org.apache.hive.service.server.HS2ActivePassiveHARegistry;
v := @parameter: org.apache.hadoop.conf.Configuration;
v = virtualinvoke v.<org.apache.hive.service.server.HS2ActivePassiveHARegistry: java.lang.String currentUser()>();
return v;
}
private boolean hasLeadership()
{
org.apache.hive.service.server.HS2ActivePassiveHARegistry v;
boolean v;
org.apache.curator.framework.recipes.leader.LeaderLatch v;
v := @this: org.apache.hive.service.server.HS2ActivePassiveHARegistry;
v = v.<org.apache.hive.service.server.HS2ActivePassiveHARegistry: org.apache.curator.framework.recipes.leader.LeaderLatch leaderLatch>;
v = virtualinvoke v.<org.apache.curator.framework.recipes.leader.LeaderLatch: boolean hasLeadership()>();
return v;
}
public void failover() throws java.lang.Exception
{
org.apache.curator.framework.recipes.leader.LeaderLatch v, v, v, v, v, v;
java.util.Map v;
java.lang.String v, v, v;
boolean v, v;
org.slf4j.Logger v, v, v;
java.util.Iterator v;
org.apache.curator.framework.recipes.leader.Participant v;
java.util.Set v;
org.apache.hive.service.server.HS2ActivePassiveHARegistry v;
org.apache.curator.framework.recipes.leader.LeaderLatch$CloseMode v;
java.lang.Object v, v, v, v, v;
v := @this: org.apache.hive.service.server.HS2ActivePassiveHARegistry;
v = specialinvoke v.<org.apache.hive.service.server.HS2ActivePassiveHARegistry: boolean hasLeadership()>();
if v == 0 goto label;
v = <org.apache.hive.service.server.HS2ActivePassiveHARegistry: org.slf4j.Logger LOG>;
v = v.<org.apache.hive.service.server.HS2ActivePassiveHARegistry: java.lang.String uniqueId>;
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object)>("Failover request received for HS2 instance: {}. Restarting leader latch..", v);
v = v.<org.apache.hive.service.server.HS2ActivePassiveHARegistry: org.apache.curator.framework.recipes.leader.LeaderLatch leaderLatch>;
v = <org.apache.curator.framework.recipes.leader.LeaderLatch$CloseMode: org.apache.curator.framework.recipes.leader.LeaderLatch$CloseMode NOTIFY_LEADER>;
virtualinvoke v.<org.apache.curator.framework.recipes.leader.LeaderLatch: void close(org.apache.curator.framework.recipes.leader.LeaderLatch$CloseMode)>(v);
v = specialinvoke v.<org.apache.hive.service.server.HS2ActivePassiveHARegistry: org.apache.curator.framework.recipes.leader.LeaderLatch getNewLeaderLatchPath()>();
v.<org.apache.hive.service.server.HS2ActivePassiveHARegistry: org.apache.curator.framework.recipes.leader.LeaderLatch leaderLatch> = v;
v = v.<org.apache.hive.service.server.HS2ActivePassiveHARegistry: java.util.Map registeredListeners>;
v = interfaceinvoke v.<java.util.Map: java.util.Set entrySet()>();
v = interfaceinvoke v.<java.util.Set: 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 = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getValue()>();
if v != null goto label;
v = v.<org.apache.hive.service.server.HS2ActivePassiveHARegistry: org.apache.curator.framework.recipes.leader.LeaderLatch leaderLatch>;
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getKey()>();
virtualinvoke v.<org.apache.curator.framework.recipes.leader.LeaderLatch: void addListener(org.apache.curator.framework.recipes.leader.LeaderLatchListener)>(v);
goto label;
label:
v = v.<org.apache.hive.service.server.HS2ActivePassiveHARegistry: org.apache.curator.framework.recipes.leader.LeaderLatch leaderLatch>;
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getKey()>();
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getValue()>();
virtualinvoke v.<org.apache.curator.framework.recipes.leader.LeaderLatch: void addListener(org.apache.curator.framework.recipes.leader.LeaderLatchListener,java.util.concurrent.Executor)>(v, v);
goto label;
label:
v = v.<org.apache.hive.service.server.HS2ActivePassiveHARegistry: org.apache.curator.framework.recipes.leader.LeaderLatch leaderLatch>;
virtualinvoke v.<org.apache.curator.framework.recipes.leader.LeaderLatch: void start()>();
v = <org.apache.hive.service.server.HS2ActivePassiveHARegistry: org.slf4j.Logger LOG>;
v = v.<org.apache.hive.service.server.HS2ActivePassiveHARegistry: org.apache.curator.framework.recipes.leader.LeaderLatch leaderLatch>;
v = virtualinvoke v.<org.apache.curator.framework.recipes.leader.LeaderLatch: org.apache.curator.framework.recipes.leader.Participant getLeader()>();
v = virtualinvoke v.<org.apache.curator.framework.recipes.leader.Participant: java.lang.String getId()>();
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object)>("Failover complete. Leader latch restarted successfully. New leader: {}", v);
goto label;
label:
v = <org.apache.hive.service.server.HS2ActivePassiveHARegistry: org.slf4j.Logger LOG>;
v = v.<org.apache.hive.service.server.HS2ActivePassiveHARegistry: java.lang.String uniqueId>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Object)>("Failover request received for HS2 instance: {} that is not leader. Skipping..", v);
label:
return;
}
private org.apache.curator.framework.recipes.leader.LeaderLatch getNewLeaderLatchPath()
{
org.apache.curator.framework.CuratorFramework v;
org.apache.hive.service.server.HS2ActivePassiveHARegistry v;
org.apache.curator.framework.recipes.leader.LeaderLatch$CloseMode v;
java.lang.String v, v;
org.apache.curator.framework.recipes.leader.LeaderLatch v;
v := @this: org.apache.hive.service.server.HS2ActivePassiveHARegistry;
v = new org.apache.curator.framework.recipes.leader.LeaderLatch;
v = v.<org.apache.hive.service.server.HS2ActivePassiveHARegistry: org.apache.curator.framework.CuratorFramework zooKeeperClient>;
v = v.<org.apache.hive.service.server.HS2ActivePassiveHARegistry: java.lang.String latchPath>;
v = v.<org.apache.hive.service.server.HS2ActivePassiveHARegistry: java.lang.String uniqueId>;
v = <org.apache.curator.framework.recipes.leader.LeaderLatch$CloseMode: org.apache.curator.framework.recipes.leader.LeaderLatch$CloseMode NOTIFY_LEADER>;
specialinvoke v.<org.apache.curator.framework.recipes.leader.LeaderLatch: void <init>(org.apache.curator.framework.CuratorFramework,java.lang.String,java.lang.String,org.apache.curator.framework.recipes.leader.LeaderLatch$CloseMode)>(v, v, v, v);
return v;
}
public org.apache.hive.service.server.HiveServer2Instance getLeader()
{
java.util.Iterator v;
org.apache.hive.service.server.HS2ActivePassiveHARegistry v;
java.util.Collection v;
java.lang.Object v;
boolean v, v;
v := @this: org.apache.hive.service.server.HS2ActivePassiveHARegistry;
v = virtualinvoke v.<org.apache.hive.service.server.HS2ActivePassiveHARegistry: java.util.Collection getAll()>();
v = interfaceinvoke v.<java.util.Collection: 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 = virtualinvoke v.<org.apache.hive.service.server.HiveServer2Instance: boolean isLeader()>();
if v == 0 goto label;
return v;
label:
return null;
}
public java.util.Collection getAll()
{
org.apache.hive.service.server.HS2ActivePassiveHARegistry v;
java.util.Collection v;
v := @this: org.apache.hive.service.server.HS2ActivePassiveHARegistry;
v = virtualinvoke v.<org.apache.hive.service.server.HS2ActivePassiveHARegistry: java.util.Collection getAllInternal()>();
return v;
}
public org.apache.hive.service.server.HiveServer2Instance getInstance(java.lang.String)
{
java.util.Iterator v;
java.util.Collection v;
org.apache.hive.service.server.HS2ActivePassiveHARegistry v;
java.lang.Object v;
java.lang.String v, v;
boolean v, v;
v := @this: org.apache.hive.service.server.HS2ActivePassiveHARegistry;
v := @parameter: java.lang.String;
v = virtualinvoke v.<org.apache.hive.service.server.HS2ActivePassiveHARegistry: java.util.Collection getAll()>();
v = interfaceinvoke v.<java.util.Collection: 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 = virtualinvoke v.<org.apache.hive.service.server.HiveServer2Instance: java.lang.String getWorkerIdentity()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
return v;
label:
return null;
}
public java.util.Set getByHost(java.lang.String)
{
java.util.Set v;
java.lang.String v;
org.apache.hive.service.server.HS2ActivePassiveHARegistry v;
v := @this: org.apache.hive.service.server.HS2ActivePassiveHARegistry;
v := @parameter: java.lang.String;
v = virtualinvoke v.<org.apache.hive.service.server.HS2ActivePassiveHARegistry: java.util.Set getByHostInternal(java.lang.String)>(v);
return v;
}
public int size()
{
int v;
org.apache.hive.service.server.HS2ActivePassiveHARegistry v;
v := @this: org.apache.hive.service.server.HS2ActivePassiveHARegistry;
v = virtualinvoke v.<org.apache.hive.service.server.HS2ActivePassiveHARegistry: int sizeInternal()>();
return v;
}
void registerLeaderLatchListener(org.apache.curator.framework.recipes.leader.LeaderLatchListener, java.util.concurrent.ExecutorService)
{
org.apache.hive.service.server.HS2ActivePassiveHARegistry v;
java.util.Map v;
java.util.concurrent.ExecutorService v;
org.apache.curator.framework.recipes.leader.LeaderLatchListener v;
org.apache.curator.framework.recipes.leader.LeaderLatch v, v;
v := @this: org.apache.hive.service.server.HS2ActivePassiveHARegistry;
v := @parameter: org.apache.curator.framework.recipes.leader.LeaderLatchListener;
v := @parameter: java.util.concurrent.ExecutorService;
v = v.<org.apache.hive.service.server.HS2ActivePassiveHARegistry: java.util.Map registeredListeners>;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
if v != null goto label;
v = v.<org.apache.hive.service.server.HS2ActivePassiveHARegistry: org.apache.curator.framework.recipes.leader.LeaderLatch leaderLatch>;
virtualinvoke v.<org.apache.curator.framework.recipes.leader.LeaderLatch: void addListener(org.apache.curator.framework.recipes.leader.LeaderLatchListener)>(v);
goto label;
label:
v = v.<org.apache.hive.service.server.HS2ActivePassiveHARegistry: org.apache.curator.framework.recipes.leader.LeaderLatch leaderLatch>;
virtualinvoke v.<org.apache.curator.framework.recipes.leader.LeaderLatch: void addListener(org.apache.curator.framework.recipes.leader.LeaderLatchListener,java.util.concurrent.Executor)>(v, v);
label:
return;
}
private java.util.Map getConfsToPublish()
{
org.apache.hadoop.conf.Configuration v, v, v, v, v, v, v, v, v, v, v, v, v;
org.apache.hive.service.server.HS2ActivePassiveHARegistry v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
boolean v, v;
java.util.HashMap v;
org.apache.hadoop.hive.conf.HiveConf$ConfVars v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.apache.hadoop.hive.conf.HiveConf v;
v := @this: org.apache.hive.service.server.HS2ActivePassiveHARegistry;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v = <org.apache.hadoop.hive.conf.HiveConf$ConfVars: org.apache.hadoop.hive.conf.HiveConf$ConfVars HIVE_SERVER2_THRIFT_BIND_HOST>;
v = v.<org.apache.hadoop.hive.conf.HiveConf$ConfVars: java.lang.String varname>;
v = v.<org.apache.hive.service.server.HS2ActivePassiveHARegistry: org.apache.hadoop.conf.Configuration conf>;
v = <org.apache.hadoop.hive.conf.HiveConf$ConfVars: org.apache.hadoop.hive.conf.HiveConf$ConfVars HIVE_SERVER2_THRIFT_BIND_HOST>;
v = v.<org.apache.hadoop.hive.conf.HiveConf$ConfVars: java.lang.String varname>;
v = virtualinvoke v.<org.apache.hadoop.conf.Configuration: java.lang.String get(java.lang.String)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = <org.apache.hadoop.hive.conf.HiveConf$ConfVars: org.apache.hadoop.hive.conf.HiveConf$ConfVars HIVE_SERVER2_WEBUI_PORT>;
v = v.<org.apache.hadoop.hive.conf.HiveConf$ConfVars: java.lang.String varname>;
v = v.<org.apache.hive.service.server.HS2ActivePassiveHARegistry: org.apache.hadoop.conf.Configuration conf>;
v = <org.apache.hadoop.hive.conf.HiveConf$ConfVars: org.apache.hadoop.hive.conf.HiveConf$ConfVars HIVE_SERVER2_WEBUI_PORT>;
v = v.<org.apache.hadoop.hive.conf.HiveConf$ConfVars: java.lang.String varname>;
v = virtualinvoke v.<org.apache.hadoop.conf.Configuration: java.lang.String get(java.lang.String)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = v.<org.apache.hive.service.server.HS2ActivePassiveHARegistry: org.apache.hadoop.conf.Configuration conf>;
v = virtualinvoke v.<org.apache.hadoop.conf.Configuration: java.lang.String get(java.lang.String)>("hive.server.instance.uri");
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("hive.server.instance.uri", v);
v = v.<org.apache.hive.service.server.HS2ActivePassiveHARegistry: java.lang.String uniqueId>;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("registry.unique.id", v);
v = <org.apache.hadoop.hive.conf.HiveConf$ConfVars: org.apache.hadoop.hive.conf.HiveConf$ConfVars HIVE_SERVER2_TRANSPORT_MODE>;
v = v.<org.apache.hadoop.hive.conf.HiveConf$ConfVars: java.lang.String varname>;
v = v.<org.apache.hive.service.server.HS2ActivePassiveHARegistry: org.apache.hadoop.conf.Configuration conf>;
v = <org.apache.hadoop.hive.conf.HiveConf$ConfVars: org.apache.hadoop.hive.conf.HiveConf$ConfVars HIVE_SERVER2_TRANSPORT_MODE>;
v = v.<org.apache.hadoop.hive.conf.HiveConf$ConfVars: java.lang.String varname>;
v = virtualinvoke v.<org.apache.hadoop.conf.Configuration: java.lang.String get(java.lang.String)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = new org.apache.hadoop.hive.conf.HiveConf;
v = v.<org.apache.hive.service.server.HS2ActivePassiveHARegistry: org.apache.hadoop.conf.Configuration conf>;
specialinvoke v.<org.apache.hadoop.hive.conf.HiveConf: void <init>(org.apache.hadoop.conf.Configuration,java.lang.Class)>(v, class "Lorg/apache/hadoop/conf/Configuration;");
v = staticinvoke <org.apache.hive.service.server.HiveServer2: boolean isHttpTransportMode(org.apache.hadoop.hive.conf.HiveConf)>(v);
if v == 0 goto label;
v = <org.apache.hadoop.hive.conf.HiveConf$ConfVars: org.apache.hadoop.hive.conf.HiveConf$ConfVars HIVE_SERVER2_THRIFT_HTTP_PORT>;
v = v.<org.apache.hadoop.hive.conf.HiveConf$ConfVars: java.lang.String varname>;
v = v.<org.apache.hive.service.server.HS2ActivePassiveHARegistry: org.apache.hadoop.conf.Configuration conf>;
v = <org.apache.hadoop.hive.conf.HiveConf$ConfVars: org.apache.hadoop.hive.conf.HiveConf$ConfVars HIVE_SERVER2_THRIFT_HTTP_PORT>;
v = v.<org.apache.hadoop.hive.conf.HiveConf$ConfVars: java.lang.String varname>;
v = virtualinvoke v.<org.apache.hadoop.conf.Configuration: java.lang.String get(java.lang.String)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = <org.apache.hadoop.hive.conf.HiveConf$ConfVars: org.apache.hadoop.hive.conf.HiveConf$ConfVars HIVE_SERVER2_THRIFT_HTTP_PATH>;
v = v.<org.apache.hadoop.hive.conf.HiveConf$ConfVars: java.lang.String varname>;
v = v.<org.apache.hive.service.server.HS2ActivePassiveHARegistry: org.apache.hadoop.conf.Configuration conf>;
v = <org.apache.hadoop.hive.conf.HiveConf$ConfVars: org.apache.hadoop.hive.conf.HiveConf$ConfVars HIVE_SERVER2_THRIFT_HTTP_PATH>;
v = v.<org.apache.hadoop.hive.conf.HiveConf$ConfVars: java.lang.String varname>;
v = virtualinvoke v.<org.apache.hadoop.conf.Configuration: java.lang.String get(java.lang.String)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
goto label;
label:
v = <org.apache.hadoop.hive.conf.HiveConf$ConfVars: org.apache.hadoop.hive.conf.HiveConf$ConfVars HIVE_SERVER2_THRIFT_PORT>;
v = v.<org.apache.hadoop.hive.conf.HiveConf$ConfVars: java.lang.String varname>;
v = v.<org.apache.hive.service.server.HS2ActivePassiveHARegistry: org.apache.hadoop.conf.Configuration conf>;
v = <org.apache.hadoop.hive.conf.HiveConf$ConfVars: org.apache.hadoop.hive.conf.HiveConf$ConfVars HIVE_SERVER2_THRIFT_PORT>;
v = v.<org.apache.hadoop.hive.conf.HiveConf$ConfVars: java.lang.String varname>;
v = virtualinvoke v.<org.apache.hadoop.conf.Configuration: java.lang.String get(java.lang.String)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = <org.apache.hadoop.hive.conf.HiveConf$ConfVars: org.apache.hadoop.hive.conf.HiveConf$ConfVars HIVE_SERVER2_THRIFT_SASL_QOP>;
v = v.<org.apache.hadoop.hive.conf.HiveConf$ConfVars: java.lang.String varname>;
v = v.<org.apache.hive.service.server.HS2ActivePassiveHARegistry: org.apache.hadoop.conf.Configuration conf>;
v = <org.apache.hadoop.hive.conf.HiveConf$ConfVars: org.apache.hadoop.hive.conf.HiveConf$ConfVars HIVE_SERVER2_THRIFT_SASL_QOP>;
v = v.<org.apache.hadoop.hive.conf.HiveConf$ConfVars: java.lang.String varname>;
v = virtualinvoke v.<org.apache.hadoop.conf.Configuration: java.lang.String get(java.lang.String)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
label:
v = <org.apache.hadoop.hive.conf.HiveConf$ConfVars: org.apache.hadoop.hive.conf.HiveConf$ConfVars HIVE_SERVER2_AUTHENTICATION>;
v = v.<org.apache.hadoop.hive.conf.HiveConf$ConfVars: java.lang.String varname>;
v = v.<org.apache.hive.service.server.HS2ActivePassiveHARegistry: org.apache.hadoop.conf.Configuration conf>;
v = <org.apache.hadoop.hive.conf.HiveConf$ConfVars: org.apache.hadoop.hive.conf.HiveConf$ConfVars HIVE_SERVER2_AUTHENTICATION>;
v = v.<org.apache.hadoop.hive.conf.HiveConf$ConfVars: java.lang.String varname>;
v = virtualinvoke v.<org.apache.hadoop.conf.Configuration: java.lang.String get(java.lang.String)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = v.<org.apache.hive.service.server.HS2ActivePassiveHARegistry: org.apache.hadoop.conf.Configuration conf>;
v = staticinvoke <org.apache.hive.service.auth.AuthType: boolean isKerberosAuthMode(org.apache.hadoop.conf.Configuration)>(v);
if v == 0 goto label;
v = <org.apache.hadoop.hive.conf.HiveConf$ConfVars: org.apache.hadoop.hive.conf.HiveConf$ConfVars HIVE_SERVER2_KERBEROS_PRINCIPAL>;
v = v.<org.apache.hadoop.hive.conf.HiveConf$ConfVars: java.lang.String varname>;
v = v.<org.apache.hive.service.server.HS2ActivePassiveHARegistry: org.apache.hadoop.conf.Configuration conf>;
v = <org.apache.hadoop.hive.conf.HiveConf$ConfVars: org.apache.hadoop.hive.conf.HiveConf$ConfVars HIVE_SERVER2_KERBEROS_PRINCIPAL>;
v = v.<org.apache.hadoop.hive.conf.HiveConf$ConfVars: java.lang.String varname>;
v = virtualinvoke v.<org.apache.hadoop.conf.Configuration: java.lang.String get(java.lang.String)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
label:
v = <org.apache.hadoop.hive.conf.HiveConf$ConfVars: org.apache.hadoop.hive.conf.HiveConf$ConfVars HIVE_SERVER2_USE_SSL>;
v = v.<org.apache.hadoop.hive.conf.HiveConf$ConfVars: java.lang.String varname>;
v = v.<org.apache.hive.service.server.HS2ActivePassiveHARegistry: org.apache.hadoop.conf.Configuration conf>;
v = <org.apache.hadoop.hive.conf.HiveConf$ConfVars: org.apache.hadoop.hive.conf.HiveConf$ConfVars HIVE_SERVER2_USE_SSL>;
v = v.<org.apache.hadoop.hive.conf.HiveConf$ConfVars: java.lang.String varname>;
v = virtualinvoke v.<org.apache.hadoop.conf.Configuration: java.lang.String get(java.lang.String)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
return v;
}
private org.apache.hadoop.registry.client.types.ServiceRecord getNewServiceRecord()
{
java.util.Iterator v;
java.util.Set v;
org.apache.hadoop.registry.client.types.ServiceRecord v;
org.apache.hive.service.server.HS2ActivePassiveHARegistry v;
java.util.Map v;
java.lang.Object v, v, v;
boolean v;
v := @this: org.apache.hive.service.server.HS2ActivePassiveHARegistry;
v = new org.apache.hadoop.registry.client.types.ServiceRecord;
specialinvoke v.<org.apache.hadoop.registry.client.types.ServiceRecord: void <init>()>();
v = specialinvoke v.<org.apache.hive.service.server.HS2ActivePassiveHARegistry: java.util.Map getConfsToPublish()>();
v = interfaceinvoke v.<java.util.Map: java.util.Set entrySet()>();
v = interfaceinvoke v.<java.util.Set: 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 = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getKey()>();
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getValue()>();
virtualinvoke v.<org.apache.hadoop.registry.client.types.ServiceRecord: void set(java.lang.String,java.lang.Object)>(v, v);
goto label;
label:
return v;
}
static void <clinit>()
{
org.slf4j.Logger v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Lorg/apache/hive/service/server/HS2ActivePassiveHARegistry;");
<org.apache.hive.service.server.HS2ActivePassiveHARegistry: org.slf4j.Logger LOG> = v;
return;
}
}