public class org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher extends java.lang.Object implements java.io.Closeable
{
private final org.slf4j.Logger log;
private final org.apache.kafkaesqueesque.common.utils.LogContext logContext;
private final org.apache.kafkaesqueesque.clients.consumer.internals.ConsumerNetworkClient client;
private final org.apache.kafkaesqueesque.common.utils.Time time;
private final int minBytes;
private final int maxBytes;
private final int maxWaitMs;
private final int fetchSize;
private final long retryBackoffMs;
private final long requestTimeoutMs;
private final int maxPollRecords;
private final boolean checkCrcs;
private final java.lang.String clientRackId;
private final org.apache.kafkaesqueesque.clients.consumer.internals.ConsumerMetadata metadata;
private final org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$FetchManagerMetrics sensors;
private final org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState subscriptions;
private final java.util.concurrent.ConcurrentLinkedQueue completedFetches;
private final org.apache.kafkaesqueesque.common.record.BufferSupplier decompressionBufferSupplier;
private final org.apache.kafkaesqueesque.common.serialization.Deserializer keyDeserializer;
private final org.apache.kafkaesqueesque.common.serialization.Deserializer valueDeserializer;
private final org.apache.kafkaesqueesque.common.IsolationLevel isolationLevel;
private final java.util.Map sessionHandlers;
private final java.util.concurrent.atomic.AtomicReference cachedListOffsetsException;
private final java.util.concurrent.atomic.AtomicReference cachedOffsetForLeaderException;
private final org.apache.kafkaesqueesque.clients.consumer.internals.OffsetsForLeaderEpochClient offsetsForLeaderEpochClient;
private final java.util.Set nodesWithPendingFetchRequests;
private final org.apache.kafkaesqueesque.clients.ApiVersions apiVersions;
private org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$CompletedFetch nextInLineFetch;
public void <init>(org.apache.kafkaesqueesque.common.utils.LogContext, org.apache.kafkaesqueesque.clients.consumer.internals.ConsumerNetworkClient, int, int, int, int, int, boolean, java.lang.String, org.apache.kafkaesqueesque.common.serialization.Deserializer, org.apache.kafkaesqueesque.common.serialization.Deserializer, org.apache.kafkaesqueesque.clients.consumer.internals.ConsumerMetadata, org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState, org.apache.kafkaesqueesque.common.metrics.Metrics, org.apache.kafkaesqueesque.clients.consumer.internals.FetcherMetricsRegistry, org.apache.kafkaesqueesque.common.utils.Time, long, long, org.apache.kafkaesqueesque.common.IsolationLevel, org.apache.kafkaesqueesque.clients.ApiVersions)
{
org.apache.kafkaesqueesque.clients.consumer.internals.OffsetsForLeaderEpochClient v;
org.apache.kafkaesqueesque.clients.consumer.internals.ConsumerMetadata v;
org.apache.kafkaesqueesque.common.IsolationLevel v;
org.apache.kafkaesqueesque.clients.consumer.internals.FetcherMetricsRegistry v;
java.util.HashMap v;
long v, v;
java.util.concurrent.atomic.AtomicReference v, v;
java.util.HashSet v;
org.apache.kafkaesqueesque.common.metrics.Metrics v;
org.apache.kafkaesqueesque.common.utils.Time v;
org.apache.kafkaesqueesque.common.serialization.Deserializer v, v;
org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$FetchManagerMetrics v;
int v, v, v, v, v;
java.lang.String v;
org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState v;
org.apache.kafkaesqueesque.clients.ApiVersions v;
boolean v;
org.apache.kafkaesqueesque.common.record.BufferSupplier v;
org.slf4j.Logger v;
org.apache.kafkaesqueesque.common.utils.LogContext v;
org.apache.kafkaesqueesque.clients.consumer.internals.ConsumerNetworkClient v;
org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher v;
java.util.concurrent.ConcurrentLinkedQueue v;
v := @this: org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher;
v := @parameter: org.apache.kafkaesqueesque.common.utils.LogContext;
v := @parameter: org.apache.kafkaesqueesque.clients.consumer.internals.ConsumerNetworkClient;
v := @parameter: int;
v := @parameter: int;
v := @parameter: int;
v := @parameter: int;
v := @parameter: int;
v := @parameter: boolean;
v := @parameter: java.lang.String;
v := @parameter: org.apache.kafkaesqueesque.common.serialization.Deserializer;
v := @parameter: org.apache.kafkaesqueesque.common.serialization.Deserializer;
v := @parameter: org.apache.kafkaesqueesque.clients.consumer.internals.ConsumerMetadata;
v := @parameter: org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState;
v := @parameter: org.apache.kafkaesqueesque.common.metrics.Metrics;
v := @parameter: org.apache.kafkaesqueesque.clients.consumer.internals.FetcherMetricsRegistry;
v := @parameter: org.apache.kafkaesqueesque.common.utils.Time;
v := @parameter: long;
v := @parameter: long;
v := @parameter: org.apache.kafkaesqueesque.common.IsolationLevel;
v := @parameter: org.apache.kafkaesqueesque.clients.ApiVersions;
specialinvoke v.<java.lang.Object: void <init>()>();
v = staticinvoke <org.apache.kafkaesqueesque.common.record.BufferSupplier: org.apache.kafkaesqueesque.common.record.BufferSupplier create()>();
v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.common.record.BufferSupplier decompressionBufferSupplier> = v;
v = new java.util.concurrent.atomic.AtomicReference;
specialinvoke v.<java.util.concurrent.atomic.AtomicReference: void <init>()>();
v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: java.util.concurrent.atomic.AtomicReference cachedListOffsetsException> = v;
v = new java.util.concurrent.atomic.AtomicReference;
specialinvoke v.<java.util.concurrent.atomic.AtomicReference: void <init>()>();
v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: java.util.concurrent.atomic.AtomicReference cachedOffsetForLeaderException> = v;
v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$CompletedFetch nextInLineFetch> = null;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.utils.LogContext: org.slf4j.Logger logger(java.lang.Class)>(class "Lorg/apache/kafkaesqueesque/clients/consumer/internals/Fetcher;");
v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.slf4j.Logger log> = v;
v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.common.utils.LogContext logContext> = v;
v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.common.utils.Time time> = v;
v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.ConsumerNetworkClient client> = v;
v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.ConsumerMetadata metadata> = v;
v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState subscriptions> = v;
v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: int minBytes> = v;
v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: int maxBytes> = v;
v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: int maxWaitMs> = v;
v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: int fetchSize> = v;
v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: int maxPollRecords> = v;
v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: boolean checkCrcs> = v;
v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: java.lang.String clientRackId> = v;
v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.common.serialization.Deserializer keyDeserializer> = v;
v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.common.serialization.Deserializer valueDeserializer> = v;
v = new java.util.concurrent.ConcurrentLinkedQueue;
specialinvoke v.<java.util.concurrent.ConcurrentLinkedQueue: void <init>()>();
v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: java.util.concurrent.ConcurrentLinkedQueue completedFetches> = v;
v = new org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$FetchManagerMetrics;
specialinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$FetchManagerMetrics: void <init>(org.apache.kafkaesqueesque.common.metrics.Metrics,org.apache.kafkaesqueesque.clients.consumer.internals.FetcherMetricsRegistry)>(v, v);
v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$FetchManagerMetrics sensors> = v;
v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: long retryBackoffMs> = v;
v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: long requestTimeoutMs> = v;
v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.common.IsolationLevel isolationLevel> = v;
v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.ApiVersions apiVersions> = v;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: java.util.Map sessionHandlers> = v;
v = new org.apache.kafkaesqueesque.clients.consumer.internals.OffsetsForLeaderEpochClient;
specialinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.OffsetsForLeaderEpochClient: void <init>(org.apache.kafkaesqueesque.clients.consumer.internals.ConsumerNetworkClient,org.apache.kafkaesqueesque.common.utils.LogContext)>(v, v);
v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.OffsetsForLeaderEpochClient offsetsForLeaderEpochClient> = v;
v = new java.util.HashSet;
specialinvoke v.<java.util.HashSet: void <init>()>();
v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: java.util.Set nodesWithPendingFetchRequests> = v;
return;
}
protected boolean hasCompletedFetches()
{
org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher v;
boolean v, v;
java.util.concurrent.ConcurrentLinkedQueue v;
v := @this: org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: java.util.concurrent.ConcurrentLinkedQueue completedFetches>;
v = virtualinvoke v.<java.util.concurrent.ConcurrentLinkedQueue: boolean isEmpty()>();
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public boolean hasAvailableFetches()
{
java.util.stream.Stream v;
java.util.function.Predicate v;
org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher v;
boolean v;
java.util.concurrent.ConcurrentLinkedQueue v;
v := @this: org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: java.util.concurrent.ConcurrentLinkedQueue completedFetches>;
v = virtualinvoke v.<java.util.concurrent.ConcurrentLinkedQueue: java.util.stream.Stream stream()>();
v = staticinvoke <org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$lambda_hasAvailableFetches_0__584: java.util.function.Predicate bootstrap$(org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher)>(v);
v = interfaceinvoke v.<java.util.stream.Stream: boolean anyMatch(java.util.function.Predicate)>(v);
return v;
}
public synchronized int sendFetches()
{
org.apache.kafkaesqueesque.common.IsolationLevel v, v;
java.lang.Integer v;
org.apache.kafkaesqueesque.clients.consumer.internals.RequestFuture v;
java.util.Map v, v;
org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$FetchManagerMetrics v;
boolean v, v;
java.util.Set v, v;
java.util.List v;
java.lang.Object[] v;
org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$1 v;
org.apache.kafkaesqueesque.common.requests.FetchMetadata v;
int v, v, v, v, v;
java.lang.String v, v;
org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState v;
org.slf4j.Logger v, v;
java.util.Iterator v;
org.apache.kafkaesqueesque.common.requests.FetchRequest$Builder v, v, v, v, v, v;
java.lang.Object v, v, v, v;
org.apache.kafkaesqueesque.clients.consumer.internals.ConsumerNetworkClient v;
org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher v;
v := @this: org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$FetchManagerMetrics sensors>;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState subscriptions>;
specialinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$FetchManagerMetrics: void maybeUpdateAssignment(org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState)>(v);
v = specialinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: java.util.Map prepareFetchRequests()>();
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 = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: int maxWaitMs>;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: int minBytes>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.clients.FetchSessionHandler$FetchRequestData: java.util.Map toSend()>();
v = staticinvoke <org.apache.kafkaesqueesque.common.requests.FetchRequest$Builder: org.apache.kafkaesqueesque.common.requests.FetchRequest$Builder forConsumer(int,int,java.util.Map)>(v, v, v);
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.common.IsolationLevel isolationLevel>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.requests.FetchRequest$Builder: org.apache.kafkaesqueesque.common.requests.FetchRequest$Builder isolationLevel(org.apache.kafkaesqueesque.common.IsolationLevel)>(v);
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: int maxBytes>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.requests.FetchRequest$Builder: org.apache.kafkaesqueesque.common.requests.FetchRequest$Builder setMaxBytes(int)>(v);
v = virtualinvoke v.<org.apache.kafkaesqueesque.clients.FetchSessionHandler$FetchRequestData: org.apache.kafkaesqueesque.common.requests.FetchMetadata metadata()>();
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.requests.FetchRequest$Builder: org.apache.kafkaesqueesque.common.requests.FetchRequest$Builder metadata(org.apache.kafkaesqueesque.common.requests.FetchMetadata)>(v);
v = virtualinvoke v.<org.apache.kafkaesqueesque.clients.FetchSessionHandler$FetchRequestData: java.util.List toForget()>();
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.requests.FetchRequest$Builder: org.apache.kafkaesqueesque.common.requests.FetchRequest$Builder toForget(java.util.List)>(v);
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: java.lang.String clientRackId>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.requests.FetchRequest$Builder: org.apache.kafkaesqueesque.common.requests.FetchRequest$Builder rackId(java.lang.String)>(v);
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.slf4j.Logger log>;
v = interfaceinvoke v.<org.slf4j.Logger: boolean isDebugEnabled()>();
if v == 0 goto label;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.slf4j.Logger log>;
v = newarray (java.lang.Object)[3];
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.common.IsolationLevel isolationLevel>;
v[0] = v;
v = virtualinvoke v.<org.apache.kafkaesqueesque.clients.FetchSessionHandler$FetchRequestData: java.lang.String toString()>();
v[1] = v;
v[2] = v;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object[])>("Sending {} {} to broker {}", v);
label:
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.ConsumerNetworkClient client>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.ConsumerNetworkClient: org.apache.kafkaesqueesque.clients.consumer.internals.RequestFuture send(org.apache.kafkaesqueesque.common.Node,org.apache.kafkaesqueesque.common.requests.AbstractRequest$Builder)>(v, v);
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: java.util.Set nodesWithPendingFetchRequests>;
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getKey()>();
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.Node: int id()>();
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
v = new org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$1;
specialinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$1: void <init>(org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher,org.apache.kafkaesqueesque.common.Node,org.apache.kafkaesqueesque.clients.FetchSessionHandler$FetchRequestData)>(v, v, v);
virtualinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.RequestFuture: void addListener(org.apache.kafkaesqueesque.clients.consumer.internals.RequestFutureListener)>(v);
goto label;
label:
v = interfaceinvoke v.<java.util.Map: int size()>();
return v;
}
public java.util.Map getAllTopicMetadata(org.apache.kafkaesqueesque.common.utils.Timer)
{
java.util.Map v;
org.apache.kafkaesqueesque.common.requests.MetadataRequest$Builder v;
org.apache.kafkaesqueesque.common.utils.Timer v;
org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher v;
v := @this: org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher;
v := @parameter: org.apache.kafkaesqueesque.common.utils.Timer;
v = staticinvoke <org.apache.kafkaesqueesque.common.requests.MetadataRequest$Builder: org.apache.kafkaesqueesque.common.requests.MetadataRequest$Builder allTopics()>();
v = virtualinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: java.util.Map getTopicMetadata(org.apache.kafkaesqueesque.common.requests.MetadataRequest$Builder,org.apache.kafkaesqueesque.common.utils.Timer)>(v, v);
return v;
}
public java.util.Map getTopicMetadata(org.apache.kafkaesqueesque.common.requests.MetadataRequest$Builder, org.apache.kafkaesqueesque.common.utils.Timer)
{
org.apache.kafkaesqueesque.clients.consumer.internals.RequestFuture v;
java.util.Map v, v;
org.apache.kafkaesqueesque.common.protocol.Errors v, v;
org.apache.kafkaesqueesque.common.requests.MetadataRequest$Builder v;
boolean v, v, v, v, v, v, v, v, v, v, v, v;
org.apache.kafkaesqueesque.common.requests.AbstractResponse v;
java.util.Set v, v, v;
org.apache.kafkaesqueesque.common.errors.InvalidTopicException v;
org.apache.kafkaesqueesque.common.errors.TopicAuthorizationException v;
java.util.List v;
org.apache.kafkaesqueesque.common.utils.Timer v;
org.apache.kafkaesqueesque.common.errors.TimeoutException v;
java.util.HashMap v;
long v;
java.lang.String v, v;
org.slf4j.Logger v;
java.util.Iterator v, v;
org.apache.kafkaesqueesque.common.errors.ApiException v, v;
java.lang.RuntimeException v;
org.apache.kafkaesqueesque.common.Cluster v;
org.apache.kafkaesqueesque.common.KafkaException v;
java.lang.Object v, v, v, v, v;
org.apache.kafkaesqueesque.clients.consumer.internals.ConsumerNetworkClient v;
org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher v;
v := @this: org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher;
v := @parameter: org.apache.kafkaesqueesque.common.requests.MetadataRequest$Builder;
v := @parameter: org.apache.kafkaesqueesque.common.utils.Timer;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.requests.MetadataRequest$Builder: boolean isAllTopics()>();
if v != 0 goto label;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.requests.MetadataRequest$Builder: boolean emptyTopicList()>();
if v == 0 goto label;
v = staticinvoke <java.util.Collections: java.util.Map emptyMap()>();
return v;
label:
v = specialinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.RequestFuture sendMetadataRequest(org.apache.kafkaesqueesque.common.requests.MetadataRequest$Builder)>(v);
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.ConsumerNetworkClient client>;
virtualinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.ConsumerNetworkClient: boolean poll(org.apache.kafkaesqueesque.clients.consumer.internals.RequestFuture,org.apache.kafkaesqueesque.common.utils.Timer)>(v, v);
v = virtualinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.RequestFuture: boolean failed()>();
if v == 0 goto label;
v = virtualinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.RequestFuture: boolean isRetriable()>();
if v != 0 goto label;
v = virtualinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.RequestFuture: java.lang.RuntimeException exception()>();
throw v;
label:
v = virtualinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.RequestFuture: boolean succeeded()>();
if v == 0 goto label;
v = virtualinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.RequestFuture: java.lang.Object value()>();
v = virtualinvoke v.<org.apache.kafkaesqueesque.clients.ClientResponse: org.apache.kafkaesqueesque.common.requests.AbstractResponse responseBody()>();
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.requests.MetadataResponse: org.apache.kafkaesqueesque.common.Cluster cluster()>();
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.Cluster: java.util.Set unauthorizedTopics()>();
v = interfaceinvoke v.<java.util.Set: boolean isEmpty()>();
if v != 0 goto label;
v = new org.apache.kafkaesqueesque.common.errors.TopicAuthorizationException;
specialinvoke v.<org.apache.kafkaesqueesque.common.errors.TopicAuthorizationException: void <init>(java.util.Set)>(v);
throw v;
label:
v = 0;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.requests.MetadataResponse: java.util.Map errors()>();
v = interfaceinvoke v.<java.util.Map: boolean isEmpty()>();
if v != 0 goto label;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.slf4j.Logger log>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object)>("Topic metadata fetch included errors: {}", v);
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 = <org.apache.kafkaesqueesque.common.protocol.Errors: org.apache.kafkaesqueesque.common.protocol.Errors INVALID_TOPIC_EXCEPTION>;
if v != v goto label;
v = new org.apache.kafkaesqueesque.common.errors.InvalidTopicException;
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[])>("Topic \'\u0001\' is invalid");
specialinvoke v.<org.apache.kafkaesqueesque.common.errors.InvalidTopicException: void <init>(java.lang.String)>(v);
throw v;
label:
v = <org.apache.kafkaesqueesque.common.protocol.Errors: org.apache.kafkaesqueesque.common.protocol.Errors UNKNOWN_TOPIC_OR_PARTITION>;
if v == v goto label;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.protocol.Errors: org.apache.kafkaesqueesque.common.errors.ApiException exception()>();
v = v instanceof org.apache.kafkaesqueesque.common.errors.RetriableException;
if v == 0 goto label;
v = 1;
goto label;
label:
v = new org.apache.kafkaesqueesque.common.KafkaException;
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[])>("Unexpected error fetching metadata for topic \u0001");
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.protocol.Errors: org.apache.kafkaesqueesque.common.errors.ApiException exception()>();
specialinvoke v.<org.apache.kafkaesqueesque.common.KafkaException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
label:
if v != 0 goto label;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.Cluster: java.util.Set topics()>();
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 = virtualinvoke v.<org.apache.kafkaesqueesque.common.Cluster: java.util.List partitionsForTopic(java.lang.String)>(v);
virtualinvoke v.<java.util.HashMap: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
goto label;
label:
return v;
label:
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: long retryBackoffMs>;
virtualinvoke v.<org.apache.kafkaesqueesque.common.utils.Timer: void sleep(long)>(v);
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.utils.Timer: boolean notExpired()>();
if v != 0 goto label;
v = new org.apache.kafkaesqueesque.common.errors.TimeoutException;
specialinvoke v.<org.apache.kafkaesqueesque.common.errors.TimeoutException: void <init>(java.lang.String)>("Timeout expired while fetching topic metadata");
throw v;
}
private org.apache.kafkaesqueesque.clients.consumer.internals.RequestFuture sendMetadataRequest(org.apache.kafkaesqueesque.common.requests.MetadataRequest$Builder)
{
org.apache.kafkaesqueesque.common.Node v;
org.apache.kafkaesqueesque.clients.consumer.internals.RequestFuture v, v;
org.apache.kafkaesqueesque.clients.consumer.internals.ConsumerNetworkClient v, v;
org.apache.kafkaesqueesque.common.requests.MetadataRequest$Builder v;
org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher v;
v := @this: org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher;
v := @parameter: org.apache.kafkaesqueesque.common.requests.MetadataRequest$Builder;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.ConsumerNetworkClient client>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.ConsumerNetworkClient: org.apache.kafkaesqueesque.common.Node leastLoadedNode()>();
if v != null goto label;
v = staticinvoke <org.apache.kafkaesqueesque.clients.consumer.internals.RequestFuture: org.apache.kafkaesqueesque.clients.consumer.internals.RequestFuture noBrokersAvailable()>();
return v;
label:
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.ConsumerNetworkClient client>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.ConsumerNetworkClient: org.apache.kafkaesqueesque.clients.consumer.internals.RequestFuture send(org.apache.kafkaesqueesque.common.Node,org.apache.kafkaesqueesque.common.requests.AbstractRequest$Builder)>(v, v);
return v;
}
private java.lang.Long offsetResetStrategyTimestamp(org.apache.kafkaesqueesque.common.TopicPartition)
{
org.apache.kafkaesqueesque.clients.consumer.OffsetResetStrategy v, v, v;
org.apache.kafkaesqueesque.common.TopicPartition v;
java.lang.Long v, v;
org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState v;
org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher v;
v := @this: org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher;
v := @parameter: org.apache.kafkaesqueesque.common.TopicPartition;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState subscriptions>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState: org.apache.kafkaesqueesque.clients.consumer.OffsetResetStrategy resetStrategy(org.apache.kafkaesqueesque.common.TopicPartition)>(v);
v = <org.apache.kafkaesqueesque.clients.consumer.OffsetResetStrategy: org.apache.kafkaesqueesque.clients.consumer.OffsetResetStrategy EARLIEST>;
if v != v goto label;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(-2L);
return v;
label:
v = <org.apache.kafkaesqueesque.clients.consumer.OffsetResetStrategy: org.apache.kafkaesqueesque.clients.consumer.OffsetResetStrategy LATEST>;
if v != v goto label;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(-1L);
return v;
label:
return null;
}
private org.apache.kafkaesqueesque.clients.consumer.OffsetResetStrategy timestampToOffsetResetStrategy(long)
{
org.apache.kafkaesqueesque.clients.consumer.OffsetResetStrategy v, v;
byte v, v;
long v;
org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher v;
v := @this: org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher;
v := @parameter: long;
v = v cmp -2L;
if v != 0 goto label;
v = <org.apache.kafkaesqueesque.clients.consumer.OffsetResetStrategy: org.apache.kafkaesqueesque.clients.consumer.OffsetResetStrategy EARLIEST>;
return v;
label:
v = v cmp -1L;
if v != 0 goto label;
v = <org.apache.kafkaesqueesque.clients.consumer.OffsetResetStrategy: org.apache.kafkaesqueesque.clients.consumer.OffsetResetStrategy LATEST>;
return v;
label:
return null;
}
public void resetOffsetsIfNeeded()
{
java.util.Iterator v;
java.util.Set v;
java.util.HashMap v;
long v;
java.util.concurrent.atomic.AtomicReference v;
org.apache.kafkaesqueesque.common.utils.Time v;
java.lang.Long v;
java.lang.Object v, v;
org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState v;
org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher v;
boolean v, v;
v := @this: org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: java.util.concurrent.atomic.AtomicReference cachedListOffsetsException>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: java.lang.Object getAndSet(java.lang.Object)>(null);
if v == null goto label;
throw v;
label:
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState subscriptions>;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.common.utils.Time time>;
v = interfaceinvoke v.<org.apache.kafkaesqueesque.common.utils.Time: long milliseconds()>();
v = virtualinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState: java.util.Set partitionsNeedingReset(long)>(v);
v = interfaceinvoke v.<java.util.Set: boolean isEmpty()>();
if v == 0 goto label;
return;
label:
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
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 = specialinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: java.lang.Long offsetResetStrategyTimestamp(org.apache.kafkaesqueesque.common.TopicPartition)>(v);
if v == null goto label;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
goto label;
label:
specialinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: void resetOffsetsAsync(java.util.Map)>(v);
return;
}
public void validateOffsetsIfNeeded()
{
long v;
java.util.concurrent.atomic.AtomicReference v;
java.util.function.Function v, v;
org.apache.kafkaesqueesque.common.utils.Time v;
java.util.stream.Collector v;
org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState v, v, v;
java.util.Set v, v;
java.util.function.Consumer v;
java.util.stream.Stream v;
java.lang.Object v, v;
org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher v;
v := @this: org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: java.util.concurrent.atomic.AtomicReference cachedOffsetForLeaderException>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: java.lang.Object getAndSet(java.lang.Object)>(null);
if v == null goto label;
throw v;
label:
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState subscriptions>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState: java.util.Set assignedPartitions()>();
v = staticinvoke <org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$lambda_validateOffsetsIfNeeded_1__585: java.util.function.Consumer bootstrap$(org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher)>(v);
interfaceinvoke v.<java.util.Set: void forEach(java.util.function.Consumer)>(v);
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState subscriptions>;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.common.utils.Time time>;
v = interfaceinvoke v.<org.apache.kafkaesqueesque.common.utils.Time: long milliseconds()>();
v = virtualinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState: java.util.Set partitionsNeedingValidation(long)>(v);
v = interfaceinvoke v.<java.util.Set: java.util.stream.Stream stream()>();
v = staticinvoke <java.util.function.Function: java.util.function.Function identity()>();
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState subscriptions>;
virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = staticinvoke <org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$position__586: java.util.function.Function bootstrap$(org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState)>(v);
v = staticinvoke <java.util.stream.Collectors: java.util.stream.Collector toMap(java.util.function.Function,java.util.function.Function)>(v, v);
v = interfaceinvoke v.<java.util.stream.Stream: java.lang.Object collect(java.util.stream.Collector)>(v);
specialinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: void validateOffsetsAsync(java.util.Map)>(v);
return;
}
public java.util.Map offsetsForTimes(java.util.Map, org.apache.kafkaesqueesque.common.utils.Timer)
{
java.lang.Throwable v;
org.apache.kafkaesqueesque.clients.consumer.internals.ConsumerMetadata v, v, v;
java.util.HashMap v;
long v, v;
java.lang.Long v;
java.util.Map v, v;
int v;
boolean v, v;
org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$ListOffsetResult v;
java.util.Iterator v, v;
java.util.Set v, v, v, v;
org.apache.kafkaesqueesque.clients.consumer.OffsetAndTimestamp v;
java.util.Optional v;
java.lang.Object v, v, v, v, v;
org.apache.kafkaesqueesque.common.utils.Timer v;
org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher v;
v := @this: org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher;
v := @parameter: java.util.Map;
v := @parameter: org.apache.kafkaesqueesque.common.utils.Timer;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.ConsumerMetadata metadata>;
v = interfaceinvoke v.<java.util.Map: java.util.Set keySet()>();
v = specialinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: java.util.Set topicsForPartitions(java.util.Collection)>(v);
virtualinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.ConsumerMetadata: void addTransientTopics(java.util.Set)>(v);
label:
v = specialinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$ListOffsetResult fetchOffsetsByTimes(java.util.Map,org.apache.kafkaesqueesque.common.utils.Timer,boolean)>(v, v, 1);
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$ListOffsetResult: java.util.Map fetchedOffsets>;
v = new java.util.HashMap;
v = interfaceinvoke v.<java.util.Map: int size()>();
specialinvoke v.<java.util.HashMap: void <init>(int)>(v);
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()>();
virtualinvoke v.<java.util.HashMap: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, null);
goto label;
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 getValue()>();
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getKey()>();
v = new org.apache.kafkaesqueesque.clients.consumer.OffsetAndTimestamp;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$ListOffsetData: long offset>;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$ListOffsetData: java.lang.Long timestamp>;
v = virtualinvoke v.<java.lang.Long: long longValue()>();
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$ListOffsetData: java.util.Optional leaderEpoch>;
specialinvoke v.<org.apache.kafkaesqueesque.clients.consumer.OffsetAndTimestamp: void <init>(long,long,java.util.Optional)>(v, v, v);
virtualinvoke v.<java.util.HashMap: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
goto label;
label:
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.ConsumerMetadata metadata>;
virtualinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.ConsumerMetadata: void clearTransientTopics()>();
return v;
label:
v := @caughtexception;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.ConsumerMetadata metadata>;
virtualinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.ConsumerMetadata: void clearTransientTopics()>();
throw v;
catch java.lang.Throwable from label to label with label;
}
private org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$ListOffsetResult fetchOffsetsByTimes(java.util.Map, org.apache.kafkaesqueesque.common.utils.Timer, boolean)
{
java.util.HashMap v;
long v;
org.apache.kafkaesqueesque.clients.consumer.internals.RequestFuture v;
java.util.Map v, v, v;
java.lang.String v;
boolean v, v, v, v, v, v, v;
org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$ListOffsetResult v;
java.util.Set v, v;
java.lang.RuntimeException v;
java.lang.Object v;
org.apache.kafkaesqueesque.clients.consumer.internals.ConsumerNetworkClient v, v;
org.apache.kafkaesqueesque.common.utils.Timer v;
org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher v;
org.apache.kafkaesqueesque.common.errors.TimeoutException v;
v := @this: org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher;
v := @parameter: java.util.Map;
v := @parameter: org.apache.kafkaesqueesque.common.utils.Timer;
v := @parameter: boolean;
v = new org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$ListOffsetResult;
specialinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$ListOffsetResult: void <init>()>();
v = interfaceinvoke v.<java.util.Map: boolean isEmpty()>();
if v == 0 goto label;
return v;
label:
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>(java.util.Map)>(v);
label:
v = specialinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.RequestFuture sendListOffsetsRequests(java.util.Map,boolean)>(v, v);
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.ConsumerNetworkClient client>;
virtualinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.ConsumerNetworkClient: boolean poll(org.apache.kafkaesqueesque.clients.consumer.internals.RequestFuture,org.apache.kafkaesqueesque.common.utils.Timer)>(v, v);
v = virtualinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.RequestFuture: boolean isDone()>();
if v == 0 goto label;
v = virtualinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.RequestFuture: boolean succeeded()>();
if v == 0 goto label;
v = virtualinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.RequestFuture: java.lang.Object value()>();
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$ListOffsetResult: java.util.Map fetchedOffsets>;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$ListOffsetResult: java.util.Map fetchedOffsets>;
interfaceinvoke v.<java.util.Map: void putAll(java.util.Map)>(v);
v = interfaceinvoke v.<java.util.Map: java.util.Set keySet()>();
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$ListOffsetResult: java.util.Set partitionsToRetry>;
interfaceinvoke v.<java.util.Set: boolean retainAll(java.util.Collection)>(v);
goto label;
label:
v = virtualinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.RequestFuture: boolean isRetriable()>();
if v != 0 goto label;
v = virtualinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.RequestFuture: java.lang.RuntimeException exception()>();
throw v;
label:
v = interfaceinvoke v.<java.util.Map: boolean isEmpty()>();
if v == 0 goto label;
return v;
label:
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.ConsumerNetworkClient client>;
virtualinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.ConsumerNetworkClient: boolean awaitMetadataUpdate(org.apache.kafkaesqueesque.common.utils.Timer)>(v);
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.utils.Timer: boolean notExpired()>();
if v != 0 goto label;
label:
v = new org.apache.kafkaesqueesque.common.errors.TimeoutException;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.utils.Timer: long elapsedMs()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (long)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Failed to get offsets by times in \u0001ms");
specialinvoke v.<org.apache.kafkaesqueesque.common.errors.TimeoutException: void <init>(java.lang.String)>(v);
throw v;
}
public java.util.Map beginningOffsets(java.util.Collection, org.apache.kafkaesqueesque.common.utils.Timer)
{
java.util.Collection v;
java.util.Map v;
org.apache.kafkaesqueesque.common.utils.Timer v;
org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher v;
v := @this: org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher;
v := @parameter: java.util.Collection;
v := @parameter: org.apache.kafkaesqueesque.common.utils.Timer;
v = specialinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: java.util.Map beginningOrEndOffset(java.util.Collection,long,org.apache.kafkaesqueesque.common.utils.Timer)>(v, -2L, v);
return v;
}
public java.util.Map endOffsets(java.util.Collection, org.apache.kafkaesqueesque.common.utils.Timer)
{
java.util.Collection v;
java.util.Map v;
org.apache.kafkaesqueesque.common.utils.Timer v;
org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher v;
v := @this: org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher;
v := @parameter: java.util.Collection;
v := @parameter: org.apache.kafkaesqueesque.common.utils.Timer;
v = specialinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: java.util.Map beginningOrEndOffset(java.util.Collection,long,org.apache.kafkaesqueesque.common.utils.Timer)>(v, -1L, v);
return v;
}
private java.util.Map beginningOrEndOffset(java.util.Collection, long, org.apache.kafkaesqueesque.common.utils.Timer)
{
java.lang.Throwable v;
org.apache.kafkaesqueesque.clients.consumer.internals.ConsumerMetadata v, v, v;
long v;
java.util.function.Function v, v, v, v;
java.util.Map v;
java.util.stream.Collector v, v;
org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$ListOffsetResult v;
java.util.Collection v;
java.util.Set v, v;
java.util.stream.Stream v, v, v;
java.lang.Object v, v;
org.apache.kafkaesqueesque.common.utils.Timer v;
org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher v;
v := @this: org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher;
v := @parameter: java.util.Collection;
v := @parameter: long;
v := @parameter: org.apache.kafkaesqueesque.common.utils.Timer;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.ConsumerMetadata metadata>;
v = specialinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: java.util.Set topicsForPartitions(java.util.Collection)>(v);
virtualinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.ConsumerMetadata: void addTransientTopics(java.util.Set)>(v);
label:
v = interfaceinvoke v.<java.util.Collection: java.util.stream.Stream stream()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream distinct()>();
v = staticinvoke <java.util.function.Function: java.util.function.Function identity()>();
v = staticinvoke <org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$lambda_beginningOrEndOffset_2__587: java.util.function.Function bootstrap$(long)>(v);
v = staticinvoke <java.util.stream.Collectors: java.util.stream.Collector toMap(java.util.function.Function,java.util.function.Function)>(v, v);
v = interfaceinvoke v.<java.util.stream.Stream: java.lang.Object collect(java.util.stream.Collector)>(v);
v = specialinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$ListOffsetResult fetchOffsetsByTimes(java.util.Map,org.apache.kafkaesqueesque.common.utils.Timer,boolean)>(v, v, 0);
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$ListOffsetResult: java.util.Map fetchedOffsets>;
v = interfaceinvoke v.<java.util.Map: java.util.Set entrySet()>();
v = interfaceinvoke v.<java.util.Set: java.util.stream.Stream stream()>();
v = staticinvoke <org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$getKey__588: java.util.function.Function bootstrap$()>();
v = staticinvoke <org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$lambda_beginningOrEndOffset_3__589: java.util.function.Function bootstrap$()>();
v = staticinvoke <java.util.stream.Collectors: java.util.stream.Collector toMap(java.util.function.Function,java.util.function.Function)>(v, v);
v = interfaceinvoke v.<java.util.stream.Stream: java.lang.Object collect(java.util.stream.Collector)>(v);
label:
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.ConsumerMetadata metadata>;
virtualinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.ConsumerMetadata: void clearTransientTopics()>();
return v;
label:
v := @caughtexception;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.ConsumerMetadata metadata>;
virtualinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.ConsumerMetadata: void clearTransientTopics()>();
throw v;
catch java.lang.Throwable from label to label with label;
}
public java.util.Map fetchedRecords()
{
org.apache.kafkaesqueesque.common.requests.FetchResponse$PartitionData v;
boolean v, v, v, v, v, v;
java.lang.Exception v;
java.util.List v;
org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$CompletedFetch v, v, v, v, v, v, v, v;
java.util.concurrent.ConcurrentLinkedQueue v, v, v, v, v, v;
java.lang.Throwable v;
java.util.HashMap v;
java.util.ArrayList v;
org.apache.kafkaesqueesque.common.TopicPartition v, v, v;
int v, v, v, v, v, v;
org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState v;
org.apache.kafkaesqueesque.common.record.BaseRecords v, v;
org.slf4j.Logger v;
org.apache.kafkaesqueesque.common.KafkaException v;
java.lang.Object v, v;
java.util.ArrayDeque v;
org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher v;
v := @this: org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v = new java.util.ArrayDeque;
specialinvoke v.<java.util.ArrayDeque: void <init>()>();
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: int maxPollRecords>;
label:
if v <= 0 goto label;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$CompletedFetch nextInLineFetch>;
if v == null goto label;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$CompletedFetch nextInLineFetch>;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$CompletedFetch: boolean isConsumed>;
if v == 0 goto label;
label:
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: java.util.concurrent.ConcurrentLinkedQueue completedFetches>;
v = virtualinvoke v.<java.util.concurrent.ConcurrentLinkedQueue: java.lang.Object peek()>();
if v == null goto label;
v = specialinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$CompletedFetch: boolean notInitialized()>();
if v == 0 goto label;
label:
v = specialinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$CompletedFetch initializeCompletedFetch(org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$CompletedFetch)>(v);
v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$CompletedFetch nextInLineFetch> = v;
label:
goto label;
label:
v := @caughtexception;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$CompletedFetch: org.apache.kafkaesqueesque.common.requests.FetchResponse$PartitionData partitionData>;
v = interfaceinvoke v.<java.util.Map: boolean isEmpty()>();
if v == 0 goto label;
v = v.<org.apache.kafkaesqueesque.common.requests.FetchResponse$PartitionData: org.apache.kafkaesqueesque.common.record.BaseRecords records>;
if v == null goto label;
v = v.<org.apache.kafkaesqueesque.common.requests.FetchResponse$PartitionData: org.apache.kafkaesqueesque.common.record.BaseRecords records>;
v = interfaceinvoke v.<org.apache.kafkaesqueesque.common.record.BaseRecords: int sizeInBytes()>();
if v != 0 goto label;
label:
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: java.util.concurrent.ConcurrentLinkedQueue completedFetches>;
virtualinvoke v.<java.util.concurrent.ConcurrentLinkedQueue: java.lang.Object poll()>();
label:
throw v;
label:
v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$CompletedFetch nextInLineFetch> = v;
label:
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: java.util.concurrent.ConcurrentLinkedQueue completedFetches>;
virtualinvoke v.<java.util.concurrent.ConcurrentLinkedQueue: java.lang.Object poll()>();
goto label;
label:
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState subscriptions>;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$CompletedFetch nextInLineFetch>;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$CompletedFetch: org.apache.kafkaesqueesque.common.TopicPartition partition>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState: boolean isPaused(org.apache.kafkaesqueesque.common.TopicPartition)>(v);
if v == 0 goto label;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.slf4j.Logger log>;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$CompletedFetch nextInLineFetch>;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$CompletedFetch: org.apache.kafkaesqueesque.common.TopicPartition partition>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object)>("Skipping fetching records for assigned partition {} because it is paused", v);
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$CompletedFetch nextInLineFetch>;
interfaceinvoke v.<java.util.Queue: boolean add(java.lang.Object)>(v);
v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$CompletedFetch nextInLineFetch> = null;
goto label;
label:
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$CompletedFetch nextInLineFetch>;
v = specialinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: java.util.List fetchRecords(org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$CompletedFetch,int)>(v, v);
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
if v != 0 goto label;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$CompletedFetch nextInLineFetch>;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$CompletedFetch: org.apache.kafkaesqueesque.common.TopicPartition partition>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
if v != null goto label;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
goto label;
label:
v = new java.util.ArrayList;
v = interfaceinvoke v.<java.util.List: int size()>();
v = interfaceinvoke v.<java.util.List: int size()>();
v = v + v;
specialinvoke v.<java.util.ArrayList: void <init>(int)>(v);
interfaceinvoke v.<java.util.List: boolean addAll(java.util.Collection)>(v);
interfaceinvoke v.<java.util.List: boolean addAll(java.util.Collection)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
label:
v = interfaceinvoke v.<java.util.List: int size()>();
v = v - v;
goto label;
label:
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: java.util.concurrent.ConcurrentLinkedQueue completedFetches>;
virtualinvoke v.<java.util.concurrent.ConcurrentLinkedQueue: boolean addAll(java.util.Collection)>(v);
goto label;
label:
v := @caughtexception;
v = interfaceinvoke v.<java.util.Map: boolean isEmpty()>();
if v == 0 goto label;
throw v;
label:
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: java.util.concurrent.ConcurrentLinkedQueue completedFetches>;
virtualinvoke v.<java.util.concurrent.ConcurrentLinkedQueue: boolean addAll(java.util.Collection)>(v);
goto label;
label:
v := @caughtexception;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: java.util.concurrent.ConcurrentLinkedQueue completedFetches>;
virtualinvoke v.<java.util.concurrent.ConcurrentLinkedQueue: boolean addAll(java.util.Collection)>(v);
throw v;
label:
return v;
catch java.lang.Exception from label to label with label;
catch org.apache.kafkaesqueesque.common.KafkaException from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
private java.util.List fetchRecords(org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$CompletedFetch, int)
{
org.apache.kafkaesqueesque.clients.Metadata$LeaderAndEpoch v;
org.apache.kafkaesqueesque.common.IsolationLevel v;
byte v, v;
java.lang.Long v, v, v;
org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$FetchManagerMetrics v, v;
boolean v, v;
java.util.List v, v;
org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$CompletedFetch v;
java.util.Optional v;
java.lang.Object[] v, v;
long v, v, v, v, v, v, v, v;
org.apache.kafkaesqueesque.common.TopicPartition v, v, v, v, v, v, v, v, v, v, v, v, v;
int v;
org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState v, v, v, v, v, v;
org.slf4j.Logger v, v, v, v, v;
org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState$FetchPosition v, v;
org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher v;
v := @this: org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher;
v := @parameter: org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$CompletedFetch;
v := @parameter: int;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState subscriptions>;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$CompletedFetch: org.apache.kafkaesqueesque.common.TopicPartition partition>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState: boolean isAssigned(org.apache.kafkaesqueesque.common.TopicPartition)>(v);
if v != 0 goto label;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.slf4j.Logger log>;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$CompletedFetch: org.apache.kafkaesqueesque.common.TopicPartition partition>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object)>("Not returning fetched records for partition {} since it is no longer assigned", v);
goto label;
label:
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState subscriptions>;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$CompletedFetch: org.apache.kafkaesqueesque.common.TopicPartition partition>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState: boolean isFetchable(org.apache.kafkaesqueesque.common.TopicPartition)>(v);
if v != 0 goto label;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.slf4j.Logger log>;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$CompletedFetch: org.apache.kafkaesqueesque.common.TopicPartition partition>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object)>("Not returning fetched records for assigned partition {} since it is no longer fetchable", v);
goto label;
label:
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState subscriptions>;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$CompletedFetch: org.apache.kafkaesqueesque.common.TopicPartition partition>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState: org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState$FetchPosition position(org.apache.kafkaesqueesque.common.TopicPartition)>(v);
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$CompletedFetch: long nextFetchOffset>;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState$FetchPosition: long offset>;
v = v cmp v;
if v != 0 goto label;
v = specialinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$CompletedFetch: java.util.List fetchRecords(int)>(v);
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$CompletedFetch: long nextFetchOffset>;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState$FetchPosition: long offset>;
v = v cmp v;
if v <= 0 goto label;
v = new org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState$FetchPosition;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$CompletedFetch: long nextFetchOffset>;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$CompletedFetch: java.util.Optional lastEpoch>;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState$FetchPosition: org.apache.kafkaesqueesque.clients.Metadata$LeaderAndEpoch currentLeader>;
specialinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState$FetchPosition: void <init>(long,java.util.Optional,org.apache.kafkaesqueesque.clients.Metadata$LeaderAndEpoch)>(v, v, v);
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.slf4j.Logger log>;
v = newarray (java.lang.Object)[3];
v[0] = v;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$CompletedFetch: org.apache.kafkaesqueesque.common.TopicPartition partition>;
v[1] = v;
v[2] = v;
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String,java.lang.Object[])>("Returning fetched records at offset {} for assigned partition {} and update position to {}", v);
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState subscriptions>;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$CompletedFetch: org.apache.kafkaesqueesque.common.TopicPartition partition>;
virtualinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState: void position(org.apache.kafkaesqueesque.common.TopicPartition,org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState$FetchPosition)>(v, v);
label:
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState subscriptions>;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$CompletedFetch: org.apache.kafkaesqueesque.common.TopicPartition partition>;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.common.IsolationLevel isolationLevel>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState: java.lang.Long partitionLag(org.apache.kafkaesqueesque.common.TopicPartition,org.apache.kafkaesqueesque.common.IsolationLevel)>(v, v);
if v == null goto label;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$FetchManagerMetrics sensors>;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$CompletedFetch: org.apache.kafkaesqueesque.common.TopicPartition partition>;
v = virtualinvoke v.<java.lang.Long: long longValue()>();
specialinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$FetchManagerMetrics: void recordPartitionLag(org.apache.kafkaesqueesque.common.TopicPartition,long)>(v, v);
label:
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState subscriptions>;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$CompletedFetch: org.apache.kafkaesqueesque.common.TopicPartition partition>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState: java.lang.Long partitionLead(org.apache.kafkaesqueesque.common.TopicPartition)>(v);
if v == null goto label;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$FetchManagerMetrics sensors>;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$CompletedFetch: org.apache.kafkaesqueesque.common.TopicPartition partition>;
v = virtualinvoke v.<java.lang.Long: long longValue()>();
specialinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$FetchManagerMetrics: void recordPartitionLead(org.apache.kafkaesqueesque.common.TopicPartition,long)>(v, v);
label:
return v;
label:
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.slf4j.Logger log>;
v = newarray (java.lang.Object)[3];
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$CompletedFetch: org.apache.kafkaesqueesque.common.TopicPartition partition>;
v[0] = v;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$CompletedFetch: long nextFetchOffset>;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v[1] = v;
v[2] = v;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object[])>("Ignoring fetched records for {} at offset {} since the current position is {}", v);
label:
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.slf4j.Logger log>;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$CompletedFetch: org.apache.kafkaesqueesque.common.TopicPartition partition>;
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String,java.lang.Object)>("Draining fetched records for partition {}", v);
specialinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$CompletedFetch: void drain()>();
v = staticinvoke <java.util.Collections: java.util.List emptyList()>();
return v;
}
private void resetOffsetIfNeeded(org.apache.kafkaesqueesque.common.TopicPartition, org.apache.kafkaesqueesque.clients.consumer.OffsetResetStrategy, org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$ListOffsetData)
{
org.apache.kafkaesqueesque.clients.consumer.internals.ConsumerMetadata v;
org.apache.kafkaesqueesque.clients.Metadata$LeaderAndEpoch v;
org.apache.kafkaesqueesque.clients.consumer.OffsetResetStrategy v;
org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$ListOffsetData v;
long v, v;
org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState$FetchPosition v;
java.util.function.Consumer v;
org.apache.kafkaesqueesque.common.TopicPartition v;
java.util.Optional v, v;
org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState v;
org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher v;
v := @this: org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher;
v := @parameter: org.apache.kafkaesqueesque.common.TopicPartition;
v := @parameter: org.apache.kafkaesqueesque.clients.consumer.OffsetResetStrategy;
v := @parameter: org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$ListOffsetData;
v = new org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState$FetchPosition;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$ListOffsetData: long offset>;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$ListOffsetData: java.util.Optional leaderEpoch>;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.ConsumerMetadata metadata>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.ConsumerMetadata: org.apache.kafkaesqueesque.clients.Metadata$LeaderAndEpoch currentLeader(org.apache.kafkaesqueesque.common.TopicPartition)>(v);
specialinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState$FetchPosition: void <init>(long,java.util.Optional,org.apache.kafkaesqueesque.clients.Metadata$LeaderAndEpoch)>(v, v, v);
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$ListOffsetData: java.util.Optional leaderEpoch>;
v = staticinvoke <org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$lambda_resetOffsetIfNeeded_4__590: java.util.function.Consumer bootstrap$(org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher,org.apache.kafkaesqueesque.common.TopicPartition)>(v, v);
virtualinvoke v.<java.util.Optional: void ifPresent(java.util.function.Consumer)>(v);
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState subscriptions>;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState$FetchPosition: long offset>;
virtualinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState: void maybeSeekUnvalidated(org.apache.kafkaesqueesque.common.TopicPartition,long,org.apache.kafkaesqueesque.clients.consumer.OffsetResetStrategy)>(v, v, v);
return;
}
private void resetOffsetsAsync(java.util.Map)
{
long v, v, v;
org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$2 v;
java.util.HashSet v;
org.apache.kafkaesqueesque.common.utils.Time v;
org.apache.kafkaesqueesque.clients.consumer.internals.RequestFuture v;
java.util.Map v, v;
org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState v;
boolean v;
java.util.Iterator v;
java.util.Set v, v;
java.lang.Object v, v, v;
org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher v;
v := @this: org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher;
v := @parameter: java.util.Map;
v = new java.util.HashSet;
specialinvoke v.<java.util.HashSet: void <init>()>();
v = specialinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: java.util.Map groupListOffsetRequests(java.util.Map,java.util.Set)>(v, v);
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 = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState subscriptions>;
v = interfaceinvoke v.<java.util.Map: java.util.Set keySet()>();
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.common.utils.Time time>;
v = interfaceinvoke v.<org.apache.kafkaesqueesque.common.utils.Time: long milliseconds()>();
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: long requestTimeoutMs>;
v = v + v;
virtualinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState: void setNextAllowedRetry(java.util.Set,long)>(v, v);
v = specialinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.RequestFuture sendListOffsetRequest(org.apache.kafkaesqueesque.common.Node,java.util.Map,boolean)>(v, v, 0);
v = new org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$2;
specialinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$2: void <init>(org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher,java.util.Map)>(v, v);
virtualinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.RequestFuture: void addListener(org.apache.kafkaesqueesque.clients.consumer.internals.RequestFutureListener)>(v);
goto label;
label:
return;
}
private boolean hasUsableOffsetForLeaderEpochVersion(org.apache.kafkaesqueesque.clients.NodeApiVersions)
{
org.apache.kafkaesqueesque.common.protocol.ApiKeys v;
short v;
org.apache.kafkaesqueesque.clients.NodeApiVersions v;
org.apache.kafkaesqueesque.clients.ApiVersion v;
org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher v;
boolean v;
v := @this: org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher;
v := @parameter: org.apache.kafkaesqueesque.clients.NodeApiVersions;
v = <org.apache.kafkaesqueesque.common.protocol.ApiKeys: org.apache.kafkaesqueesque.common.protocol.ApiKeys OFFSET_FOR_LEADER_EPOCH>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.clients.NodeApiVersions: org.apache.kafkaesqueesque.clients.ApiVersion apiVersion(org.apache.kafkaesqueesque.common.protocol.ApiKeys)>(v);
if v != null goto label;
return 0;
label:
v = v.<org.apache.kafkaesqueesque.clients.ApiVersion: short maxVersion>;
v = staticinvoke <org.apache.kafkaesqueesque.common.requests.OffsetsForLeaderEpochRequest: boolean supportsTopicPermission(short)>(v);
return v;
}
private void validateOffsetsAsync(java.util.Map)
{
java.util.Map v, v;
java.util.function.BiConsumer v;
org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher v;
v := @this: org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher;
v := @parameter: java.util.Map;
v = specialinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: java.util.Map regroupFetchPositionsByLeader(java.util.Map)>(v);
v = staticinvoke <org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$lambda_validateOffsetsAsync_5__591: java.util.function.BiConsumer bootstrap$(org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher,java.util.Map)>(v, v);
interfaceinvoke v.<java.util.Map: void forEach(java.util.function.BiConsumer)>(v);
return;
}
private org.apache.kafkaesqueesque.clients.consumer.internals.RequestFuture sendListOffsetsRequests(java.util.Map, boolean)
{
java.util.HashMap v;
org.apache.kafkaesqueesque.clients.StaleMetadataException v;
org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$4 v;
java.util.HashSet v;
java.util.concurrent.atomic.AtomicInteger v;
org.apache.kafkaesqueesque.clients.consumer.internals.RequestFuture v, v, v;
java.util.Map v, v;
int v;
boolean v, v, v;
java.util.Iterator v;
java.util.Set v;
java.lang.Object v, v, v;
org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher v;
v := @this: org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher;
v := @parameter: java.util.Map;
v := @parameter: boolean;
v = new java.util.HashSet;
specialinvoke v.<java.util.HashSet: void <init>()>();
v = specialinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: java.util.Map groupListOffsetRequests(java.util.Map,java.util.Set)>(v, v);
v = interfaceinvoke v.<java.util.Map: boolean isEmpty()>();
if v == 0 goto label;
v = new org.apache.kafkaesqueesque.clients.StaleMetadataException;
specialinvoke v.<org.apache.kafkaesqueesque.clients.StaleMetadataException: void <init>()>();
v = staticinvoke <org.apache.kafkaesqueesque.clients.consumer.internals.RequestFuture: org.apache.kafkaesqueesque.clients.consumer.internals.RequestFuture failure(java.lang.RuntimeException)>(v);
return v;
label:
v = new org.apache.kafkaesqueesque.clients.consumer.internals.RequestFuture;
specialinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.RequestFuture: void <init>()>();
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v = new java.util.concurrent.atomic.AtomicInteger;
v = interfaceinvoke v.<java.util.Map: int size()>();
specialinvoke v.<java.util.concurrent.atomic.AtomicInteger: void <init>(int)>(v);
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 = specialinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.RequestFuture sendListOffsetRequest(org.apache.kafkaesqueesque.common.Node,java.util.Map,boolean)>(v, v, v);
v = new org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$4;
specialinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$4: void <init>(org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher,org.apache.kafkaesqueesque.clients.consumer.internals.RequestFuture,java.util.Map,java.util.Set,java.util.concurrent.atomic.AtomicInteger)>(v, v, v, v, v);
virtualinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.RequestFuture: void addListener(org.apache.kafkaesqueesque.clients.consumer.internals.RequestFutureListener)>(v);
goto label;
label:
return v;
}
private java.util.Map groupListOffsetRequests(java.util.Map, java.util.Set)
{
org.apache.kafkaesqueesque.common.requests.ListOffsetRequest$PartitionData v;
org.apache.kafkaesqueesque.clients.consumer.internals.ConsumerMetadata v, v;
org.apache.kafkaesqueesque.clients.Metadata$LeaderAndEpoch v;
java.util.HashMap v;
long v;
java.util.Map v, v;
boolean v, v, v;
org.slf4j.Logger v, v;
java.util.Iterator v;
java.util.Set v, v;
java.util.Optional v, v, v;
java.lang.Object v, v, v, v;
org.apache.kafkaesqueesque.clients.consumer.internals.ConsumerNetworkClient v, v;
org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher v;
v := @this: org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher;
v := @parameter: java.util.Map;
v := @parameter: java.util.Set;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
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 = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.ConsumerMetadata metadata>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.ConsumerMetadata: org.apache.kafkaesqueesque.clients.Metadata$LeaderAndEpoch currentLeader(org.apache.kafkaesqueesque.common.TopicPartition)>(v);
v = v.<org.apache.kafkaesqueesque.clients.Metadata$LeaderAndEpoch: java.util.Optional leader>;
v = virtualinvoke v.<java.util.Optional: boolean isPresent()>();
if v != 0 goto label;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.slf4j.Logger log>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("Leader for partition {} is unknown for fetching offset {}", v, v);
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.ConsumerMetadata metadata>;
virtualinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.ConsumerMetadata: int requestUpdate()>();
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
goto label;
label:
v = v.<org.apache.kafkaesqueesque.clients.Metadata$LeaderAndEpoch: java.util.Optional leader>;
v = virtualinvoke v.<java.util.Optional: java.lang.Object get()>();
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.ConsumerNetworkClient client>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.ConsumerNetworkClient: boolean isUnavailable(org.apache.kafkaesqueesque.common.Node)>(v);
if v == 0 goto label;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.ConsumerNetworkClient client>;
virtualinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.ConsumerNetworkClient: void maybeThrowAuthFailure(org.apache.kafkaesqueesque.common.Node)>(v);
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.slf4j.Logger log>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("Leader {} for partition {} is unavailable for fetching offset until reconnect backoff expires", v, v);
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
goto label;
label:
v = new org.apache.kafkaesqueesque.common.requests.ListOffsetRequest$PartitionData;
v = virtualinvoke v.<java.lang.Long: long longValue()>();
v = v.<org.apache.kafkaesqueesque.clients.Metadata$LeaderAndEpoch: java.util.Optional epoch>;
specialinvoke v.<org.apache.kafkaesqueesque.common.requests.ListOffsetRequest$PartitionData: void <init>(long,java.util.Optional)>(v, v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
goto label;
label:
v = specialinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: java.util.Map regroupPartitionMapByNode(java.util.Map)>(v);
return v;
}
private org.apache.kafkaesqueesque.clients.consumer.internals.RequestFuture sendListOffsetRequest(org.apache.kafkaesqueesque.common.Node, java.util.Map, boolean)
{
org.apache.kafkaesqueesque.common.Node v;
org.apache.kafkaesqueesque.common.IsolationLevel v;
org.slf4j.Logger v;
org.apache.kafkaesqueesque.common.requests.ListOffsetRequest$Builder v, v;
org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$5 v;
org.apache.kafkaesqueesque.clients.consumer.internals.RequestFuture v, v;
java.util.Map v;
org.apache.kafkaesqueesque.clients.consumer.internals.ConsumerNetworkClient v;
org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher v;
boolean v;
v := @this: org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher;
v := @parameter: org.apache.kafkaesqueesque.common.Node;
v := @parameter: java.util.Map;
v := @parameter: boolean;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.common.IsolationLevel isolationLevel>;
v = staticinvoke <org.apache.kafkaesqueesque.common.requests.ListOffsetRequest$Builder: org.apache.kafkaesqueesque.common.requests.ListOffsetRequest$Builder forConsumer(boolean,org.apache.kafkaesqueesque.common.IsolationLevel)>(v, v);
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.requests.ListOffsetRequest$Builder: org.apache.kafkaesqueesque.common.requests.ListOffsetRequest$Builder setTargetTimes(java.util.Map)>(v);
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.slf4j.Logger log>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("Sending ListOffsetRequest {} to broker {}", v, v);
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.ConsumerNetworkClient client>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.ConsumerNetworkClient: org.apache.kafkaesqueesque.clients.consumer.internals.RequestFuture send(org.apache.kafkaesqueesque.common.Node,org.apache.kafkaesqueesque.common.requests.AbstractRequest$Builder)>(v, v);
v = new org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$5;
specialinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$5: void <init>(org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher,org.apache.kafkaesqueesque.common.Node,java.util.Map)>(v, v, v);
v = virtualinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.RequestFuture: org.apache.kafkaesqueesque.clients.consumer.internals.RequestFuture compose(org.apache.kafkaesqueesque.clients.consumer.internals.RequestFutureAdapter)>(v);
return v;
}
private void handleListOffsetResponse(java.util.Map, org.apache.kafkaesqueesque.common.requests.ListOffsetResponse, org.apache.kafkaesqueesque.clients.consumer.internals.RequestFuture)
{
java.lang.IllegalStateException v;
byte v, v;
int[] v;
java.lang.Long v, v, v, v, v, v;
org.apache.kafkaesqueesque.clients.consumer.internals.RequestFuture v;
java.util.Map v, v;
org.apache.kafkaesqueesque.common.protocol.Errors v;
boolean v, v, v;
org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$ListOffsetResult v;
java.util.Set v;
org.apache.kafkaesqueesque.common.requests.ListOffsetResponse v;
org.apache.kafkaesqueesque.common.errors.TopicAuthorizationException v;
java.util.List v, v, v, v, v;
java.util.Optional v, v;
java.lang.Object[] v;
org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$ListOffsetData v, v;
java.util.HashMap v;
long v, v, v;
java.util.HashSet v, v;
int v, v, v, v;
java.lang.String v, v, v;
org.slf4j.Logger v, v, v, v, v, v;
java.util.Iterator v;
java.lang.Object v, v, v, v;
org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher v;
v := @this: org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher;
v := @parameter: java.util.Map;
v := @parameter: org.apache.kafkaesqueesque.common.requests.ListOffsetResponse;
v := @parameter: org.apache.kafkaesqueesque.clients.consumer.internals.RequestFuture;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v = new java.util.HashSet;
specialinvoke v.<java.util.HashSet: void <init>()>();
v = new java.util.HashSet;
specialinvoke v.<java.util.HashSet: void <init>()>();
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 = virtualinvoke v.<org.apache.kafkaesqueesque.common.requests.ListOffsetResponse: java.util.Map responseData()>();
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
v = v.<org.apache.kafkaesqueesque.common.requests.ListOffsetResponse$PartitionData: org.apache.kafkaesqueesque.common.protocol.Errors error>;
v = <org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$6: int[] $SwitchMap$org$apache$kafka$common$protocol$Errors>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.protocol.Errors: int ordinal()>();
v = v[v];
tableswitch(v)
{
case 1: goto label;
case 2: goto label;
case 3: goto label;
case 4: goto label;
case 5: goto label;
case 6: goto label;
case 7: goto label;
case 8: goto label;
case 9: goto label;
case 10: goto label;
case 11: goto label;
default: goto label;
};
label:
v = v.<org.apache.kafkaesqueesque.common.requests.ListOffsetResponse$PartitionData: java.util.List offsets>;
if v == null goto label;
v = v.<org.apache.kafkaesqueesque.common.requests.ListOffsetResponse$PartitionData: java.util.List offsets>;
v = interfaceinvoke v.<java.util.List: int size()>();
if v <= 1 goto label;
v = new java.lang.IllegalStateException;
v = v.<org.apache.kafkaesqueesque.common.requests.ListOffsetResponse$PartitionData: java.util.List offsets>;
v = interfaceinvoke v.<java.util.List: int size()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int)>(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[])>("Unexpected partitionData response of length \u0001");
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
virtualinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.RequestFuture: void raise(java.lang.RuntimeException)>(v);
return;
label:
v = v.<org.apache.kafkaesqueesque.common.requests.ListOffsetResponse$PartitionData: java.util.List offsets>;
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
if v == 0 goto label;
v = -1L;
goto label;
label:
v = v.<org.apache.kafkaesqueesque.common.requests.ListOffsetResponse$PartitionData: java.util.List offsets>;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = virtualinvoke v.<java.lang.Long: long longValue()>();
label:
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.slf4j.Logger log>;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("Handling v ListOffsetResponse response for {}. Fetched offset {}", v, v);
v = v cmp -1L;
if v == 0 goto label;
v = new org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$ListOffsetData;
v = staticinvoke <java.util.Optional: java.util.Optional empty()>();
specialinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$ListOffsetData: void <init>(long,java.lang.Long,java.util.Optional)>(v, null, v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
goto label;
label:
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.slf4j.Logger log>;
v = newarray (java.lang.Object)[3];
v[0] = v;
v = v.<org.apache.kafkaesqueesque.common.requests.ListOffsetResponse$PartitionData: java.lang.Long offset>;
v[1] = v;
v = v.<org.apache.kafkaesqueesque.common.requests.ListOffsetResponse$PartitionData: java.lang.Long timestamp>;
v[2] = v;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object[])>("Handling ListOffsetResponse response for {}. Fetched offset {}, timestamp {}", v);
v = v.<org.apache.kafkaesqueesque.common.requests.ListOffsetResponse$PartitionData: java.lang.Long offset>;
v = virtualinvoke v.<java.lang.Long: long longValue()>();
v = v cmp -1L;
if v == 0 goto label;
v = new org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$ListOffsetData;
v = v.<org.apache.kafkaesqueesque.common.requests.ListOffsetResponse$PartitionData: java.lang.Long offset>;
v = virtualinvoke v.<java.lang.Long: long longValue()>();
v = v.<org.apache.kafkaesqueesque.common.requests.ListOffsetResponse$PartitionData: java.lang.Long timestamp>;
v = v.<org.apache.kafkaesqueesque.common.requests.ListOffsetResponse$PartitionData: java.util.Optional leaderEpoch>;
specialinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$ListOffsetData: void <init>(long,java.lang.Long,java.util.Optional)>(v, v, v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
goto label;
label:
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.slf4j.Logger log>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object)>("Cannot search by timestamp for partition {} because the message format version is before 0.10.0", v);
goto label;
label:
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.slf4j.Logger log>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("Attempt to fetch offsets for partition {} failed due to {}, retrying.", v, v);
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
goto label;
label:
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.slf4j.Logger log>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Object)>("Received unknown topic or partition error in ListOffset request for partition {}", v);
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
goto label;
label:
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.TopicPartition: java.lang.String topic()>();
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
goto label;
label:
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.slf4j.Logger log>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.protocol.Errors: java.lang.String message()>();
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Object,java.lang.Object)>("Attempt to fetch offsets for partition {} failed due to unexpected exception: {}, retrying.", v, v);
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
goto label;
label:
v = interfaceinvoke v.<java.util.Set: boolean isEmpty()>();
if v != 0 goto label;
v = new org.apache.kafkaesqueesque.common.errors.TopicAuthorizationException;
specialinvoke v.<org.apache.kafkaesqueesque.common.errors.TopicAuthorizationException: void <init>(java.util.Set)>(v);
virtualinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.RequestFuture: void raise(java.lang.RuntimeException)>(v);
goto label;
label:
v = new org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$ListOffsetResult;
specialinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$ListOffsetResult: void <init>(java.util.Map,java.util.Set)>(v, v);
virtualinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.RequestFuture: void complete(java.lang.Object)>(v);
label:
return;
}
private java.util.List fetchablePartitions()
{
java.util.Iterator v;
java.util.function.Predicate v;
java.util.HashSet v;
org.apache.kafkaesqueesque.common.TopicPartition v, v;
java.util.List v;
org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$CompletedFetch v, v, v;
java.lang.Object v;
org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState v;
org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher v;
boolean v, v;
java.util.concurrent.ConcurrentLinkedQueue v;
v := @this: org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher;
v = new java.util.HashSet;
specialinvoke v.<java.util.HashSet: void <init>()>();
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$CompletedFetch nextInLineFetch>;
if v == null goto label;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$CompletedFetch nextInLineFetch>;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$CompletedFetch: boolean isConsumed>;
if v != 0 goto label;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$CompletedFetch nextInLineFetch>;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$CompletedFetch: org.apache.kafkaesqueesque.common.TopicPartition partition>;
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
label:
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: java.util.concurrent.ConcurrentLinkedQueue completedFetches>;
v = virtualinvoke v.<java.util.concurrent.ConcurrentLinkedQueue: 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.kafkaesqueesque.clients.consumer.internals.Fetcher$CompletedFetch: org.apache.kafkaesqueesque.common.TopicPartition partition>;
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
goto label;
label:
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState subscriptions>;
v = staticinvoke <org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$lambda_fetchablePartitions_6__592: java.util.function.Predicate bootstrap$(java.util.Set)>(v);
v = virtualinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState: java.util.List fetchablePartitions(java.util.function.Predicate)>(v);
return v;
}
org.apache.kafkaesqueesque.common.Node selectReadReplica(org.apache.kafkaesqueesque.common.TopicPartition, org.apache.kafkaesqueesque.common.Node, long)
{
org.apache.kafkaesqueesque.common.Node v;
org.slf4j.Logger v;
long v;
java.util.function.Function v;
org.apache.kafkaesqueesque.common.TopicPartition v;
java.util.Optional v, v;
java.lang.Object v;
org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState v, v;
org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher v;
boolean v, v;
v := @this: org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher;
v := @parameter: org.apache.kafkaesqueesque.common.TopicPartition;
v := @parameter: org.apache.kafkaesqueesque.common.Node;
v := @parameter: long;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState subscriptions>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState: java.util.Optional preferredReadReplica(org.apache.kafkaesqueesque.common.TopicPartition,long)>(v, v);
v = virtualinvoke v.<java.util.Optional: boolean isPresent()>();
if v == 0 goto label;
v = staticinvoke <org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$lambda_selectReadReplica_7__593: java.util.function.Function bootstrap$(org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher,org.apache.kafkaesqueesque.common.TopicPartition)>(v, v);
v = virtualinvoke v.<java.util.Optional: java.util.Optional flatMap(java.util.function.Function)>(v);
v = virtualinvoke v.<java.util.Optional: boolean isPresent()>();
if v == 0 goto label;
v = virtualinvoke v.<java.util.Optional: java.lang.Object get()>();
return v;
label:
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.slf4j.Logger log>;
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String,java.lang.Object,java.lang.Object)>("Not fetching from {} for partition {} since it is marked offline or is missing from our metadata, using the leader instead.", v, v);
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState subscriptions>;
virtualinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState: java.util.Optional clearPreferredReadReplica(org.apache.kafkaesqueesque.common.TopicPartition)>(v);
return v;
label:
return v;
}
private java.util.Map prepareFetchRequests()
{
org.apache.kafkaesqueesque.common.Node v;
org.apache.kafkaesqueesque.clients.Metadata$LeaderAndEpoch v, v;
org.apache.kafkaesqueesque.common.IsolationLevel v;
java.lang.Integer v, v;
org.apache.kafkaesqueesque.common.utils.Time v;
java.util.Map v;
boolean v, v, v, v, v;
java.util.Set v, v, v;
java.util.List v;
java.util.Optional v, v;
org.apache.kafkaesqueesque.clients.consumer.internals.ConsumerMetadata v;
java.lang.Object[] v;
long v, v;
java.util.LinkedHashMap v, v;
org.apache.kafkaesqueesque.common.requests.FetchRequest$PartitionData v;
int v, v, v;
org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState v, v;
org.apache.kafkaesqueesque.clients.FetchSessionHandler$FetchRequestData v;
org.slf4j.Logger v, v, v;
java.util.Iterator v, v;
org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState$FetchPosition v;
org.apache.kafkaesqueesque.common.utils.LogContext v;
java.util.function.Consumer v;
org.apache.kafkaesqueesque.clients.FetchSessionHandler v, v;
java.lang.Object v, v, v, v, v, v;
org.apache.kafkaesqueesque.clients.consumer.internals.ConsumerNetworkClient v, v;
org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher v;
v := @this: org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher;
v = new java.util.LinkedHashMap;
specialinvoke v.<java.util.LinkedHashMap: void <init>()>();
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState subscriptions>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState: java.util.Set assignedPartitions()>();
v = staticinvoke <org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$lambda_prepareFetchRequests_8__594: java.util.function.Consumer bootstrap$(org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher)>(v);
interfaceinvoke v.<java.util.Set: void forEach(java.util.function.Consumer)>(v);
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.common.utils.Time time>;
v = interfaceinvoke v.<org.apache.kafkaesqueesque.common.utils.Time: long milliseconds()>();
v = specialinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: java.util.List fetchablePartitions()>();
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.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState subscriptions>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState: org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState$FetchPosition position(org.apache.kafkaesqueesque.common.TopicPartition)>(v);
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState$FetchPosition: org.apache.kafkaesqueesque.clients.Metadata$LeaderAndEpoch currentLeader>;
v = v.<org.apache.kafkaesqueesque.clients.Metadata$LeaderAndEpoch: java.util.Optional leader>;
v = virtualinvoke v.<java.util.Optional: boolean isPresent()>();
if v != 0 goto label;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.ConsumerMetadata metadata>;
virtualinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.ConsumerMetadata: int requestUpdate()>();
goto label;
label:
v = virtualinvoke v.<java.util.Optional: java.lang.Object get()>();
v = virtualinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.common.Node selectReadReplica(org.apache.kafkaesqueesque.common.TopicPartition,org.apache.kafkaesqueesque.common.Node,long)>(v, v, v);
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.ConsumerNetworkClient client>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.ConsumerNetworkClient: boolean isUnavailable(org.apache.kafkaesqueesque.common.Node)>(v);
if v == 0 goto label;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.ConsumerNetworkClient client>;
virtualinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.ConsumerNetworkClient: void maybeThrowAuthFailure(org.apache.kafkaesqueesque.common.Node)>(v);
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.slf4j.Logger log>;
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String,java.lang.Object,java.lang.Object)>("Skipping fetch for partition {} because node {} is awaiting reconnect backoff", v, v);
goto label;
label:
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: java.util.Set nodesWithPendingFetchRequests>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.Node: int id()>();
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v = interfaceinvoke v.<java.util.Set: boolean contains(java.lang.Object)>(v);
if v == 0 goto label;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.slf4j.Logger log>;
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String,java.lang.Object,java.lang.Object)>("Skipping fetch for partition {} because previous request to {} has not been processed", v, v);
goto label;
label:
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
if v != null goto label;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.Node: int id()>();
v = virtualinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.FetchSessionHandler sessionHandler(int)>(v);
if v != null goto label;
v = new org.apache.kafkaesqueesque.clients.FetchSessionHandler;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.common.utils.LogContext logContext>;
specialinvoke v.<org.apache.kafkaesqueesque.clients.FetchSessionHandler: void <init>(org.apache.kafkaesqueesque.common.utils.LogContext,int)>(v, v);
v = v;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: java.util.Map sessionHandlers>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
label:
v = virtualinvoke v.<org.apache.kafkaesqueesque.clients.FetchSessionHandler: org.apache.kafkaesqueesque.clients.FetchSessionHandler$Builder newBuilder()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
label:
v = new org.apache.kafkaesqueesque.common.requests.FetchRequest$PartitionData;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState$FetchPosition: long offset>;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: int fetchSize>;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState$FetchPosition: org.apache.kafkaesqueesque.clients.Metadata$LeaderAndEpoch currentLeader>;
v = v.<org.apache.kafkaesqueesque.clients.Metadata$LeaderAndEpoch: java.util.Optional epoch>;
specialinvoke v.<org.apache.kafkaesqueesque.common.requests.FetchRequest$PartitionData: void <init>(long,long,int,java.util.Optional)>(v, -1L, v, v);
virtualinvoke v.<org.apache.kafkaesqueesque.clients.FetchSessionHandler$Builder: void add(org.apache.kafkaesqueesque.common.TopicPartition,org.apache.kafkaesqueesque.common.requests.FetchRequest$PartitionData)>(v, v);
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.slf4j.Logger log>;
v = newarray (java.lang.Object)[4];
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.common.IsolationLevel isolationLevel>;
v[0] = v;
v[1] = v;
v[2] = v;
v[3] = v;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object[])>("Added {} fetch request for partition {} at position {} to node {}", v);
goto label;
label:
v = new java.util.LinkedHashMap;
specialinvoke v.<java.util.LinkedHashMap: void <init>()>();
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 = virtualinvoke v.<org.apache.kafkaesqueesque.clients.FetchSessionHandler$Builder: org.apache.kafkaesqueesque.clients.FetchSessionHandler$FetchRequestData build()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
goto label;
label:
return v;
}
private java.util.Map regroupFetchPositionsByLeader(java.util.Map)
{
java.util.function.Predicate v;
java.util.Set v;
java.util.function.Function v, v, v;
java.util.stream.Stream v, v;
java.util.Map v;
java.lang.Object v;
java.util.stream.Collector v, v;
org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher v;
v := @this: org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher;
v := @parameter: java.util.Map;
v = interfaceinvoke v.<java.util.Map: java.util.Set entrySet()>();
v = interfaceinvoke v.<java.util.Set: java.util.stream.Stream stream()>();
v = staticinvoke <org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$lambda_regroupFetchPositionsByLeader_9__595: java.util.function.Predicate bootstrap$()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream filter(java.util.function.Predicate)>(v);
v = staticinvoke <org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$lambda_regroupFetchPositionsByLeader_10__596: java.util.function.Function bootstrap$()>();
v = staticinvoke <org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$getKey__597: java.util.function.Function bootstrap$()>();
v = staticinvoke <org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$getValue__598: java.util.function.Function bootstrap$()>();
v = staticinvoke <java.util.stream.Collectors: java.util.stream.Collector toMap(java.util.function.Function,java.util.function.Function)>(v, v);
v = staticinvoke <java.util.stream.Collectors: java.util.stream.Collector groupingBy(java.util.function.Function,java.util.stream.Collector)>(v, v);
v = interfaceinvoke v.<java.util.stream.Stream: java.lang.Object collect(java.util.stream.Collector)>(v);
return v;
}
private java.util.Map regroupPartitionMapByNode(java.util.Map)
{
java.util.Set v;
java.util.function.Function v, v, v;
java.util.stream.Stream v;
java.util.Map v;
java.lang.Object v;
java.util.stream.Collector v, v;
org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher v;
v := @this: org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher;
v := @parameter: java.util.Map;
v = interfaceinvoke v.<java.util.Map: java.util.Set entrySet()>();
v = interfaceinvoke v.<java.util.Set: java.util.stream.Stream stream()>();
v = staticinvoke <org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$lambda_regroupPartitionMapByNode_11__599: java.util.function.Function bootstrap$(org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher)>(v);
v = staticinvoke <org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$getKey__600: java.util.function.Function bootstrap$()>();
v = staticinvoke <org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$getValue__601: java.util.function.Function bootstrap$()>();
v = staticinvoke <java.util.stream.Collectors: java.util.stream.Collector toMap(java.util.function.Function,java.util.function.Function)>(v, v);
v = staticinvoke <java.util.stream.Collectors: java.util.stream.Collector groupingBy(java.util.function.Function,java.util.stream.Collector)>(v, v);
v = interfaceinvoke v.<java.util.stream.Stream: java.lang.Object collect(java.util.stream.Collector)>(v);
return v;
}
private org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$CompletedFetch initializeCompletedFetch(org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$CompletedFetch)
{
java.lang.Integer v;
byte v, v, v, v, v;
java.lang.Long v, v, v, v, v, v, v, v, v;
java.util.Map v, v;
org.apache.kafkaesqueesque.common.protocol.Errors v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.util.Set v;
org.apache.kafkaesqueesque.common.errors.TopicAuthorizationException v;
org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$CompletedFetch v, v;
java.lang.Throwable v;
org.apache.kafkaesqueesque.clients.consumer.internals.ConsumerMetadata v, v;
java.lang.Object[] v, v, v, v;
long v, v, v, v, v, v, v, v, v, v, v, v;
java.util.function.Supplier v;
short v, v;
java.lang.String v, v, v, v, v;
org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.apache.kafkaesqueesque.common.record.BaseRecords v, v, v;
org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState$FetchPosition v, v, v;
org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher v;
java.lang.IllegalStateException v;
org.apache.kafkaesqueesque.common.requests.FetchResponse$PartitionData v;
boolean v, v, v, v, v;
java.util.Optional v, v, v;
java.lang.Iterable v;
org.apache.kafkaesqueesque.common.TopicPartition v, v;
org.apache.kafkaesqueesque.clients.consumer.OffsetOutOfRangeException v;
int v, v, v, v;
org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$FetchResponseMetricAggregator v, v, v;
org.slf4j.Logger v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.util.Iterator v;
org.apache.kafkaesqueesque.common.errors.RecordTooLargeException v;
org.apache.kafkaesqueesque.common.KafkaException v;
java.lang.Object v, v;
v := @this: org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher;
v := @parameter: org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$CompletedFetch;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$CompletedFetch: org.apache.kafkaesqueesque.common.TopicPartition partition>;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$CompletedFetch: org.apache.kafkaesqueesque.common.requests.FetchResponse$PartitionData partitionData>;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$CompletedFetch: long nextFetchOffset>;
v = null;
v = v.<org.apache.kafkaesqueesque.common.requests.FetchResponse$PartitionData: org.apache.kafkaesqueesque.common.protocol.Errors error>;
label:
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState subscriptions>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState: boolean hasValidPosition(org.apache.kafkaesqueesque.common.TopicPartition)>(v);
if v != 0 goto label;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.slf4j.Logger log>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object)>("Ignoring fetched records for partition {} since it no longer has valid position", v);
goto label;
label:
v = <org.apache.kafkaesqueesque.common.protocol.Errors: org.apache.kafkaesqueesque.common.protocol.Errors NONE>;
if v != v goto label;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState subscriptions>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState: org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState$FetchPosition position(org.apache.kafkaesqueesque.common.TopicPartition)>(v);
if v == null goto label;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState$FetchPosition: long offset>;
v = v cmp v;
if v == 0 goto label;
label:
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.slf4j.Logger log>;
v = newarray (java.lang.Object)[3];
v[0] = v;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v[1] = v;
v[2] = v;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object[])>("Discarding stale fetch response for partition {} since its offset {} does not match the expected offset {}", v);
label:
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$CompletedFetch: org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$FetchResponseMetricAggregator metricAggregator>;
virtualinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$FetchResponseMetricAggregator: void record(org.apache.kafkaesqueesque.common.TopicPartition,int,int)>(v, 0, 0);
v = <org.apache.kafkaesqueesque.common.protocol.Errors: org.apache.kafkaesqueesque.common.protocol.Errors NONE>;
if v == v goto label;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState subscriptions>;
virtualinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState: void movePartitionToEnd(org.apache.kafkaesqueesque.common.TopicPartition)>(v);
label:
return null;
label:
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.slf4j.Logger log>;
v = newarray (java.lang.Object)[3];
v = v.<org.apache.kafkaesqueesque.common.requests.FetchResponse$PartitionData: org.apache.kafkaesqueesque.common.record.BaseRecords records>;
v = interfaceinvoke v.<org.apache.kafkaesqueesque.common.record.Records: int sizeInBytes()>();
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[0] = v;
v[1] = v;
v[2] = v;
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String,java.lang.Object[])>("Preparing to read {} bytes of data for partition {} with offset {}", v);
v = v.<org.apache.kafkaesqueesque.common.requests.FetchResponse$PartitionData: org.apache.kafkaesqueesque.common.record.BaseRecords records>;
v = interfaceinvoke v.<org.apache.kafkaesqueesque.common.record.Records: java.lang.Iterable batches()>();
v = interfaceinvoke v.<java.lang.Iterable: java.util.Iterator iterator()>();
v = v;
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v != 0 goto label;
v = v.<org.apache.kafkaesqueesque.common.requests.FetchResponse$PartitionData: org.apache.kafkaesqueesque.common.record.BaseRecords records>;
v = interfaceinvoke v.<org.apache.kafkaesqueesque.common.record.Records: int sizeInBytes()>();
if v <= 0 goto label;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$CompletedFetch: short responseVersion>;
if v >= 3 goto label;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v = staticinvoke <java.util.Collections: java.util.Map singletonMap(java.lang.Object,java.lang.Object)>(v, v);
v = new org.apache.kafkaesqueesque.common.errors.RecordTooLargeException;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: int fetchSize>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.util.Map,int)>(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[])>("There are some messages at [Partition=Offset]: \u whose size is larger than the fetch size \u and hence cannot be returned. Please considering upgrading your broker to 0.10.1.0 or newer to avoid this issue. Alternately, increase the fetch size on the client (using max.partition.fetch.bytes)");
specialinvoke v.<org.apache.kafkaesqueesque.common.errors.RecordTooLargeException: void <init>(java.lang.String,java.util.Map)>(v, v);
throw v;
label:
v = new org.apache.kafkaesqueesque.common.KafkaException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.kafkaesqueesque.common.TopicPartition,long)>(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[])>("Failed to make progress reading messages at \u0001=\u. Received a non-empty fetch response from the server, but no complete records were found.");
specialinvoke v.<org.apache.kafkaesqueesque.common.KafkaException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v.<org.apache.kafkaesqueesque.common.requests.FetchResponse$PartitionData: long highWatermark>;
v = v cmp 0L;
if v < 0 goto label;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.slf4j.Logger log>;
v = v.<org.apache.kafkaesqueesque.common.requests.FetchResponse$PartitionData: long highWatermark>;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String,java.lang.Object,java.lang.Object)>("Updating high watermark for partition {} to {}", v, v);
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState subscriptions>;
v = v.<org.apache.kafkaesqueesque.common.requests.FetchResponse$PartitionData: long highWatermark>;
virtualinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState: void updateHighWatermark(org.apache.kafkaesqueesque.common.TopicPartition,long)>(v, v);
label:
v = v.<org.apache.kafkaesqueesque.common.requests.FetchResponse$PartitionData: long logStartOffset>;
v = v cmp 0L;
if v < 0 goto label;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.slf4j.Logger log>;
v = v.<org.apache.kafkaesqueesque.common.requests.FetchResponse$PartitionData: long logStartOffset>;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String,java.lang.Object,java.lang.Object)>("Updating log start offset for partition {} to {}", v, v);
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState subscriptions>;
v = v.<org.apache.kafkaesqueesque.common.requests.FetchResponse$PartitionData: long logStartOffset>;
virtualinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState: void updateLogStartOffset(org.apache.kafkaesqueesque.common.TopicPartition,long)>(v, v);
label:
v = v.<org.apache.kafkaesqueesque.common.requests.FetchResponse$PartitionData: long lastStableOffset>;
v = v cmp 0L;
if v < 0 goto label;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.slf4j.Logger log>;
v = v.<org.apache.kafkaesqueesque.common.requests.FetchResponse$PartitionData: long lastStableOffset>;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String,java.lang.Object,java.lang.Object)>("Updating last stable offset for partition {} to {}", v, v);
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState subscriptions>;
v = v.<org.apache.kafkaesqueesque.common.requests.FetchResponse$PartitionData: long lastStableOffset>;
virtualinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState: void updateLastStableOffset(org.apache.kafkaesqueesque.common.TopicPartition,long)>(v, v);
label:
v = v.<org.apache.kafkaesqueesque.common.requests.FetchResponse$PartitionData: java.util.Optional preferredReadReplica>;
v = virtualinvoke v.<java.util.Optional: boolean isPresent()>();
if v == 0 goto label;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState subscriptions>;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$CompletedFetch: org.apache.kafkaesqueesque.common.TopicPartition partition>;
v = v.<org.apache.kafkaesqueesque.common.requests.FetchResponse$PartitionData: java.util.Optional preferredReadReplica>;
v = virtualinvoke v.<java.util.Optional: java.lang.Object get()>();
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
v = staticinvoke <org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$lambda_initializeCompletedFetch_12__602: java.util.function.Supplier bootstrap$(org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher,org.apache.kafkaesqueesque.common.TopicPartition,org.apache.kafkaesqueesque.common.requests.FetchResponse$PartitionData)>(v, v, v);
virtualinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState: void updatePreferredReadReplica(org.apache.kafkaesqueesque.common.TopicPartition,int,java.util.function.Supplier)>(v, v, v);
label:
v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$CompletedFetch: boolean initialized> = 1;
goto label;
label:
v = <org.apache.kafkaesqueesque.common.protocol.Errors: org.apache.kafkaesqueesque.common.protocol.Errors NOT_LEADER_FOR_PARTITION>;
if v == v goto label;
v = <org.apache.kafkaesqueesque.common.protocol.Errors: org.apache.kafkaesqueesque.common.protocol.Errors REPLICA_NOT_AVAILABLE>;
if v == v goto label;
v = <org.apache.kafkaesqueesque.common.protocol.Errors: org.apache.kafkaesqueesque.common.protocol.Errors KAFKA_STORAGE_ERROR>;
if v == v goto label;
v = <org.apache.kafkaesqueesque.common.protocol.Errors: org.apache.kafkaesqueesque.common.protocol.Errors FENCED_LEADER_EPOCH>;
if v == v goto label;
v = <org.apache.kafkaesqueesque.common.protocol.Errors: org.apache.kafkaesqueesque.common.protocol.Errors OFFSET_NOT_AVAILABLE>;
if v != v goto label;
label:
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.slf4j.Logger log>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.protocol.Errors: java.lang.String exceptionName()>();
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("Error in fetch for partition {}: {}", v, v);
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.ConsumerMetadata metadata>;
virtualinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.ConsumerMetadata: int requestUpdate()>();
goto label;
label:
v = <org.apache.kafkaesqueesque.common.protocol.Errors: org.apache.kafkaesqueesque.common.protocol.Errors UNKNOWN_TOPIC_OR_PARTITION>;
if v != v goto label;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.slf4j.Logger log>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Object)>("Received unknown topic or partition error in fetch for partition {}", v);
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.ConsumerMetadata metadata>;
virtualinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.ConsumerMetadata: int requestUpdate()>();
goto label;
label:
v = <org.apache.kafkaesqueesque.common.protocol.Errors: org.apache.kafkaesqueesque.common.protocol.Errors OFFSET_OUT_OF_RANGE>;
if v != v goto label;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState subscriptions>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState: java.util.Optional clearPreferredReadReplica(org.apache.kafkaesqueesque.common.TopicPartition)>(v);
v = virtualinvoke v.<java.util.Optional: boolean isPresent()>();
if v != 0 goto label;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState subscriptions>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState: org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState$FetchPosition position(org.apache.kafkaesqueesque.common.TopicPartition)>(v);
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState$FetchPosition: long offset>;
v = v cmp v;
if v == 0 goto label;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.slf4j.Logger log>;
v = newarray (java.lang.Object)[3];
v[0] = v;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v[1] = v;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState subscriptions>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState: org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState$FetchPosition position(org.apache.kafkaesqueesque.common.TopicPartition)>(v);
v[2] = v;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object[])>("Discarding stale fetch response for partition {} since the fetched offset {} does not match the current offset {}", v);
goto label;
label:
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState subscriptions>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState: boolean hasDefaultOffsetResetPolicy()>();
if v == 0 goto label;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.slf4j.Logger log>;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object,java.lang.Object)>("Fetch offset {} is out of range for partition {}, resetting offset", v, v);
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState subscriptions>;
virtualinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState: void requestOffsetReset(org.apache.kafkaesqueesque.common.TopicPartition)>(v);
goto label;
label:
v = new org.apache.kafkaesqueesque.clients.consumer.OffsetOutOfRangeException;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v = staticinvoke <java.util.Collections: java.util.Map singletonMap(java.lang.Object,java.lang.Object)>(v, v);
specialinvoke v.<org.apache.kafkaesqueesque.clients.consumer.OffsetOutOfRangeException: void <init>(java.util.Map)>(v);
throw v;
label:
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.slf4j.Logger log>;
v = newarray (java.lang.Object)[4];
v = virtualinvoke v.<java.util.Optional: java.lang.Object get()>();
v[0] = v;
v[1] = v;
v[2] = v;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v[3] = v;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object[])>("Unset the preferred read replica {} for partition {} since we got {} when fetching {}", v);
goto label;
label:
v = <org.apache.kafkaesqueesque.common.protocol.Errors: org.apache.kafkaesqueesque.common.protocol.Errors TOPIC_AUTHORIZATION_FAILED>;
if v != v goto label;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.slf4j.Logger log>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Object)>("Not authorized to read from partition {}.", v);
v = new org.apache.kafkaesqueesque.common.errors.TopicAuthorizationException;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.TopicPartition: java.lang.String topic()>();
v = staticinvoke <java.util.Collections: java.util.Set singleton(java.lang.Object)>(v);
specialinvoke v.<org.apache.kafkaesqueesque.common.errors.TopicAuthorizationException: void <init>(java.util.Set)>(v);
throw v;
label:
v = <org.apache.kafkaesqueesque.common.protocol.Errors: org.apache.kafkaesqueesque.common.protocol.Errors UNKNOWN_LEADER_EPOCH>;
if v != v goto label;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.slf4j.Logger log>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object)>("Received unknown leader epoch error in fetch for partition {}", v);
goto label;
label:
v = <org.apache.kafkaesqueesque.common.protocol.Errors: org.apache.kafkaesqueesque.common.protocol.Errors UNKNOWN_SERVER_ERROR>;
if v != v goto label;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.slf4j.Logger log>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Object)>("Unknown error fetching data for topic-partition {}", v);
goto label;
label:
v = new java.lang.IllegalStateException;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.protocol.Errors: short code()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (short,org.apache.kafkaesqueesque.common.TopicPartition)>(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[])>("Unexpected error code \u while fetching from partition \u0001");
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
label:
if v != null goto label;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$CompletedFetch: org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$FetchResponseMetricAggregator metricAggregator>;
virtualinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$FetchResponseMetricAggregator: void record(org.apache.kafkaesqueesque.common.TopicPartition,int,int)>(v, 0, 0);
label:
v = <org.apache.kafkaesqueesque.common.protocol.Errors: org.apache.kafkaesqueesque.common.protocol.Errors NONE>;
if v == v goto label;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState subscriptions>;
virtualinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState: void movePartitionToEnd(org.apache.kafkaesqueesque.common.TopicPartition)>(v);
goto label;
label:
v := @caughtexception;
if v != null goto label;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$CompletedFetch: org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$FetchResponseMetricAggregator metricAggregator>;
virtualinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$FetchResponseMetricAggregator: void record(org.apache.kafkaesqueesque.common.TopicPartition,int,int)>(v, 0, 0);
label:
v = <org.apache.kafkaesqueesque.common.protocol.Errors: org.apache.kafkaesqueesque.common.protocol.Errors NONE>;
if v == v goto label;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState subscriptions>;
virtualinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState: void movePartitionToEnd(org.apache.kafkaesqueesque.common.TopicPartition)>(v);
label:
throw v;
label:
return v;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
private org.apache.kafkaesqueesque.clients.consumer.ConsumerRecord parseRecord(org.apache.kafkaesqueesque.common.TopicPartition, org.apache.kafkaesqueesque.common.record.RecordBatch, org.apache.kafkaesqueesque.common.record.Record)
{
byte[] v, v, v, v;
java.nio.ByteBuffer v, v;
org.apache.kafkaesqueesque.common.serialization.Deserializer v, v;
java.lang.Long v;
org.apache.kafkaesqueesque.common.record.TimestampType v;
org.apache.kafkaesqueesque.common.header.Header[] v;
java.util.Optional v;
org.apache.kafkaesqueesque.clients.consumer.ConsumerRecord v;
long v, v, v;
org.apache.kafkaesqueesque.common.TopicPartition v;
int v, v, v, v, v, v;
java.lang.String v, v, v, v;
org.apache.kafkaesqueesque.common.record.Record v;
org.apache.kafkaesqueesque.common.errors.SerializationException v;
org.apache.kafkaesqueesque.common.header.internals.RecordHeaders v;
java.lang.RuntimeException v;
java.lang.Object v, v, v, v;
org.apache.kafkaesqueesque.common.record.RecordBatch v;
org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher v;
v := @this: org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher;
v := @parameter: org.apache.kafkaesqueesque.common.TopicPartition;
v := @parameter: org.apache.kafkaesqueesque.common.record.RecordBatch;
v := @parameter: org.apache.kafkaesqueesque.common.record.Record;
label:
v = interfaceinvoke v.<org.apache.kafkaesqueesque.common.record.Record: long offset()>();
v = interfaceinvoke v.<org.apache.kafkaesqueesque.common.record.Record: long timestamp()>();
v = interfaceinvoke v.<org.apache.kafkaesqueesque.common.record.RecordBatch: int partitionLeaderEpoch()>();
v = specialinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: java.util.Optional maybeLeaderEpoch(int)>(v);
v = interfaceinvoke v.<org.apache.kafkaesqueesque.common.record.RecordBatch: org.apache.kafkaesqueesque.common.record.TimestampType timestampType()>();
v = new org.apache.kafkaesqueesque.common.header.internals.RecordHeaders;
v = interfaceinvoke v.<org.apache.kafkaesqueesque.common.record.Record: org.apache.kafkaesqueesque.common.header.Header[] headers()>();
specialinvoke v.<org.apache.kafkaesqueesque.common.header.internals.RecordHeaders: void <init>(org.apache.kafkaesqueesque.common.header.Header[])>(v);
v = interfaceinvoke v.<org.apache.kafkaesqueesque.common.record.Record: java.nio.ByteBuffer key()>();
if v != null goto label;
v = null;
goto label;
label:
v = staticinvoke <org.apache.kafkaesqueesque.common.utils.Utils: byte[] toArray(java.nio.ByteBuffer)>(v);
label:
v = v;
if v != null goto label;
v = null;
goto label;
label:
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.common.serialization.Deserializer keyDeserializer>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.TopicPartition: java.lang.String topic()>();
v = interfaceinvoke v.<org.apache.kafkaesqueesque.common.serialization.Deserializer: java.lang.Object deserialize(java.lang.String,org.apache.kafkaesqueesque.common.header.Headers,byte[])>(v, v, v);
label:
v = v;
v = interfaceinvoke v.<org.apache.kafkaesqueesque.common.record.Record: java.nio.ByteBuffer value()>();
if v != null goto label;
v = null;
goto label;
label:
v = staticinvoke <org.apache.kafkaesqueesque.common.utils.Utils: byte[] toArray(java.nio.ByteBuffer)>(v);
label:
v = v;
if v != null goto label;
v = null;
goto label;
label:
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.common.serialization.Deserializer valueDeserializer>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.TopicPartition: java.lang.String topic()>();
v = interfaceinvoke v.<org.apache.kafkaesqueesque.common.serialization.Deserializer: java.lang.Object deserialize(java.lang.String,org.apache.kafkaesqueesque.common.header.Headers,byte[])>(v, v, v);
label:
v = v;
v = new org.apache.kafkaesqueesque.clients.consumer.ConsumerRecord;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.TopicPartition: java.lang.String topic()>();
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.TopicPartition: int partition()>();
v = interfaceinvoke v.<org.apache.kafkaesqueesque.common.record.Record: java.lang.Long checksumOrNull()>();
if v != null goto label;
v = (int) -1;
v = v;
goto label;
label:
v = lengthof v;
label:
if v != null goto label;
v = (int) -1;
v = v;
goto label;
label:
v = lengthof v;
label:
specialinvoke v.<org.apache.kafkaesqueesque.clients.consumer.ConsumerRecord: void <init>(java.lang.String,int,long,long,org.apache.kafkaesqueesque.common.record.TimestampType,java.lang.Long,int,int,java.lang.Object,java.lang.Object,org.apache.kafkaesqueesque.common.header.Headers,java.util.Optional)>(v, v, v, v, v, v, v, v, v, v, v, v);
label:
return v;
label:
v := @caughtexception;
v = new org.apache.kafkaesqueesque.common.errors.SerializationException;
v = interfaceinvoke v.<org.apache.kafkaesqueesque.common.record.Record: long offset()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.kafkaesqueesque.common.TopicPartition,long)>(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[])>("Error deserializing key/value for partition \u at offset \u. If needed, please seek past the record to continue consumption.");
specialinvoke v.<org.apache.kafkaesqueesque.common.errors.SerializationException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
catch java.lang.RuntimeException from label to label with label;
}
private java.util.Optional maybeLeaderEpoch(int)
{
int v, v;
java.util.Optional v;
java.lang.Integer v;
org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher v;
v := @this: org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher;
v := @parameter: int;
v = (int) -1;
if v != v goto label;
v = staticinvoke <java.util.Optional: java.util.Optional empty()>();
goto label;
label:
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v = staticinvoke <java.util.Optional: java.util.Optional of(java.lang.Object)>(v);
label:
return v;
}
public void clearBufferedDataForUnassignedPartitions(java.util.Collection)
{
java.util.Iterator v;
java.util.Collection v;
org.apache.kafkaesqueesque.common.TopicPartition v, v;
org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$CompletedFetch v, v, v;
java.lang.Object v;
org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher v;
boolean v, v, v;
java.util.concurrent.ConcurrentLinkedQueue v;
v := @this: org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher;
v := @parameter: java.util.Collection;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: java.util.concurrent.ConcurrentLinkedQueue completedFetches>;
v = virtualinvoke v.<java.util.concurrent.ConcurrentLinkedQueue: 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.kafkaesqueesque.clients.consumer.internals.Fetcher$CompletedFetch: org.apache.kafkaesqueesque.common.TopicPartition partition>;
v = interfaceinvoke v.<java.util.Collection: boolean contains(java.lang.Object)>(v);
if v != 0 goto label;
specialinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$CompletedFetch: void drain()>();
interfaceinvoke v.<java.util.Iterator: void remove()>();
goto label;
label:
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$CompletedFetch nextInLineFetch>;
if v == null goto label;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$CompletedFetch nextInLineFetch>;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$CompletedFetch: org.apache.kafkaesqueesque.common.TopicPartition partition>;
v = interfaceinvoke v.<java.util.Collection: boolean contains(java.lang.Object)>(v);
if v != 0 goto label;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$CompletedFetch nextInLineFetch>;
specialinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$CompletedFetch: void drain()>();
v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$CompletedFetch nextInLineFetch> = null;
label:
return;
}
public void clearBufferedDataForUnassignedTopics(java.util.Collection)
{
java.util.Iterator v;
java.util.Collection v;
java.util.Set v;
java.util.HashSet v;
java.lang.Object v;
java.lang.String v;
org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState v;
org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher v;
boolean v, v;
v := @this: org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher;
v := @parameter: java.util.Collection;
v = new java.util.HashSet;
specialinvoke v.<java.util.HashSet: void <init>()>();
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState subscriptions>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.SubscriptionState: java.util.Set assignedPartitions()>();
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 = virtualinvoke v.<org.apache.kafkaesqueesque.common.TopicPartition: java.lang.String topic()>();
v = interfaceinvoke v.<java.util.Collection: boolean contains(java.lang.Object)>(v);
if v == 0 goto label;
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
goto label;
label:
virtualinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: void clearBufferedDataForUnassignedPartitions(java.util.Collection)>(v);
return;
}
protected org.apache.kafkaesqueesque.clients.FetchSessionHandler sessionHandler(int)
{
java.util.Map v;
int v;
java.lang.Object v;
java.lang.Integer v;
org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher v;
v := @this: org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher;
v := @parameter: int;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: java.util.Map sessionHandlers>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
return v;
}
public static org.apache.kafkaesqueesque.common.metrics.Sensor throttleTimeSensor(org.apache.kafkaesqueesque.common.metrics.Metrics, org.apache.kafkaesqueesque.clients.consumer.internals.FetcherMetricsRegistry)
{
org.apache.kafkaesqueesque.clients.consumer.internals.FetcherMetricsRegistry v;
org.apache.kafkaesqueesque.common.metrics.stats.Avg v;
java.lang.String[] v, v;
org.apache.kafkaesqueesque.common.MetricNameTemplate v, v;
org.apache.kafkaesqueesque.common.MetricName v, v;
org.apache.kafkaesqueesque.common.metrics.Metrics v;
org.apache.kafkaesqueesque.common.metrics.Sensor v;
org.apache.kafkaesqueesque.common.metrics.stats.Max v;
v := @parameter: org.apache.kafkaesqueesque.common.metrics.Metrics;
v := @parameter: org.apache.kafkaesqueesque.clients.consumer.internals.FetcherMetricsRegistry;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.metrics.Metrics: org.apache.kafkaesqueesque.common.metrics.Sensor sensor(java.lang.String)>("fetch-throttle-time");
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.FetcherMetricsRegistry: org.apache.kafkaesqueesque.common.MetricNameTemplate fetchThrottleTimeAvg>;
v = newarray (java.lang.String)[0];
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.metrics.Metrics: org.apache.kafkaesqueesque.common.MetricName metricInstance(org.apache.kafkaesqueesque.common.MetricNameTemplate,java.lang.String[])>(v, v);
v = new org.apache.kafkaesqueesque.common.metrics.stats.Avg;
specialinvoke v.<org.apache.kafkaesqueesque.common.metrics.stats.Avg: void <init>()>();
virtualinvoke v.<org.apache.kafkaesqueesque.common.metrics.Sensor: boolean add(org.apache.kafkaesqueesque.common.MetricName,org.apache.kafkaesqueesque.common.metrics.MeasurableStat)>(v, v);
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.FetcherMetricsRegistry: org.apache.kafkaesqueesque.common.MetricNameTemplate fetchThrottleTimeMax>;
v = newarray (java.lang.String)[0];
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.metrics.Metrics: org.apache.kafkaesqueesque.common.MetricName metricInstance(org.apache.kafkaesqueesque.common.MetricNameTemplate,java.lang.String[])>(v, v);
v = new org.apache.kafkaesqueesque.common.metrics.stats.Max;
specialinvoke v.<org.apache.kafkaesqueesque.common.metrics.stats.Max: void <init>()>();
virtualinvoke v.<org.apache.kafkaesqueesque.common.metrics.Sensor: boolean add(org.apache.kafkaesqueesque.common.MetricName,org.apache.kafkaesqueesque.common.metrics.MeasurableStat)>(v, v);
return v;
}
public void close()
{
org.apache.kafkaesqueesque.common.record.BufferSupplier v;
org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$CompletedFetch v, v;
org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher v;
v := @this: org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$CompletedFetch nextInLineFetch>;
if v == null goto label;
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$CompletedFetch nextInLineFetch>;
specialinvoke v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$CompletedFetch: void drain()>();
label:
v = v.<org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher: org.apache.kafkaesqueesque.common.record.BufferSupplier decompressionBufferSupplier>;
virtualinvoke v.<org.apache.kafkaesqueesque.common.record.BufferSupplier: void close()>();
return;
}
private java.util.Set topicsForPartitions(java.util.Collection)
{
java.util.stream.Stream v, v;
java.util.Collection v;
java.lang.Object v;
java.util.stream.Collector v;
java.util.function.Function v;
org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher v;
v := @this: org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher;
v := @parameter: java.util.Collection;
v = interfaceinvoke v.<java.util.Collection: java.util.stream.Stream stream()>();
v = staticinvoke <org.apache.kafkaesqueesque.clients.consumer.internals.Fetcher$topic__603: java.util.function.Function bootstrap$()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream map(java.util.function.Function)>(v);
v = staticinvoke <java.util.stream.Collectors: java.util.stream.Collector toSet()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.lang.Object collect(java.util.stream.Collector)>(v);
return v;
}
}