public class org.apache.helix.rest.server.ServerContext extends java.lang.Object implements org.apache.helix.zookeeper.zkclient.IZkDataListener, org.apache.helix.zookeeper.zkclient.IZkChildListener, org.apache.helix.zookeeper.zkclient.IZkStateListener
{
private static final org.slf4j.Logger LOG;
private final java.lang.String _zkAddr;
private final java.lang.String _msdsEndpoint;
private final boolean _isMultiZkEnabled;
private volatile org.apache.helix.zookeeper.api.client.RealmAwareZkClient _zkClient;
private volatile org.apache.helix.zookeeper.api.client.RealmAwareZkClient _byteArrayZkClient;
private volatile org.apache.helix.manager.zk.ZKHelixAdmin _zkHelixAdmin;
private volatile org.apache.helix.tools.ClusterSetup _clusterSetup;
private volatile org.apache.helix.ConfigAccessor _configAccessor;
private volatile org.apache.helix.manager.zk.ZkBaseDataAccessor _byteArrayZkBaseDataAccessor;
private final java.util.Map _helixDataAccessorPool;
private final java.util.Map _taskDriverPool;
private volatile org.apache.helix.manager.zk.ZkBucketDataAccessor _zkBucketDataAccessor;
private final org.apache.helix.rest.metadatastore.ZkMetadataStoreDirectory _zkMetadataStoreDirectory;
private org.apache.helix.zookeeper.api.client.RealmAwareZkClient _zkClientForRoutingDataListener;
public void <init>(java.lang.String)
{
org.apache.helix.rest.server.ServerContext v;
java.lang.String v;
v := @this: org.apache.helix.rest.server.ServerContext;
v := @parameter: java.lang.String;
specialinvoke v.<org.apache.helix.rest.server.ServerContext: void <init>(java.lang.String,boolean,java.lang.String)>(v, 0, null);
return;
}
public void <init>(java.lang.String, boolean, java.lang.String)
{
java.util.concurrent.ConcurrentHashMap v, v;
org.apache.helix.rest.server.ServerContext v;
java.lang.String v, v;
org.apache.helix.rest.metadatastore.ZkMetadataStoreDirectory v;
boolean v;
v := @this: org.apache.helix.rest.server.ServerContext;
v := @parameter: java.lang.String;
v := @parameter: boolean;
v := @parameter: java.lang.String;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<org.apache.helix.rest.server.ServerContext: java.lang.String _zkAddr> = v;
v.<org.apache.helix.rest.server.ServerContext: boolean _isMultiZkEnabled> = v;
v.<org.apache.helix.rest.server.ServerContext: java.lang.String _msdsEndpoint> = v;
v = new java.util.concurrent.ConcurrentHashMap;
specialinvoke v.<java.util.concurrent.ConcurrentHashMap: void <init>()>();
v.<org.apache.helix.rest.server.ServerContext: java.util.Map _helixDataAccessorPool> = v;
v = new java.util.concurrent.ConcurrentHashMap;
specialinvoke v.<java.util.concurrent.ConcurrentHashMap: void <init>()>();
v.<org.apache.helix.rest.server.ServerContext: java.util.Map _taskDriverPool> = v;
v = staticinvoke <org.apache.helix.rest.metadatastore.ZkMetadataStoreDirectory: org.apache.helix.rest.metadatastore.ZkMetadataStoreDirectory getInstance()>();
v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.rest.metadatastore.ZkMetadataStoreDirectory _zkMetadataStoreDirectory> = v;
return;
}
public org.apache.helix.zookeeper.api.client.RealmAwareZkClient getRealmAwareZkClient()
{
java.lang.Throwable v;
org.apache.helix.zookeeper.api.client.RealmAwareZkClient v, v, v, v;
org.apache.helix.zookeeper.datamodel.serializer.ZNRecordSerializer v;
org.apache.helix.rest.server.ServerContext v;
v := @this: org.apache.helix.rest.server.ServerContext;
v = v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.zookeeper.api.client.RealmAwareZkClient _zkClient>;
if v != null goto label;
entermonitor v;
label:
v = v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.zookeeper.api.client.RealmAwareZkClient _zkClient>;
if v != null goto label;
v = new org.apache.helix.zookeeper.datamodel.serializer.ZNRecordSerializer;
specialinvoke v.<org.apache.helix.zookeeper.datamodel.serializer.ZNRecordSerializer: void <init>()>();
v = specialinvoke v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.zookeeper.api.client.RealmAwareZkClient createRealmAwareZkClient(org.apache.helix.zookeeper.zkclient.serialize.ZkSerializer)>(v);
v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.zookeeper.api.client.RealmAwareZkClient _zkClient> = v;
label:
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
v = v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.zookeeper.api.client.RealmAwareZkClient _zkClient>;
return v;
catch java.lang.Throwable from label to label with label;
}
public org.apache.helix.zookeeper.api.client.RealmAwareZkClient getByteArrayRealmAwareZkClient()
{
java.lang.Throwable v;
org.apache.helix.zookeeper.api.client.RealmAwareZkClient v, v, v, v;
org.apache.helix.zookeeper.datamodel.serializer.ByteArraySerializer v;
org.apache.helix.rest.server.ServerContext v;
v := @this: org.apache.helix.rest.server.ServerContext;
v = v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.zookeeper.api.client.RealmAwareZkClient _byteArrayZkClient>;
if v != null goto label;
entermonitor v;
label:
v = v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.zookeeper.api.client.RealmAwareZkClient _byteArrayZkClient>;
if v != null goto label;
v = new org.apache.helix.zookeeper.datamodel.serializer.ByteArraySerializer;
specialinvoke v.<org.apache.helix.zookeeper.datamodel.serializer.ByteArraySerializer: void <init>()>();
v = specialinvoke v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.zookeeper.api.client.RealmAwareZkClient createRealmAwareZkClient(org.apache.helix.zookeeper.zkclient.serialize.ZkSerializer)>(v);
v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.zookeeper.api.client.RealmAwareZkClient _byteArrayZkClient> = v;
label:
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
v = v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.zookeeper.api.client.RealmAwareZkClient _byteArrayZkClient>;
return v;
catch java.lang.Throwable from label to label with label;
}
private org.apache.helix.zookeeper.api.client.RealmAwareZkClient createRealmAwareZkClient(org.apache.helix.zookeeper.zkclient.serialize.ZkSerializer)
{
java.lang.Throwable v;
org.apache.helix.zookeeper.api.client.HelixZkClient$ZkClientConfig v;
org.apache.helix.zookeeper.api.client.RealmAwareZkClient$RealmAwareZkConnectionConfig v;
org.apache.helix.HelixException v;
org.apache.helix.zookeeper.zkclient.serialize.ZkSerializer v;
org.apache.helix.zookeeper.api.client.RealmAwareZkClient$RealmAwareZkConnectionConfig$Builder v, v;
org.apache.helix.zookeeper.impl.factory.SharedZkClientFactory v;
java.lang.String v, v, v, v, v, v;
boolean v, v, v;
org.apache.helix.zookeeper.impl.client.FederatedZkClient v;
org.slf4j.Logger v;
org.apache.helix.zookeeper.api.client.RealmAwareZkClient$RealmAwareZkClientConfig v, v;
org.apache.helix.zookeeper.constant.RoutingDataReaderType v;
org.apache.helix.rest.server.ServerContext v;
java.lang.Object v;
org.apache.helix.zookeeper.api.client.HelixZkClient$ZkConnectionConfig v;
v := @this: org.apache.helix.rest.server.ServerContext;
v := @parameter: org.apache.helix.zookeeper.zkclient.serialize.ZkSerializer;
v = v.<org.apache.helix.rest.server.ServerContext: boolean _isMultiZkEnabled>;
if v != 0 goto label;
v = staticinvoke <java.lang.System: java.lang.String getProperty(java.lang.String)>("helix.multiZkEnabled");
v = staticinvoke <java.lang.Boolean: boolean parseBoolean(java.lang.String)>(v);
if v == 0 goto label;
label:
specialinvoke v.<org.apache.helix.rest.server.ServerContext: void initializeZkClientForRoutingData()>();
v = new org.apache.helix.zookeeper.api.client.RealmAwareZkClient$RealmAwareZkConnectionConfig$Builder;
specialinvoke v.<org.apache.helix.zookeeper.api.client.RealmAwareZkClient$RealmAwareZkConnectionConfig$Builder: void <init>()>();
v = v.<org.apache.helix.rest.server.ServerContext: java.lang.String _msdsEndpoint>;
if v == null goto label;
v = v.<org.apache.helix.rest.server.ServerContext: java.lang.String _msdsEndpoint>;
v = virtualinvoke v.<java.lang.String: boolean isEmpty()>();
if v != 0 goto label;
v = v.<org.apache.helix.rest.server.ServerContext: java.lang.String _msdsEndpoint>;
v = virtualinvoke v.<org.apache.helix.zookeeper.api.client.RealmAwareZkClient$RealmAwareZkConnectionConfig$Builder: org.apache.helix.zookeeper.api.client.RealmAwareZkClient$RealmAwareZkConnectionConfig$Builder setRoutingDataSourceEndpoint(java.lang.String)>(v);
v = <org.apache.helix.zookeeper.constant.RoutingDataReaderType: org.apache.helix.zookeeper.constant.RoutingDataReaderType HTTP>;
v = virtualinvoke v.<org.apache.helix.zookeeper.constant.RoutingDataReaderType: java.lang.String name()>();
virtualinvoke v.<org.apache.helix.zookeeper.api.client.RealmAwareZkClient$RealmAwareZkConnectionConfig$Builder: org.apache.helix.zookeeper.api.client.RealmAwareZkClient$RealmAwareZkConnectionConfig$Builder setRoutingDataSourceType(java.lang.String)>(v);
label:
v = new org.apache.helix.zookeeper.impl.client.FederatedZkClient;
v = virtualinvoke v.<org.apache.helix.zookeeper.api.client.RealmAwareZkClient$RealmAwareZkConnectionConfig$Builder: org.apache.helix.zookeeper.api.client.RealmAwareZkClient$RealmAwareZkConnectionConfig build()>();
v = new org.apache.helix.zookeeper.api.client.RealmAwareZkClient$RealmAwareZkClientConfig;
specialinvoke v.<org.apache.helix.zookeeper.api.client.RealmAwareZkClient$RealmAwareZkClientConfig: void <init>()>();
v = virtualinvoke v.<org.apache.helix.zookeeper.api.client.RealmAwareZkClient$RealmAwareZkClientConfig: org.apache.helix.zookeeper.api.client.RealmAwareZkClient$RealmAwareZkClientConfig setZkSerializer(org.apache.helix.zookeeper.zkclient.serialize.ZkSerializer)>(v);
specialinvoke v.<org.apache.helix.zookeeper.impl.client.FederatedZkClient: void <init>(org.apache.helix.zookeeper.api.client.RealmAwareZkClient$RealmAwareZkConnectionConfig,org.apache.helix.zookeeper.api.client.RealmAwareZkClient$RealmAwareZkClientConfig)>(v, v);
v = v;
v = <org.apache.helix.rest.server.ServerContext: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String)>("ServerContext: FederatedZkClient created successfully!");
label:
goto label;
label:
v := @caughtexception;
v = new org.apache.helix.HelixException;
specialinvoke v.<org.apache.helix.HelixException: void <init>(java.lang.String,java.lang.Throwable)>("Failed to create FederatedZkClient!", v);
throw v;
label:
v = new org.apache.helix.zookeeper.api.client.HelixZkClient$ZkClientConfig;
specialinvoke v.<org.apache.helix.zookeeper.api.client.HelixZkClient$ZkClientConfig: void <init>()>();
virtualinvoke v.<org.apache.helix.zookeeper.api.client.HelixZkClient$ZkClientConfig: org.apache.helix.zookeeper.api.client.HelixZkClient$ZkClientConfig setZkSerializer(org.apache.helix.zookeeper.zkclient.serialize.ZkSerializer)>(v);
v = staticinvoke <org.apache.helix.zookeeper.impl.factory.SharedZkClientFactory: org.apache.helix.zookeeper.impl.factory.SharedZkClientFactory getInstance()>();
v = new org.apache.helix.zookeeper.api.client.HelixZkClient$ZkConnectionConfig;
v = v.<org.apache.helix.rest.server.ServerContext: java.lang.String _zkAddr>;
specialinvoke v.<org.apache.helix.zookeeper.api.client.HelixZkClient$ZkConnectionConfig: void <init>(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.helix.zookeeper.impl.factory.SharedZkClientFactory: org.apache.helix.zookeeper.api.client.HelixZkClient buildZkClient(org.apache.helix.zookeeper.api.client.HelixZkClient$ZkConnectionConfig,org.apache.helix.zookeeper.api.client.HelixZkClient$ZkClientConfig)>(v, v);
label:
return v;
catch org.apache.helix.msdcommon.exception.InvalidRoutingDataException from label to label with label;
catch java.lang.IllegalStateException from label to label with label;
}
private void initializeZkClientForRoutingData()
{
org.apache.helix.zookeeper.datamodel.serializer.ZNRecordSerializer v;
org.slf4j.Logger v;
org.apache.helix.zookeeper.api.client.HelixZkClient$ZkClientConfig v, v;
org.apache.helix.zookeeper.api.client.HelixZkClient v;
org.apache.helix.zookeeper.api.client.RealmAwareZkClient v, v, v;
org.apache.helix.rest.server.ServerContext v;
org.apache.helix.zookeeper.impl.factory.DedicatedZkClientFactory v;
java.lang.String v, v;
org.apache.helix.zookeeper.api.client.HelixZkClient$ZkConnectionConfig v;
v := @this: org.apache.helix.rest.server.ServerContext;
v = v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.zookeeper.api.client.RealmAwareZkClient _zkClientForRoutingDataListener>;
if v != null goto label;
v = staticinvoke <org.apache.helix.zookeeper.impl.factory.DedicatedZkClientFactory: org.apache.helix.zookeeper.impl.factory.DedicatedZkClientFactory getInstance()>();
v = new org.apache.helix.zookeeper.api.client.HelixZkClient$ZkConnectionConfig;
v = v.<org.apache.helix.rest.server.ServerContext: java.lang.String _zkAddr>;
specialinvoke v.<org.apache.helix.zookeeper.api.client.HelixZkClient$ZkConnectionConfig: void <init>(java.lang.String)>(v);
v = new org.apache.helix.zookeeper.api.client.HelixZkClient$ZkClientConfig;
specialinvoke v.<org.apache.helix.zookeeper.api.client.HelixZkClient$ZkClientConfig: void <init>()>();
v = new org.apache.helix.zookeeper.datamodel.serializer.ZNRecordSerializer;
specialinvoke v.<org.apache.helix.zookeeper.datamodel.serializer.ZNRecordSerializer: void <init>()>();
v = virtualinvoke v.<org.apache.helix.zookeeper.api.client.HelixZkClient$ZkClientConfig: org.apache.helix.zookeeper.api.client.HelixZkClient$ZkClientConfig setZkSerializer(org.apache.helix.zookeeper.zkclient.serialize.ZkSerializer)>(v);
v = virtualinvoke v.<org.apache.helix.zookeeper.impl.factory.DedicatedZkClientFactory: org.apache.helix.zookeeper.api.client.HelixZkClient buildZkClient(org.apache.helix.zookeeper.api.client.HelixZkClient$ZkConnectionConfig,org.apache.helix.zookeeper.api.client.HelixZkClient$ZkClientConfig)>(v, v);
v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.zookeeper.api.client.RealmAwareZkClient _zkClientForRoutingDataListener> = v;
label:
v = v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.zookeeper.api.client.RealmAwareZkClient _zkClientForRoutingDataListener>;
interfaceinvoke v.<org.apache.helix.zookeeper.api.client.RealmAwareZkClient: void unsubscribeAll()>();
v = v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.zookeeper.api.client.RealmAwareZkClient _zkClientForRoutingDataListener>;
interfaceinvoke v.<org.apache.helix.zookeeper.api.client.RealmAwareZkClient: void subscribeRoutingDataChanges(org.apache.helix.zookeeper.zkclient.IZkChildListener,org.apache.helix.zookeeper.zkclient.IZkDataListener)>(v, v);
v = <org.apache.helix.rest.server.ServerContext: org.slf4j.Logger LOG>;
v = v.<org.apache.helix.rest.server.ServerContext: java.lang.String _zkAddr>;
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object)>("ServerContext: subscribed to routing data in routing ZK at {}!", v);
return;
}
public org.apache.helix.zookeeper.impl.client.ZkClient getZkClient()
{
org.apache.helix.rest.server.ServerContext v;
org.apache.helix.zookeeper.api.client.RealmAwareZkClient v;
v := @this: org.apache.helix.rest.server.ServerContext;
v = virtualinvoke v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.zookeeper.api.client.RealmAwareZkClient getRealmAwareZkClient()>();
return v;
}
public org.apache.helix.HelixAdmin getHelixAdmin()
{
java.lang.Throwable v;
org.apache.helix.zookeeper.api.client.RealmAwareZkClient v;
org.apache.helix.manager.zk.ZKHelixAdmin v, v, v, v;
org.apache.helix.rest.server.ServerContext v;
v := @this: org.apache.helix.rest.server.ServerContext;
v = v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.manager.zk.ZKHelixAdmin _zkHelixAdmin>;
if v != null goto label;
entermonitor v;
label:
v = v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.manager.zk.ZKHelixAdmin _zkHelixAdmin>;
if v != null goto label;
v = new org.apache.helix.manager.zk.ZKHelixAdmin;
v = virtualinvoke v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.zookeeper.api.client.RealmAwareZkClient getRealmAwareZkClient()>();
specialinvoke v.<org.apache.helix.manager.zk.ZKHelixAdmin: void <init>(org.apache.helix.zookeeper.api.client.RealmAwareZkClient)>(v);
v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.manager.zk.ZKHelixAdmin _zkHelixAdmin> = v;
label:
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
v = v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.manager.zk.ZKHelixAdmin _zkHelixAdmin>;
return v;
catch java.lang.Throwable from label to label with label;
}
public org.apache.helix.tools.ClusterSetup getClusterSetup()
{
java.lang.Throwable v;
org.apache.helix.tools.ClusterSetup v, v, v, v;
org.apache.helix.zookeeper.api.client.RealmAwareZkClient v;
org.apache.helix.HelixAdmin v;
org.apache.helix.rest.server.ServerContext v;
v := @this: org.apache.helix.rest.server.ServerContext;
v = v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.tools.ClusterSetup _clusterSetup>;
if v != null goto label;
entermonitor v;
label:
v = v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.tools.ClusterSetup _clusterSetup>;
if v != null goto label;
v = new org.apache.helix.tools.ClusterSetup;
v = virtualinvoke v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.zookeeper.api.client.RealmAwareZkClient getRealmAwareZkClient()>();
v = virtualinvoke v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.HelixAdmin getHelixAdmin()>();
specialinvoke v.<org.apache.helix.tools.ClusterSetup: void <init>(org.apache.helix.zookeeper.api.client.RealmAwareZkClient,org.apache.helix.HelixAdmin)>(v, v);
v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.tools.ClusterSetup _clusterSetup> = v;
label:
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
v = v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.tools.ClusterSetup _clusterSetup>;
return v;
catch java.lang.Throwable from label to label with label;
}
public org.apache.helix.task.TaskDriver getTaskDriver(java.lang.String)
{
java.lang.Throwable v;
org.apache.helix.task.TaskDriver v;
org.apache.helix.zookeeper.api.client.RealmAwareZkClient v;
java.util.Map v, v, v, v;
org.apache.helix.rest.server.ServerContext v;
java.lang.Object v;
java.lang.String v;
boolean v;
v := @this: org.apache.helix.rest.server.ServerContext;
v := @parameter: java.lang.String;
v = v.<org.apache.helix.rest.server.ServerContext: java.util.Map _taskDriverPool>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
if v != null goto label;
entermonitor v;
label:
v = v.<org.apache.helix.rest.server.ServerContext: java.util.Map _taskDriverPool>;
v = interfaceinvoke v.<java.util.Map: boolean containsKey(java.lang.Object)>(v);
if v != 0 goto label;
v = v.<org.apache.helix.rest.server.ServerContext: java.util.Map _taskDriverPool>;
v = new org.apache.helix.task.TaskDriver;
v = virtualinvoke v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.zookeeper.api.client.RealmAwareZkClient getRealmAwareZkClient()>();
specialinvoke v.<org.apache.helix.task.TaskDriver: void <init>(org.apache.helix.zookeeper.api.client.RealmAwareZkClient,java.lang.String)>(v, v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
label:
v = v.<org.apache.helix.rest.server.ServerContext: java.util.Map _taskDriverPool>;
interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
return v;
catch java.lang.Throwable from label to label with label;
}
public org.apache.helix.ConfigAccessor getConfigAccessor()
{
java.lang.Throwable v;
org.apache.helix.ConfigAccessor v, v, v, v;
org.apache.helix.zookeeper.api.client.RealmAwareZkClient v;
org.apache.helix.rest.server.ServerContext v;
v := @this: org.apache.helix.rest.server.ServerContext;
v = v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.ConfigAccessor _configAccessor>;
if v != null goto label;
entermonitor v;
label:
v = v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.ConfigAccessor _configAccessor>;
if v != null goto label;
v = new org.apache.helix.ConfigAccessor;
v = virtualinvoke v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.zookeeper.api.client.RealmAwareZkClient getRealmAwareZkClient()>();
specialinvoke v.<org.apache.helix.ConfigAccessor: void <init>(org.apache.helix.zookeeper.api.client.RealmAwareZkClient)>(v);
v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.ConfigAccessor _configAccessor> = v;
label:
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
v = v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.ConfigAccessor _configAccessor>;
return v;
catch java.lang.Throwable from label to label with label;
}
public org.apache.helix.HelixDataAccessor getDataAccessor(java.lang.String)
{
java.lang.Throwable v;
org.apache.helix.manager.zk.ZKHelixDataAccessor v;
org.apache.helix.manager.zk.ZkBaseDataAccessor v;
org.apache.helix.zookeeper.api.client.RealmAwareZkClient v;
java.util.Map v, v, v, v;
org.apache.helix.rest.server.ServerContext v;
java.lang.Object v;
java.lang.String v;
boolean v;
v := @this: org.apache.helix.rest.server.ServerContext;
v := @parameter: java.lang.String;
v = v.<org.apache.helix.rest.server.ServerContext: java.util.Map _helixDataAccessorPool>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
if v != null goto label;
entermonitor v;
label:
v = v.<org.apache.helix.rest.server.ServerContext: java.util.Map _helixDataAccessorPool>;
v = interfaceinvoke v.<java.util.Map: boolean containsKey(java.lang.Object)>(v);
if v != 0 goto label;
v = new org.apache.helix.manager.zk.ZkBaseDataAccessor;
v = virtualinvoke v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.zookeeper.api.client.RealmAwareZkClient getRealmAwareZkClient()>();
specialinvoke v.<org.apache.helix.manager.zk.ZkBaseDataAccessor: void <init>(org.apache.helix.zookeeper.api.client.RealmAwareZkClient)>(v);
v = v.<org.apache.helix.rest.server.ServerContext: java.util.Map _helixDataAccessorPool>;
v = new org.apache.helix.manager.zk.ZKHelixDataAccessor;
specialinvoke v.<org.apache.helix.manager.zk.ZKHelixDataAccessor: void <init>(java.lang.String,org.apache.helix.BaseDataAccessor)>(v, v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
label:
v = v.<org.apache.helix.rest.server.ServerContext: java.util.Map _helixDataAccessorPool>;
interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
return v;
catch java.lang.Throwable from label to label with label;
}
public org.apache.helix.BaseDataAccessor getByteArrayZkBaseDataAccessor()
{
java.lang.Throwable v;
org.apache.helix.zookeeper.api.client.RealmAwareZkClient v;
org.apache.helix.rest.server.ServerContext v;
org.apache.helix.manager.zk.ZkBaseDataAccessor v, v, v, v;
v := @this: org.apache.helix.rest.server.ServerContext;
v = v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.manager.zk.ZkBaseDataAccessor _byteArrayZkBaseDataAccessor>;
if v != null goto label;
entermonitor v;
label:
v = v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.manager.zk.ZkBaseDataAccessor _byteArrayZkBaseDataAccessor>;
if v != null goto label;
v = new org.apache.helix.manager.zk.ZkBaseDataAccessor;
v = virtualinvoke v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.zookeeper.api.client.RealmAwareZkClient getByteArrayRealmAwareZkClient()>();
specialinvoke v.<org.apache.helix.manager.zk.ZkBaseDataAccessor: void <init>(org.apache.helix.zookeeper.api.client.RealmAwareZkClient)>(v);
v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.manager.zk.ZkBaseDataAccessor _byteArrayZkBaseDataAccessor> = v;
label:
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
v = v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.manager.zk.ZkBaseDataAccessor _byteArrayZkBaseDataAccessor>;
return v;
catch java.lang.Throwable from label to label with label;
}
public org.apache.helix.manager.zk.ZkBucketDataAccessor getZkBucketDataAccessor()
{
java.lang.Throwable v;
org.apache.helix.rest.server.ServerContext v;
java.lang.String v;
org.apache.helix.manager.zk.ZkBucketDataAccessor v, v, v, v;
v := @this: org.apache.helix.rest.server.ServerContext;
v = v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.manager.zk.ZkBucketDataAccessor _zkBucketDataAccessor>;
if v != null goto label;
entermonitor v;
label:
v = v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.manager.zk.ZkBucketDataAccessor _zkBucketDataAccessor>;
if v != null goto label;
v = new org.apache.helix.manager.zk.ZkBucketDataAccessor;
v = v.<org.apache.helix.rest.server.ServerContext: java.lang.String _zkAddr>;
specialinvoke v.<org.apache.helix.manager.zk.ZkBucketDataAccessor: void <init>(java.lang.String)>(v);
v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.manager.zk.ZkBucketDataAccessor _zkBucketDataAccessor> = v;
label:
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
v = v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.manager.zk.ZkBucketDataAccessor _zkBucketDataAccessor>;
return v;
catch java.lang.Throwable from label to label with label;
}
public void close()
{
org.apache.helix.zookeeper.api.client.RealmAwareZkClient v, v, v, v;
org.apache.helix.rest.server.ServerContext v;
org.apache.helix.rest.metadatastore.ZkMetadataStoreDirectory v, v;
v := @this: org.apache.helix.rest.server.ServerContext;
v = v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.zookeeper.api.client.RealmAwareZkClient _zkClient>;
if v == null goto label;
v = v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.zookeeper.api.client.RealmAwareZkClient _zkClient>;
interfaceinvoke v.<org.apache.helix.zookeeper.api.client.RealmAwareZkClient: void close()>();
label:
v = v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.rest.metadatastore.ZkMetadataStoreDirectory _zkMetadataStoreDirectory>;
if v == null goto label;
v = v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.rest.metadatastore.ZkMetadataStoreDirectory _zkMetadataStoreDirectory>;
virtualinvoke v.<org.apache.helix.rest.metadatastore.ZkMetadataStoreDirectory: void close()>();
label:
v = v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.zookeeper.api.client.RealmAwareZkClient _zkClientForRoutingDataListener>;
if v == null goto label;
v = v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.zookeeper.api.client.RealmAwareZkClient _zkClientForRoutingDataListener>;
interfaceinvoke v.<org.apache.helix.zookeeper.api.client.RealmAwareZkClient: void close()>();
label:
return;
}
public void handleChildChange(java.lang.String, java.util.List)
{
org.apache.helix.zookeeper.api.client.RealmAwareZkClient v, v, v, v;
java.util.List v;
org.apache.helix.rest.server.ServerContext v;
java.lang.String v;
boolean v;
v := @this: org.apache.helix.rest.server.ServerContext;
v := @parameter: java.lang.String;
v := @parameter: java.util.List;
v = v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.zookeeper.api.client.RealmAwareZkClient _zkClientForRoutingDataListener>;
if v == null goto label;
v = v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.zookeeper.api.client.RealmAwareZkClient _zkClientForRoutingDataListener>;
v = interfaceinvoke v.<org.apache.helix.zookeeper.api.client.RealmAwareZkClient: boolean isClosed()>();
if v == 0 goto label;
label:
return;
label:
v = v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.zookeeper.api.client.RealmAwareZkClient _zkClientForRoutingDataListener>;
interfaceinvoke v.<org.apache.helix.zookeeper.api.client.RealmAwareZkClient: void unsubscribeAll()>();
v = v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.zookeeper.api.client.RealmAwareZkClient _zkClientForRoutingDataListener>;
interfaceinvoke v.<org.apache.helix.zookeeper.api.client.RealmAwareZkClient: void subscribeRoutingDataChanges(org.apache.helix.zookeeper.zkclient.IZkChildListener,org.apache.helix.zookeeper.zkclient.IZkDataListener)>(v, v);
specialinvoke v.<org.apache.helix.rest.server.ServerContext: void resetZkResources()>();
return;
}
public void handleDataChange(java.lang.String, java.lang.Object)
{
org.apache.helix.zookeeper.api.client.RealmAwareZkClient v, v;
org.apache.helix.rest.server.ServerContext v;
java.lang.Object v;
java.lang.String v;
boolean v;
v := @this: org.apache.helix.rest.server.ServerContext;
v := @parameter: java.lang.String;
v := @parameter: java.lang.Object;
v = v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.zookeeper.api.client.RealmAwareZkClient _zkClientForRoutingDataListener>;
if v == null goto label;
v = v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.zookeeper.api.client.RealmAwareZkClient _zkClientForRoutingDataListener>;
v = interfaceinvoke v.<org.apache.helix.zookeeper.api.client.RealmAwareZkClient: boolean isClosed()>();
if v == 0 goto label;
label:
return;
label:
specialinvoke v.<org.apache.helix.rest.server.ServerContext: void resetZkResources()>();
return;
}
public void handleDataDeleted(java.lang.String)
{
org.apache.helix.zookeeper.api.client.RealmAwareZkClient v, v, v, v;
org.apache.helix.rest.server.ServerContext v;
java.lang.String v;
boolean v;
v := @this: org.apache.helix.rest.server.ServerContext;
v := @parameter: java.lang.String;
v = v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.zookeeper.api.client.RealmAwareZkClient _zkClientForRoutingDataListener>;
if v == null goto label;
v = v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.zookeeper.api.client.RealmAwareZkClient _zkClientForRoutingDataListener>;
v = interfaceinvoke v.<org.apache.helix.zookeeper.api.client.RealmAwareZkClient: boolean isClosed()>();
if v == 0 goto label;
label:
return;
label:
v = v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.zookeeper.api.client.RealmAwareZkClient _zkClientForRoutingDataListener>;
interfaceinvoke v.<org.apache.helix.zookeeper.api.client.RealmAwareZkClient: void unsubscribeAll()>();
v = v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.zookeeper.api.client.RealmAwareZkClient _zkClientForRoutingDataListener>;
interfaceinvoke v.<org.apache.helix.zookeeper.api.client.RealmAwareZkClient: void subscribeRoutingDataChanges(org.apache.helix.zookeeper.zkclient.IZkChildListener,org.apache.helix.zookeeper.zkclient.IZkDataListener)>(v, v);
specialinvoke v.<org.apache.helix.rest.server.ServerContext: void resetZkResources()>();
return;
}
public void handleStateChanged(org.apache.zookeeper.Watcher$Event$KeeperState)
{
org.apache.zookeeper.Watcher$Event$KeeperState v;
org.apache.helix.zookeeper.api.client.RealmAwareZkClient v, v, v, v;
org.apache.helix.rest.server.ServerContext v;
boolean v;
v := @this: org.apache.helix.rest.server.ServerContext;
v := @parameter: org.apache.zookeeper.Watcher$Event$KeeperState;
v = v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.zookeeper.api.client.RealmAwareZkClient _zkClientForRoutingDataListener>;
if v == null goto label;
v = v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.zookeeper.api.client.RealmAwareZkClient _zkClientForRoutingDataListener>;
v = interfaceinvoke v.<org.apache.helix.zookeeper.api.client.RealmAwareZkClient: boolean isClosed()>();
if v == 0 goto label;
label:
return;
label:
v = v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.zookeeper.api.client.RealmAwareZkClient _zkClientForRoutingDataListener>;
interfaceinvoke v.<org.apache.helix.zookeeper.api.client.RealmAwareZkClient: void unsubscribeAll()>();
v = v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.zookeeper.api.client.RealmAwareZkClient _zkClientForRoutingDataListener>;
interfaceinvoke v.<org.apache.helix.zookeeper.api.client.RealmAwareZkClient: void subscribeRoutingDataChanges(org.apache.helix.zookeeper.zkclient.IZkChildListener,org.apache.helix.zookeeper.zkclient.IZkDataListener)>(v, v);
specialinvoke v.<org.apache.helix.rest.server.ServerContext: void resetZkResources()>();
return;
}
public void handleNewSession(java.lang.String)
{
org.apache.helix.zookeeper.api.client.RealmAwareZkClient v, v, v, v;
org.apache.helix.rest.server.ServerContext v;
java.lang.String v;
boolean v;
v := @this: org.apache.helix.rest.server.ServerContext;
v := @parameter: java.lang.String;
v = v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.zookeeper.api.client.RealmAwareZkClient _zkClientForRoutingDataListener>;
if v == null goto label;
v = v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.zookeeper.api.client.RealmAwareZkClient _zkClientForRoutingDataListener>;
v = interfaceinvoke v.<org.apache.helix.zookeeper.api.client.RealmAwareZkClient: boolean isClosed()>();
if v == 0 goto label;
label:
return;
label:
v = v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.zookeeper.api.client.RealmAwareZkClient _zkClientForRoutingDataListener>;
interfaceinvoke v.<org.apache.helix.zookeeper.api.client.RealmAwareZkClient: void unsubscribeAll()>();
v = v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.zookeeper.api.client.RealmAwareZkClient _zkClientForRoutingDataListener>;
interfaceinvoke v.<org.apache.helix.zookeeper.api.client.RealmAwareZkClient: void subscribeRoutingDataChanges(org.apache.helix.zookeeper.zkclient.IZkChildListener,org.apache.helix.zookeeper.zkclient.IZkDataListener)>(v, v);
specialinvoke v.<org.apache.helix.rest.server.ServerContext: void resetZkResources()>();
return;
}
public void handleSessionEstablishmentError(java.lang.Throwable)
{
java.lang.Throwable v;
org.apache.helix.zookeeper.api.client.RealmAwareZkClient v, v, v, v;
org.apache.helix.rest.server.ServerContext v;
boolean v;
v := @this: org.apache.helix.rest.server.ServerContext;
v := @parameter: java.lang.Throwable;
v = v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.zookeeper.api.client.RealmAwareZkClient _zkClientForRoutingDataListener>;
if v == null goto label;
v = v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.zookeeper.api.client.RealmAwareZkClient _zkClientForRoutingDataListener>;
v = interfaceinvoke v.<org.apache.helix.zookeeper.api.client.RealmAwareZkClient: boolean isClosed()>();
if v == 0 goto label;
label:
return;
label:
v = v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.zookeeper.api.client.RealmAwareZkClient _zkClientForRoutingDataListener>;
interfaceinvoke v.<org.apache.helix.zookeeper.api.client.RealmAwareZkClient: void unsubscribeAll()>();
v = v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.zookeeper.api.client.RealmAwareZkClient _zkClientForRoutingDataListener>;
interfaceinvoke v.<org.apache.helix.zookeeper.api.client.RealmAwareZkClient: void subscribeRoutingDataChanges(org.apache.helix.zookeeper.zkclient.IZkChildListener,org.apache.helix.zookeeper.zkclient.IZkDataListener)>(v, v);
specialinvoke v.<org.apache.helix.rest.server.ServerContext: void resetZkResources()>();
return;
}
private void resetZkResources()
{
java.lang.Throwable v;
org.apache.helix.zookeeper.api.client.RealmAwareZkClient v, v, v, v, v, v;
java.util.Map v, v;
java.lang.String v;
boolean v, v;
org.apache.helix.zookeeper.routing.RoutingDataManager v;
org.slf4j.Logger v, v;
org.apache.helix.manager.zk.ZkBaseDataAccessor v, v;
org.apache.helix.manager.zk.ZkBucketDataAccessor v, v;
org.apache.helix.tools.ClusterSetup v, v;
java.lang.Exception v;
org.apache.helix.ConfigAccessor v, v;
org.apache.helix.manager.zk.ZKHelixAdmin v, v;
org.apache.helix.rest.server.ServerContext v;
v := @this: org.apache.helix.rest.server.ServerContext;
entermonitor v;
label:
v = <org.apache.helix.rest.server.ServerContext: org.slf4j.Logger LOG>;
v = v.<org.apache.helix.rest.server.ServerContext: java.lang.String _zkAddr>;
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object)>("ServerContext: Resetting ZK resources due to routing data change! Routing ZK: {}", v);
label:
v = staticinvoke <org.apache.helix.zookeeper.routing.RoutingDataManager: org.apache.helix.zookeeper.routing.RoutingDataManager getInstance()>();
virtualinvoke v.<org.apache.helix.zookeeper.routing.RoutingDataManager: void reset()>();
v = v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.zookeeper.api.client.RealmAwareZkClient _zkClient>;
if v == null goto label;
v = v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.zookeeper.api.client.RealmAwareZkClient _zkClient>;
v = interfaceinvoke v.<org.apache.helix.zookeeper.api.client.RealmAwareZkClient: boolean isClosed()>();
if v != 0 goto label;
v = v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.zookeeper.api.client.RealmAwareZkClient _zkClient>;
interfaceinvoke v.<org.apache.helix.zookeeper.api.client.RealmAwareZkClient: void close()>();
label:
v = v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.zookeeper.api.client.RealmAwareZkClient _byteArrayZkClient>;
if v == null goto label;
v = v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.zookeeper.api.client.RealmAwareZkClient _byteArrayZkClient>;
v = interfaceinvoke v.<org.apache.helix.zookeeper.api.client.RealmAwareZkClient: boolean isClosed()>();
if v != 0 goto label;
v = v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.zookeeper.api.client.RealmAwareZkClient _byteArrayZkClient>;
interfaceinvoke v.<org.apache.helix.zookeeper.api.client.RealmAwareZkClient: void close()>();
label:
v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.zookeeper.api.client.RealmAwareZkClient _zkClient> = null;
v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.zookeeper.api.client.RealmAwareZkClient _byteArrayZkClient> = null;
v = v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.manager.zk.ZKHelixAdmin _zkHelixAdmin>;
if v == null goto label;
v = v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.manager.zk.ZKHelixAdmin _zkHelixAdmin>;
virtualinvoke v.<org.apache.helix.manager.zk.ZKHelixAdmin: void close()>();
v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.manager.zk.ZKHelixAdmin _zkHelixAdmin> = null;
label:
v = v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.tools.ClusterSetup _clusterSetup>;
if v == null goto label;
v = v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.tools.ClusterSetup _clusterSetup>;
virtualinvoke v.<org.apache.helix.tools.ClusterSetup: void close()>();
v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.tools.ClusterSetup _clusterSetup> = null;
label:
v = v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.ConfigAccessor _configAccessor>;
if v == null goto label;
v = v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.ConfigAccessor _configAccessor>;
virtualinvoke v.<org.apache.helix.ConfigAccessor: void close()>();
v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.ConfigAccessor _configAccessor> = null;
label:
v = v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.manager.zk.ZkBaseDataAccessor _byteArrayZkBaseDataAccessor>;
if v == null goto label;
v = v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.manager.zk.ZkBaseDataAccessor _byteArrayZkBaseDataAccessor>;
virtualinvoke v.<org.apache.helix.manager.zk.ZkBaseDataAccessor: void close()>();
v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.manager.zk.ZkBaseDataAccessor _byteArrayZkBaseDataAccessor> = null;
label:
v = v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.manager.zk.ZkBucketDataAccessor _zkBucketDataAccessor>;
if v == null goto label;
v = v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.manager.zk.ZkBucketDataAccessor _zkBucketDataAccessor>;
virtualinvoke v.<org.apache.helix.manager.zk.ZkBucketDataAccessor: void close()>();
v.<org.apache.helix.rest.server.ServerContext: org.apache.helix.manager.zk.ZkBucketDataAccessor _zkBucketDataAccessor> = null;
label:
v = v.<org.apache.helix.rest.server.ServerContext: java.util.Map _helixDataAccessorPool>;
interfaceinvoke v.<java.util.Map: void clear()>();
v = v.<org.apache.helix.rest.server.ServerContext: java.util.Map _taskDriverPool>;
interfaceinvoke v.<java.util.Map: void clear()>();
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.helix.rest.server.ServerContext: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Throwable)>("Failed to reset ZkClient and Helix APIs in ServerContext!", v);
label:
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
return;
catch java.lang.Exception from label to label with label;
catch java.lang.Throwable 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/helix/rest/server/ServerContext;");
<org.apache.helix.rest.server.ServerContext: org.slf4j.Logger LOG> = v;
return;
}
}