public class org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter extends java.lang.Object implements org.apache.helix.rest.metadatastore.accessor.MetadataStoreRoutingDataWriter
{
private static final int HTTP_REQUEST_FORWARDING_TIMEOUT;
private static final org.slf4j.Logger LOG;
private static final com.fasterxml.jackson.databind.ObjectMapper OBJECT_MAPPER;
private static final java.lang.String SIMPLE_FIELD_KEY_HOSTNAME;
private static final java.lang.String SIMPLE_FIELD_KEY_PORT;
private static final java.lang.String SIMPLE_FIELD_KEY_CONTEXT_URL_PREFIX;
private final java.lang.String _namespace;
private final org.apache.helix.zookeeper.api.client.HelixZkClient _zkClient;
private final org.apache.helix.rest.metadatastore.concurrency.ZkDistributedLeaderElection _leaderElection;
private final org.apache.http.impl.client.CloseableHttpClient _forwardHttpClient;
private final java.lang.String _myHostName;
public void <init>(java.lang.String, java.lang.String)
{
java.lang.IllegalStateException v;
org.apache.helix.zookeeper.api.client.HelixZkClient$ZkClientConfig v, v;
org.apache.http.client.config.RequestConfig v;
boolean v, v, v, v, v;
org.apache.helix.zookeeper.datamodel.serializer.ZNRecordSerializer v;
org.apache.helix.zookeeper.datamodel.ZNRecord v;
org.apache.helix.zookeeper.impl.factory.DedicatedZkClientFactory v;
org.apache.http.client.config.RequestConfig$Builder v, v, v, v;
org.apache.helix.zookeeper.api.client.HelixZkClient v, v, v;
int v, v, v;
java.lang.String v, v, v, v, v, v;
org.apache.http.impl.client.CloseableHttpClient v;
org.slf4j.Logger v;
org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter v;
org.apache.helix.rest.metadatastore.concurrency.ZkDistributedLeaderElection v;
java.lang.IllegalArgumentException v, v;
org.apache.helix.zookeeper.api.client.HelixZkClient$ZkConnectionConfig v;
org.apache.http.impl.client.HttpClientBuilder v, v;
v := @this: org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
specialinvoke v.<java.lang.Object: void <init>()>();
if v == null goto label;
v = virtualinvoke v.<java.lang.String: boolean isEmpty()>();
if v == 0 goto label;
label:
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("namespace cannot be null or empty!");
throw v;
label:
v.<org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter: java.lang.String _namespace> = v;
if v == null goto label;
v = virtualinvoke v.<java.lang.String: boolean isEmpty()>();
if v == 0 goto label;
label:
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("Zk address cannot be null or empty!");
throw v;
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;
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.metadatastore.accessor.ZkRoutingDataWriter: org.apache.helix.zookeeper.api.client.HelixZkClient _zkClient> = v;
v = v.<org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter: org.apache.helix.zookeeper.api.client.HelixZkClient _zkClient>;
staticinvoke <org.apache.helix.rest.metadatastore.ZkMetadataStoreDirectory: void createRoutingDataPath(org.apache.helix.zookeeper.api.client.HelixZkClient,java.lang.String)>(v, v);
v = staticinvoke <java.lang.System: java.lang.String getProperty(java.lang.String)>("msds_hostname");
if v == null goto label;
v = virtualinvoke v.<java.lang.String: boolean isEmpty()>();
if v == 0 goto label;
label:
v = <org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String)>("ZkRoutingDataWriter: Hostname is not set or is empty. System.getProperty fails to fetch msds_hostname");
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("ZkRoutingDataWriter: Hostname is not set or is empty. System.getProperty fails to fetch msds_hostname");
throw v;
label:
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("http://\u0001");
v.<org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter: java.lang.String _myHostName> = v;
v = new org.apache.helix.zookeeper.datamodel.ZNRecord;
specialinvoke v.<org.apache.helix.zookeeper.datamodel.ZNRecord: void <init>(java.lang.String)>(v);
virtualinvoke v.<org.apache.helix.zookeeper.datamodel.ZNRecord: void setSimpleField(java.lang.String,java.lang.String)>("hostname", v);
v = staticinvoke <java.lang.System: java.lang.String getProperty(java.lang.String)>("msds_port");
if v == null goto label;
v = virtualinvoke v.<java.lang.String: boolean isEmpty()>();
if v != 0 goto label;
virtualinvoke v.<org.apache.helix.zookeeper.datamodel.ZNRecord: void setSimpleField(java.lang.String,java.lang.String)>("port", v);
label:
v = staticinvoke <java.lang.System: java.lang.String getProperty(java.lang.String)>("msds_context_url_prefix");
if v == null goto label;
v = virtualinvoke v.<java.lang.String: boolean isEmpty()>();
if v != 0 goto label;
virtualinvoke v.<org.apache.helix.zookeeper.datamodel.ZNRecord: void setSimpleField(java.lang.String,java.lang.String)>("contextUrlPrefix", v);
label:
v = new org.apache.helix.rest.metadatastore.concurrency.ZkDistributedLeaderElection;
v = v.<org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter: org.apache.helix.zookeeper.api.client.HelixZkClient _zkClient>;
specialinvoke v.<org.apache.helix.rest.metadatastore.concurrency.ZkDistributedLeaderElection: void <init>(org.apache.helix.zookeeper.api.client.HelixZkClient,java.lang.String,org.apache.helix.zookeeper.datamodel.ZNRecord)>(v, "/_ZK_ROUTING_DATA_WRITER_LEADER", v);
v.<org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter: org.apache.helix.rest.metadatastore.concurrency.ZkDistributedLeaderElection _leaderElection> = v;
v = staticinvoke <org.apache.http.client.config.RequestConfig: org.apache.http.client.config.RequestConfig$Builder custom()>();
v = (int) 60000;
v = virtualinvoke v.<org.apache.http.client.config.RequestConfig$Builder: org.apache.http.client.config.RequestConfig$Builder setConnectTimeout(int)>(v);
v = (int) 60000;
v = virtualinvoke v.<org.apache.http.client.config.RequestConfig$Builder: org.apache.http.client.config.RequestConfig$Builder setConnectionRequestTimeout(int)>(v);
v = (int) 60000;
v = virtualinvoke v.<org.apache.http.client.config.RequestConfig$Builder: org.apache.http.client.config.RequestConfig$Builder setSocketTimeout(int)>(v);
v = virtualinvoke v.<org.apache.http.client.config.RequestConfig$Builder: org.apache.http.client.config.RequestConfig build()>();
v = staticinvoke <org.apache.http.impl.client.HttpClientBuilder: org.apache.http.impl.client.HttpClientBuilder create()>();
v = virtualinvoke v.<org.apache.http.impl.client.HttpClientBuilder: org.apache.http.impl.client.HttpClientBuilder setDefaultRequestConfig(org.apache.http.client.config.RequestConfig)>(v);
v = virtualinvoke v.<org.apache.http.impl.client.HttpClientBuilder: org.apache.http.impl.client.CloseableHttpClient build()>();
v.<org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter: org.apache.http.impl.client.CloseableHttpClient _forwardHttpClient> = v;
return;
}
public static java.lang.String buildEndpointFromLeaderElectionNode(org.apache.helix.zookeeper.datamodel.ZNRecord)
{
java.util.ArrayList v;
org.apache.helix.zookeeper.datamodel.ZNRecord v;
java.util.List v;
java.lang.String v, v, v, v;
boolean v, v;
v := @parameter: org.apache.helix.zookeeper.datamodel.ZNRecord;
v = new java.util.ArrayList;
v = staticinvoke <java.util.Collections: java.util.List singletonList(java.lang.Object)>("http://");
specialinvoke v.<java.util.ArrayList: void <init>(java.util.Collection)>(v);
v = virtualinvoke v.<org.apache.helix.zookeeper.datamodel.ZNRecord: java.lang.String getSimpleField(java.lang.String)>("hostname");
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = virtualinvoke v.<org.apache.helix.zookeeper.datamodel.ZNRecord: java.lang.String getSimpleField(java.lang.String)>("port");
if v == null goto label;
v = virtualinvoke v.<java.lang.String: boolean isEmpty()>();
if v != 0 goto label;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(":");
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
label:
v = virtualinvoke v.<org.apache.helix.zookeeper.datamodel.ZNRecord: java.lang.String getSimpleField(java.lang.String)>("contextUrlPrefix");
if v == null goto label;
v = virtualinvoke v.<java.lang.String: boolean isEmpty()>();
if v != 0 goto label;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
label:
v = staticinvoke <java.lang.String: java.lang.String join(java.lang.CharSequence,java.lang.Iterable)>("", v);
return v;
}
public synchronized boolean addMetadataStoreRealm(java.lang.String)
{
java.lang.IllegalStateException v;
org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter v;
org.apache.helix.rest.metadatastore.concurrency.ZkDistributedLeaderElection v;
java.lang.String[] v;
org.apache.helix.zookeeper.api.client.HelixZkClient v;
org.apache.helix.rest.common.HttpConstants$RestVerbs v;
int v;
javax.ws.rs.core.Response$Status v;
java.lang.String v, v;
boolean v, v, v, v;
v := @this: org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter;
v := @parameter: java.lang.String;
v = v.<org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter: org.apache.helix.rest.metadatastore.concurrency.ZkDistributedLeaderElection _leaderElection>;
v = virtualinvoke v.<org.apache.helix.rest.metadatastore.concurrency.ZkDistributedLeaderElection: boolean isLeader()>();
if v == 0 goto label;
v = v.<org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter: org.apache.helix.zookeeper.api.client.HelixZkClient _zkClient>;
v = interfaceinvoke v.<org.apache.helix.zookeeper.api.client.HelixZkClient: boolean isClosed()>();
if v == 0 goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("ZkClient is closed!");
throw v;
label:
v = virtualinvoke v.<org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter: boolean createZkRealm(java.lang.String)>(v);
return v;
label:
v = newarray (java.lang.String)[2];
v[0] = "/metadata-store-realms";
v[1] = v;
v = specialinvoke v.<org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter: java.lang.String constructUrlSuffix(java.lang.String[])>(v);
v = <org.apache.helix.rest.common.HttpConstants$RestVerbs: org.apache.helix.rest.common.HttpConstants$RestVerbs PUT>;
v = <javax.ws.rs.core.Response$Status: javax.ws.rs.core.Response$Status CREATED>;
v = virtualinvoke v.<javax.ws.rs.core.Response$Status: int getStatusCode()>();
v = specialinvoke v.<org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter: boolean buildAndSendRequestToLeader(java.lang.String,org.apache.helix.rest.common.HttpConstants$RestVerbs,int)>(v, v, v);
return v;
}
public synchronized boolean deleteMetadataStoreRealm(java.lang.String)
{
java.lang.IllegalStateException v;
org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter v;
org.apache.helix.rest.metadatastore.concurrency.ZkDistributedLeaderElection v;
java.lang.String[] v;
org.apache.helix.zookeeper.api.client.HelixZkClient v;
org.apache.helix.rest.common.HttpConstants$RestVerbs v;
int v;
javax.ws.rs.core.Response$Status v;
java.lang.String v, v;
boolean v, v, v, v;
v := @this: org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter;
v := @parameter: java.lang.String;
v = v.<org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter: org.apache.helix.rest.metadatastore.concurrency.ZkDistributedLeaderElection _leaderElection>;
v = virtualinvoke v.<org.apache.helix.rest.metadatastore.concurrency.ZkDistributedLeaderElection: boolean isLeader()>();
if v == 0 goto label;
v = v.<org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter: org.apache.helix.zookeeper.api.client.HelixZkClient _zkClient>;
v = interfaceinvoke v.<org.apache.helix.zookeeper.api.client.HelixZkClient: boolean isClosed()>();
if v == 0 goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("ZkClient is closed!");
throw v;
label:
v = virtualinvoke v.<org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter: boolean deleteZkRealm(java.lang.String)>(v);
return v;
label:
v = newarray (java.lang.String)[2];
v[0] = "/metadata-store-realms";
v[1] = v;
v = specialinvoke v.<org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter: java.lang.String constructUrlSuffix(java.lang.String[])>(v);
v = <org.apache.helix.rest.common.HttpConstants$RestVerbs: org.apache.helix.rest.common.HttpConstants$RestVerbs DELETE>;
v = <javax.ws.rs.core.Response$Status: javax.ws.rs.core.Response$Status OK>;
v = virtualinvoke v.<javax.ws.rs.core.Response$Status: int getStatusCode()>();
v = specialinvoke v.<org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter: boolean buildAndSendRequestToLeader(java.lang.String,org.apache.helix.rest.common.HttpConstants$RestVerbs,int)>(v, v, v);
return v;
}
public synchronized boolean addShardingKey(java.lang.String, java.lang.String)
{
java.lang.IllegalStateException v;
org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter v;
org.apache.helix.rest.metadatastore.concurrency.ZkDistributedLeaderElection v;
java.lang.String[] v;
org.apache.helix.zookeeper.api.client.HelixZkClient v;
org.apache.helix.rest.common.HttpConstants$RestVerbs v;
int v;
javax.ws.rs.core.Response$Status v;
java.lang.String v, v, v;
boolean v, v, v, v;
v := @this: org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = v.<org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter: org.apache.helix.rest.metadatastore.concurrency.ZkDistributedLeaderElection _leaderElection>;
v = virtualinvoke v.<org.apache.helix.rest.metadatastore.concurrency.ZkDistributedLeaderElection: boolean isLeader()>();
if v == 0 goto label;
v = v.<org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter: org.apache.helix.zookeeper.api.client.HelixZkClient _zkClient>;
v = interfaceinvoke v.<org.apache.helix.zookeeper.api.client.HelixZkClient: boolean isClosed()>();
if v == 0 goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("ZkClient is closed!");
throw v;
label:
v = virtualinvoke v.<org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter: boolean createZkShardingKey(java.lang.String,java.lang.String)>(v, v);
return v;
label:
v = newarray (java.lang.String)[4];
v[0] = "/metadata-store-realms";
v[1] = v;
v[2] = "/sharding-keys";
v[3] = v;
v = specialinvoke v.<org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter: java.lang.String constructUrlSuffix(java.lang.String[])>(v);
v = <org.apache.helix.rest.common.HttpConstants$RestVerbs: org.apache.helix.rest.common.HttpConstants$RestVerbs PUT>;
v = <javax.ws.rs.core.Response$Status: javax.ws.rs.core.Response$Status CREATED>;
v = virtualinvoke v.<javax.ws.rs.core.Response$Status: int getStatusCode()>();
v = specialinvoke v.<org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter: boolean buildAndSendRequestToLeader(java.lang.String,org.apache.helix.rest.common.HttpConstants$RestVerbs,int)>(v, v, v);
return v;
}
public synchronized boolean deleteShardingKey(java.lang.String, java.lang.String)
{
java.lang.IllegalStateException v;
org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter v;
org.apache.helix.rest.metadatastore.concurrency.ZkDistributedLeaderElection v;
java.lang.String[] v;
org.apache.helix.zookeeper.api.client.HelixZkClient v;
org.apache.helix.rest.common.HttpConstants$RestVerbs v;
int v;
javax.ws.rs.core.Response$Status v;
java.lang.String v, v, v;
boolean v, v, v, v;
v := @this: org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = v.<org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter: org.apache.helix.rest.metadatastore.concurrency.ZkDistributedLeaderElection _leaderElection>;
v = virtualinvoke v.<org.apache.helix.rest.metadatastore.concurrency.ZkDistributedLeaderElection: boolean isLeader()>();
if v == 0 goto label;
v = v.<org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter: org.apache.helix.zookeeper.api.client.HelixZkClient _zkClient>;
v = interfaceinvoke v.<org.apache.helix.zookeeper.api.client.HelixZkClient: boolean isClosed()>();
if v == 0 goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("ZkClient is closed!");
throw v;
label:
v = virtualinvoke v.<org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter: boolean deleteZkShardingKey(java.lang.String,java.lang.String)>(v, v);
return v;
label:
v = newarray (java.lang.String)[4];
v[0] = "/metadata-store-realms";
v[1] = v;
v[2] = "/sharding-keys";
v[3] = v;
v = specialinvoke v.<org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter: java.lang.String constructUrlSuffix(java.lang.String[])>(v);
v = <org.apache.helix.rest.common.HttpConstants$RestVerbs: org.apache.helix.rest.common.HttpConstants$RestVerbs DELETE>;
v = <javax.ws.rs.core.Response$Status: javax.ws.rs.core.Response$Status OK>;
v = virtualinvoke v.<javax.ws.rs.core.Response$Status: int getStatusCode()>();
v = specialinvoke v.<org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter: boolean buildAndSendRequestToLeader(java.lang.String,org.apache.helix.rest.common.HttpConstants$RestVerbs,int)>(v, v, v);
return v;
}
public synchronized boolean setRoutingData(java.util.Map)
{
java.lang.IllegalStateException v;
java.util.Map v;
javax.ws.rs.core.Response$Status v;
boolean v, v, v, v, v, v, v;
org.apache.http.entity.ContentType v;
java.util.Set v;
org.apache.http.entity.StringEntity v;
java.lang.Exception v;
org.apache.helix.zookeeper.datamodel.ZNRecord v, v;
java.util.List v;
java.lang.Throwable v;
java.lang.Object[] v;
java.lang.String[] v;
org.apache.helix.zookeeper.api.client.HelixZkClient v, v, v, v, v, v;
int v;
java.lang.String v, v, v, v, v, v, v, v, v;
org.slf4j.Logger v, v, v;
java.util.Iterator v, v;
org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter v;
org.apache.helix.rest.metadatastore.concurrency.ZkDistributedLeaderElection v, v;
com.fasterxml.jackson.databind.ObjectMapper v;
java.io.IOException v;
java.lang.IllegalArgumentException v, v;
org.apache.http.client.methods.HttpPut v;
java.lang.Object v, v, v, v;
v := @this: org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter;
v := @parameter: java.util.Map;
v = v.<org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter: org.apache.helix.rest.metadatastore.concurrency.ZkDistributedLeaderElection _leaderElection>;
v = virtualinvoke v.<org.apache.helix.rest.metadatastore.concurrency.ZkDistributedLeaderElection: boolean isLeader()>();
if v == 0 goto label;
v = v.<org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter: org.apache.helix.zookeeper.api.client.HelixZkClient _zkClient>;
v = interfaceinvoke v.<org.apache.helix.zookeeper.api.client.HelixZkClient: boolean isClosed()>();
if v == 0 goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("ZkClient is closed!");
throw v;
label:
if v != null goto label;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("routingData given is null!");
throw v;
label:
v = v.<org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter: org.apache.helix.zookeeper.api.client.HelixZkClient _zkClient>;
v = interfaceinvoke v.<org.apache.helix.zookeeper.api.client.HelixZkClient: java.util.List getChildren(java.lang.String)>("/METADATA_STORE_ROUTING_DATA");
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = v.<org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter: org.apache.helix.zookeeper.api.client.HelixZkClient _zkClient>;
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[])>("/METADATA_STORE_ROUTING_DATA/\u0001");
v = interfaceinvoke v.<org.apache.helix.zookeeper.api.client.HelixZkClient: boolean delete(java.lang.String)>(v);
if v != 0 goto label;
v = <org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter: org.slf4j.Logger LOG>;
v = v.<org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter: java.lang.String _namespace>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Object,java.lang.Object)>("Failed to delete existing routing data in setRoutingData()! Namespace: {}, Realm: {}", v, v);
return 0;
label:
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()>();
v = new org.apache.helix.zookeeper.datamodel.ZNRecord;
specialinvoke v.<org.apache.helix.zookeeper.datamodel.ZNRecord: void <init>(java.lang.String)>(v);
virtualinvoke v.<org.apache.helix.zookeeper.datamodel.ZNRecord: void setListField(java.lang.String,java.util.List)>("ZK_PATH_SHARDING_KEYS", 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[])>("/METADATA_STORE_ROUTING_DATA/\u0001");
label:
v = v.<org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter: org.apache.helix.zookeeper.api.client.HelixZkClient _zkClient>;
v = interfaceinvoke v.<org.apache.helix.zookeeper.api.client.HelixZkClient: boolean exists(java.lang.String)>(v);
if v != 0 goto label;
v = v.<org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter: org.apache.helix.zookeeper.api.client.HelixZkClient _zkClient>;
interfaceinvoke v.<org.apache.helix.zookeeper.api.client.HelixZkClient: void createPersistent(java.lang.String)>(v);
label:
v = v.<org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter: org.apache.helix.zookeeper.api.client.HelixZkClient _zkClient>;
interfaceinvoke v.<org.apache.helix.zookeeper.api.client.HelixZkClient: void writeData(java.lang.String,java.lang.Object)>(v, v);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter: org.slf4j.Logger LOG>;
v = newarray (java.lang.Object)[3];
v = v.<org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter: java.lang.String _namespace>;
v[0] = v;
v[1] = v;
v[2] = v;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Object[])>("Failed to write data in setRoutingData()! Namespace: {}, Realm: {}", v);
return 0;
label:
return 1;
label:
v = v.<org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter: org.apache.helix.rest.metadatastore.concurrency.ZkDistributedLeaderElection _leaderElection>;
v = virtualinvoke v.<org.apache.helix.rest.metadatastore.concurrency.ZkDistributedLeaderElection: org.apache.helix.zookeeper.datamodel.ZNRecord getCurrentLeaderInfo()>();
v = staticinvoke <org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter: java.lang.String buildEndpointFromLeaderElectionNode(org.apache.helix.zookeeper.datamodel.ZNRecord)>(v);
v = newarray (java.lang.String)[1];
v[0] = "/routing-data";
v = specialinvoke v.<org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter: java.lang.String constructUrlSuffix(java.lang.String[])>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u0001\u0001");
v = new org.apache.http.client.methods.HttpPut;
specialinvoke v.<org.apache.http.client.methods.HttpPut: void <init>(java.lang.String)>(v);
label:
v = <org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter: com.fasterxml.jackson.databind.ObjectMapper OBJECT_MAPPER>;
v = virtualinvoke v.<com.fasterxml.jackson.databind.ObjectMapper: java.lang.String writeValueAsString(java.lang.Object)>(v);
label:
goto label;
label:
v := @caughtexception;
v = new java.lang.IllegalArgumentException;
v = virtualinvoke v.<com.fasterxml.jackson.core.JsonProcessingException: java.lang.String getMessage()>();
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
v := @caughtexception;
v = <org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Object,java.lang.Object)>("setRoutingData failed before forwarding the request to leader: an exception happened while routingData is converted to json. routingData: {}", v, v);
return 0;
label:
v = new org.apache.http.entity.StringEntity;
v = <org.apache.http.entity.ContentType: org.apache.http.entity.ContentType APPLICATION_JSON>;
specialinvoke v.<org.apache.http.entity.StringEntity: void <init>(java.lang.String,org.apache.http.entity.ContentType)>(v, v);
virtualinvoke v.<org.apache.http.client.methods.HttpPut: void setEntity(org.apache.http.HttpEntity)>(v);
v = <javax.ws.rs.core.Response$Status: javax.ws.rs.core.Response$Status CREATED>;
v = virtualinvoke v.<javax.ws.rs.core.Response$Status: int getStatusCode()>();
v = virtualinvoke v.<org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter: boolean sendRequestToLeader(org.apache.http.client.methods.HttpUriRequest,int)>(v, v);
return v;
catch java.lang.Exception from label to label with label;
catch com.fasterxml.jackson.core.JsonGenerationException from label to label with label;
catch com.fasterxml.jackson.databind.JsonMappingException from label to label with label;
catch java.io.IOException from label to label with label;
}
public synchronized void close()
{
org.apache.http.impl.client.CloseableHttpClient v;
org.slf4j.Logger v;
org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter v;
java.io.IOException v;
org.apache.helix.zookeeper.api.client.HelixZkClient v;
v := @this: org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter;
v = v.<org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter: org.apache.helix.zookeeper.api.client.HelixZkClient _zkClient>;
interfaceinvoke v.<org.apache.helix.zookeeper.api.client.HelixZkClient: void close()>();
label:
v = v.<org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter: org.apache.http.impl.client.CloseableHttpClient _forwardHttpClient>;
virtualinvoke v.<org.apache.http.impl.client.CloseableHttpClient: void close()>();
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Throwable)>("HttpClient failed to close. ", v);
label:
return;
catch java.io.IOException from label to label with label;
}
protected boolean createZkRealm(java.lang.String)
{
java.lang.Object[] v;
org.apache.helix.zookeeper.api.client.HelixZkClient v, v, v;
java.lang.String v, v, v, v, v, v;
boolean v;
org.slf4j.Logger v, v;
org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter v;
java.lang.Exception v;
org.apache.helix.zookeeper.datamodel.ZNRecord v;
v := @this: org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter;
v := @parameter: java.lang.String;
v = v.<org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter: org.apache.helix.zookeeper.api.client.HelixZkClient _zkClient>;
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[])>("/METADATA_STORE_ROUTING_DATA/\u0001");
v = interfaceinvoke v.<org.apache.helix.zookeeper.api.client.HelixZkClient: boolean exists(java.lang.String)>(v);
if v == 0 goto label;
v = <org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter: org.slf4j.Logger LOG>;
v = v.<org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter: java.lang.String _namespace>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Object,java.lang.Object)>("createZkRealm() called for realm: {}, but this realm already exists! Namespace: {}", v, v);
return 1;
label:
v = v.<org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter: org.apache.helix.zookeeper.api.client.HelixZkClient _zkClient>;
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[])>("/METADATA_STORE_ROUTING_DATA/\u0001");
interfaceinvoke v.<org.apache.helix.zookeeper.api.client.HelixZkClient: void createPersistent(java.lang.String)>(v);
v = v.<org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter: org.apache.helix.zookeeper.api.client.HelixZkClient _zkClient>;
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[])>("/METADATA_STORE_ROUTING_DATA/\u0001");
v = new org.apache.helix.zookeeper.datamodel.ZNRecord;
specialinvoke v.<org.apache.helix.zookeeper.datamodel.ZNRecord: void <init>(java.lang.String)>(v);
interfaceinvoke v.<org.apache.helix.zookeeper.api.client.HelixZkClient: void writeData(java.lang.String,java.lang.Object)>(v, v);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter: org.slf4j.Logger LOG>;
v = newarray (java.lang.Object)[3];
v[0] = v;
v = v.<org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter: java.lang.String _namespace>;
v[1] = v;
v[2] = v;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Object[])>("Failed to create ZkRealm: {}, Namespace: {}", v);
return 0;
label:
return 1;
catch java.lang.Exception from label to label with label;
}
protected boolean deleteZkRealm(java.lang.String)
{
org.slf4j.Logger v;
org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter v;
org.apache.helix.zookeeper.api.client.HelixZkClient v, v;
java.lang.String v, v, v, v;
boolean v, v;
v := @this: org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter;
v := @parameter: java.lang.String;
v = v.<org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter: org.apache.helix.zookeeper.api.client.HelixZkClient _zkClient>;
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[])>("/METADATA_STORE_ROUTING_DATA/\u0001");
v = interfaceinvoke v.<org.apache.helix.zookeeper.api.client.HelixZkClient: boolean exists(java.lang.String)>(v);
if v != 0 goto label;
v = <org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter: org.slf4j.Logger LOG>;
v = v.<org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter: java.lang.String _namespace>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Object,java.lang.Object)>("deleteZkRealm() called for realm: {}, but this realm already doesn\'t exist! Namespace: {}", v, v);
return 1;
label:
v = v.<org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter: org.apache.helix.zookeeper.api.client.HelixZkClient _zkClient>;
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[])>("/METADATA_STORE_ROUTING_DATA/\u0001");
v = interfaceinvoke v.<org.apache.helix.zookeeper.api.client.HelixZkClient: boolean delete(java.lang.String)>(v);
return v;
}
protected boolean createZkShardingKey(java.lang.String, java.lang.String)
{
java.lang.Object[] v, v, v;
org.apache.helix.zookeeper.api.client.HelixZkClient v, v, v;
java.util.ArrayList v;
java.lang.String v, v, v, v, v, v;
boolean v, v, v;
org.slf4j.Logger v, v, v;
org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter v;
java.lang.Exception v, v;
java.util.List v;
java.lang.Object v;
v := @this: org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
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[])>("/METADATA_STORE_ROUTING_DATA/\u0001");
v = v.<org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter: org.apache.helix.zookeeper.api.client.HelixZkClient _zkClient>;
v = interfaceinvoke v.<org.apache.helix.zookeeper.api.client.HelixZkClient: boolean exists(java.lang.String)>(v);
if v != 0 goto label;
v = virtualinvoke v.<org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter: boolean createZkRealm(java.lang.String)>(v);
if v != 0 goto label;
v = <org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter: org.slf4j.Logger LOG>;
v = newarray (java.lang.Object)[3];
v = v.<org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter: java.lang.String _namespace>;
v[0] = v;
v[1] = v;
v[2] = v;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Object[])>("Failed to add sharding key because ZkRealm creation failed! Namespace: {}, Realm: {}, Sharding key: {}", v);
return 0;
label:
v = v.<org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter: org.apache.helix.zookeeper.api.client.HelixZkClient _zkClient>;
v = interfaceinvoke v.<org.apache.helix.zookeeper.api.client.HelixZkClient: java.lang.Object readData(java.lang.String)>(v);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter: org.slf4j.Logger LOG>;
v = newarray (java.lang.Object)[4];
v = v.<org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter: java.lang.String _namespace>;
v[0] = v;
v[1] = v;
v[2] = v;
v[3] = v;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Object[])>("Failed to read the realm ZNRecord in addShardingKey()! Namespace: {}, Realm: {}, ShardingKey: {}", v);
return 0;
label:
v = virtualinvoke v.<org.apache.helix.zookeeper.datamodel.ZNRecord: java.util.List getListField(java.lang.String)>("ZK_PATH_SHARDING_KEYS");
if v == null goto label;
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
if v == 0 goto label;
label:
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = v;
label:
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
virtualinvoke v.<org.apache.helix.zookeeper.datamodel.ZNRecord: void setListField(java.lang.String,java.util.List)>("ZK_PATH_SHARDING_KEYS", v);
label:
v = v.<org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter: org.apache.helix.zookeeper.api.client.HelixZkClient _zkClient>;
interfaceinvoke v.<org.apache.helix.zookeeper.api.client.HelixZkClient: void writeData(java.lang.String,java.lang.Object)>(v, v);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter: org.slf4j.Logger LOG>;
v = newarray (java.lang.Object)[4];
v = v.<org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter: java.lang.String _namespace>;
v[0] = v;
v[1] = v;
v[2] = v;
v[3] = v;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Object[])>("Failed to write the realm ZNRecord in addShardingKey()! Namespace: {}, Realm: {}, ShardingKey: {}", v);
return 0;
label:
return 1;
catch java.lang.Exception from label to label with label;
catch java.lang.Exception from label to label with label;
}
protected boolean deleteZkShardingKey(java.lang.String, java.lang.String)
{
java.lang.Object[] v;
org.slf4j.Logger v;
org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter v;
org.apache.helix.zookeeper.api.client.HelixZkClient v, v;
java.lang.Exception v;
java.util.List v, v;
java.lang.Object v;
java.lang.String v, v, v, v, v;
boolean v;
v := @this: org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = v.<org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter: org.apache.helix.zookeeper.api.client.HelixZkClient _zkClient>;
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[])>("/METADATA_STORE_ROUTING_DATA/\u0001");
v = interfaceinvoke v.<org.apache.helix.zookeeper.api.client.HelixZkClient: java.lang.Object readData(java.lang.String,boolean)>(v, 1);
if v == null goto label;
v = virtualinvoke v.<org.apache.helix.zookeeper.datamodel.ZNRecord: java.util.List getListField(java.lang.String)>("ZK_PATH_SHARDING_KEYS");
v = interfaceinvoke v.<java.util.List: boolean contains(java.lang.Object)>(v);
if v != 0 goto label;
label:
return 1;
label:
v = virtualinvoke v.<org.apache.helix.zookeeper.datamodel.ZNRecord: java.util.List getListField(java.lang.String)>("ZK_PATH_SHARDING_KEYS");
interfaceinvoke v.<java.util.List: boolean remove(java.lang.Object)>(v);
label:
v = v.<org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter: org.apache.helix.zookeeper.api.client.HelixZkClient _zkClient>;
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[])>("/METADATA_STORE_ROUTING_DATA/\u0001");
interfaceinvoke v.<org.apache.helix.zookeeper.api.client.HelixZkClient: void writeData(java.lang.String,java.lang.Object)>(v, v);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter: org.slf4j.Logger LOG>;
v = newarray (java.lang.Object)[4];
v = v.<org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter: java.lang.String _namespace>;
v[0] = v;
v[1] = v;
v[2] = v;
v[3] = v;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Object[])>("Failed to write the data back in deleteShardingKey()! Namespace: {}, Realm: {}, ShardingKey: {}", v);
return 0;
label:
return 1;
catch java.lang.Exception from label to label with label;
}
private transient java.lang.String constructUrlSuffix(java.lang.String[])
{
org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter v;
char v;
java.lang.String[] v, v;
java.util.ArrayList v;
java.util.List v;
int v, v;
java.lang.String v, v, v;
v := @this: org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter;
v := @parameter: java.lang.String[];
v = new java.util.ArrayList;
v = newarray (java.lang.String)[3];
v[0] = "/namespaces";
v[1] = "/";
v = v.<org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter: java.lang.String _namespace>;
v[2] = v;
v = staticinvoke <java.util.Arrays: java.util.List asList(java.lang.Object[])>(v);
specialinvoke v.<java.util.ArrayList: void <init>(java.util.Collection)>(v);
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = virtualinvoke v.<java.lang.String: char charAt(int)>(0);
if v == 47 goto label;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("/\u0001");
label:
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = v + 1;
goto label;
label:
v = staticinvoke <java.lang.String: java.lang.String join(java.lang.CharSequence,java.lang.Iterable)>("", v);
return v;
}
private boolean buildAndSendRequestToLeader(java.lang.String, org.apache.helix.rest.common.HttpConstants$RestVerbs, int) throws java.lang.IllegalArgumentException
{
org.apache.http.client.methods.HttpDelete v;
org.apache.helix.rest.common.HttpConstants$RestVerbs v;
int[] v;
int v, v, v;
java.lang.String v, v, v, v, v;
boolean v;
org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter v;
org.apache.helix.rest.metadatastore.concurrency.ZkDistributedLeaderElection v;
java.lang.IllegalArgumentException v;
org.apache.helix.zookeeper.datamodel.ZNRecord v;
org.apache.http.client.methods.HttpPut v;
java.lang.Object v;
v := @this: org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter;
v := @parameter: java.lang.String;
v := @parameter: org.apache.helix.rest.common.HttpConstants$RestVerbs;
v := @parameter: int;
v = v.<org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter: org.apache.helix.rest.metadatastore.concurrency.ZkDistributedLeaderElection _leaderElection>;
v = virtualinvoke v.<org.apache.helix.rest.metadatastore.concurrency.ZkDistributedLeaderElection: org.apache.helix.zookeeper.datamodel.ZNRecord getCurrentLeaderInfo()>();
v = staticinvoke <org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter: java.lang.String buildEndpointFromLeaderElectionNode(org.apache.helix.zookeeper.datamodel.ZNRecord)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u0001\u0001");
v = <org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter$1: int[] $SwitchMap$org$apache$helix$rest$common$HttpConstants$RestVerbs>;
v = virtualinvoke v.<org.apache.helix.rest.common.HttpConstants$RestVerbs: int ordinal()>();
v = v[v];
lookupswitch(v)
{
case 1: goto label;
case 2: goto label;
default: goto label;
};
label:
v = new org.apache.http.client.methods.HttpPut;
specialinvoke v.<org.apache.http.client.methods.HttpPut: void <init>(java.lang.String)>(v);
v = v;
goto label;
label:
v = new org.apache.http.client.methods.HttpDelete;
specialinvoke v.<org.apache.http.client.methods.HttpDelete: void <init>(java.lang.String)>(v);
v = v;
goto label;
label:
v = new java.lang.IllegalArgumentException;
v = virtualinvoke v.<org.apache.helix.rest.common.HttpConstants$RestVerbs: java.lang.String name()>();
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[])>("Unsupported requestMethod: \u0001");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
v = virtualinvoke v.<org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter: boolean sendRequestToLeader(org.apache.http.client.methods.HttpUriRequest,int)>(v, v);
return v;
}
protected boolean sendRequestToLeader(org.apache.http.client.methods.HttpUriRequest, int)
{
java.lang.Object[] v;
org.apache.http.client.methods.HttpUriRequest v;
org.apache.http.StatusLine v, v;
org.apache.http.client.methods.CloseableHttpResponse v;
int v, v, v;
java.lang.String v, v, v, v;
java.net.URI v, v;
org.apache.http.impl.client.CloseableHttpClient v;
org.slf4j.Logger v, v;
org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter v;
org.apache.http.HttpEntity v;
java.io.IOException v;
v := @this: org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter;
v := @parameter: org.apache.http.client.methods.HttpUriRequest;
v := @parameter: int;
label:
v = v.<org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter: org.apache.http.impl.client.CloseableHttpClient _forwardHttpClient>;
v = virtualinvoke v.<org.apache.http.impl.client.CloseableHttpClient: org.apache.http.client.methods.CloseableHttpResponse execute(org.apache.http.client.methods.HttpUriRequest)>(v);
v = interfaceinvoke v.<org.apache.http.HttpResponse: org.apache.http.StatusLine getStatusLine()>();
v = interfaceinvoke v.<org.apache.http.StatusLine: int getStatusCode()>();
if v == v goto label;
v = interfaceinvoke v.<org.apache.http.HttpResponse: org.apache.http.HttpEntity getEntity()>();
v = interfaceinvoke v.<org.apache.http.client.methods.HttpUriRequest: java.net.URI getURI()>();
v = interfaceinvoke v.<org.apache.http.HttpResponse: org.apache.http.StatusLine getStatusLine()>();
v = interfaceinvoke v.<org.apache.http.StatusLine: int getStatusCode()>();
v = v.<org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter: java.lang.String _myHostName>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.net.URI,int,java.lang.String)>(v, v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("The forwarded request to leader has failed. Uri: \u. Error code: \u Current hostname: \u0001");
if v == null goto label;
v = staticinvoke <org.apache.http.util.EntityUtils: java.lang.String toString(org.apache.http.HttpEntity)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u Response: \u0001");
label:
v = <org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String)>(v);
label:
return 0;
label:
v := @caughtexception;
v = <org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter: org.slf4j.Logger LOG>;
v = newarray (java.lang.Object)[3];
v = interfaceinvoke v.<org.apache.http.client.methods.HttpUriRequest: java.net.URI getURI()>();
v[0] = v;
v = v.<org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter: java.lang.String _myHostName>;
v[1] = v;
v[2] = v;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Object[])>("The forwarded request to leader raised an exception. Uri: {} Current hostname: {} ", v);
return 0;
label:
return 1;
catch java.io.IOException from label to label with label;
}
static void <clinit>()
{
com.fasterxml.jackson.databind.ObjectMapper v;
org.slf4j.Logger v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Lorg/apache/helix/rest/metadatastore/accessor/ZkRoutingDataWriter;");
<org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter: org.slf4j.Logger LOG> = v;
v = new com.fasterxml.jackson.databind.ObjectMapper;
specialinvoke v.<com.fasterxml.jackson.databind.ObjectMapper: void <init>()>();
<org.apache.helix.rest.metadatastore.accessor.ZkRoutingDataWriter: com.fasterxml.jackson.databind.ObjectMapper OBJECT_MAPPER> = v;
return;
}
}