public class org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer extends java.lang.Object implements org.apache.kafkaesqueesqueesque.clients.producer.Producer
{
private final org.slf4j.Logger log;
private static final java.lang.String JMX_PREFIX;
public static final java.lang.String NETWORK_THREAD_PREFIX;
public static final java.lang.String PRODUCER_METRIC_GROUP_NAME;
private final java.lang.String clientId;
final org.apache.kafkaesqueesqueesque.common.metrics.Metrics metrics;
private final org.apache.kafkaesqueesqueesque.clients.producer.Partitioner partitioner;
private final int maxRequestSize;
private final long totalMemorySize;
private final org.apache.kafkaesqueesqueesque.clients.producer.internals.ProducerMetadata metadata;
private final org.apache.kafkaesqueesqueesque.clients.producer.internals.RecordAccumulator accumulator;
private final org.apache.kafkaesqueesqueesque.clients.producer.internals.Sender sender;
private final java.lang.Thread ioThread;
private final org.apache.kafkaesqueesqueesque.common.record.CompressionType compressionType;
private final org.apache.kafkaesqueesqueesque.common.metrics.Sensor errors;
private final org.apache.kafkaesqueesqueesque.common.utils.Time time;
private final org.apache.kafkaesqueesqueesque.common.serialization.Serializer keySerializer;
private final org.apache.kafkaesqueesqueesque.common.serialization.Serializer valueSerializer;
private final org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig producerConfig;
private final long maxBlockTimeMs;
private final org.apache.kafkaesqueesqueesque.clients.producer.internals.ProducerInterceptors interceptors;
private final org.apache.kafkaesqueesqueesque.clients.ApiVersions apiVersions;
private final org.apache.kafkaesqueesqueesque.clients.producer.internals.TransactionManager transactionManager;
public void <init>(java.util.Map)
{
org.apache.kafkaesqueesqueesque.common.utils.Time v;
org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer v;
java.util.Map v;
v := @this: org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer;
v := @parameter: java.util.Map;
v = <org.apache.kafkaesqueesqueesque.common.utils.Time: org.apache.kafkaesqueesqueesque.common.utils.Time SYSTEM>;
specialinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: void <init>(java.util.Map,org.apache.kafkaesqueesqueesque.common.serialization.Serializer,org.apache.kafkaesqueesqueesque.common.serialization.Serializer,org.apache.kafkaesqueesqueesque.clients.producer.internals.ProducerMetadata,org.apache.kafkaesqueesqueesque.clients.KafkaClient,org.apache.kafkaesqueesqueesque.clients.producer.internals.ProducerInterceptors,org.apache.kafkaesqueesqueesque.common.utils.Time)>(v, null, null, null, null, null, v);
return;
}
public void <init>(java.util.Map, org.apache.kafkaesqueesqueesque.common.serialization.Serializer, org.apache.kafkaesqueesqueesque.common.serialization.Serializer)
{
java.util.Map v;
org.apache.kafkaesqueesqueesque.common.utils.Time v;
org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer v;
org.apache.kafkaesqueesqueesque.common.serialization.Serializer v, v;
v := @this: org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer;
v := @parameter: java.util.Map;
v := @parameter: org.apache.kafkaesqueesqueesque.common.serialization.Serializer;
v := @parameter: org.apache.kafkaesqueesqueesque.common.serialization.Serializer;
v = <org.apache.kafkaesqueesqueesque.common.utils.Time: org.apache.kafkaesqueesqueesque.common.utils.Time SYSTEM>;
specialinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: void <init>(java.util.Map,org.apache.kafkaesqueesqueesque.common.serialization.Serializer,org.apache.kafkaesqueesqueesque.common.serialization.Serializer,org.apache.kafkaesqueesqueesque.clients.producer.internals.ProducerMetadata,org.apache.kafkaesqueesqueesque.clients.KafkaClient,org.apache.kafkaesqueesqueesque.clients.producer.internals.ProducerInterceptors,org.apache.kafkaesqueesqueesque.common.utils.Time)>(v, v, v, null, null, null, v);
return;
}
public void <init>(java.util.Properties)
{
java.util.Properties v;
java.util.Map v;
org.apache.kafkaesqueesqueesque.common.utils.Time v;
org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer v;
v := @this: org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer;
v := @parameter: java.util.Properties;
v = staticinvoke <org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: java.util.Map propsToMap(java.util.Properties)>(v);
v = <org.apache.kafkaesqueesqueesque.common.utils.Time: org.apache.kafkaesqueesqueesque.common.utils.Time SYSTEM>;
specialinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: void <init>(java.util.Map,org.apache.kafkaesqueesqueesque.common.serialization.Serializer,org.apache.kafkaesqueesqueesque.common.serialization.Serializer,org.apache.kafkaesqueesqueesque.clients.producer.internals.ProducerMetadata,org.apache.kafkaesqueesqueesque.clients.KafkaClient,org.apache.kafkaesqueesqueesque.clients.producer.internals.ProducerInterceptors,org.apache.kafkaesqueesqueesque.common.utils.Time)>(v, null, null, null, null, null, v);
return;
}
public void <init>(java.util.Properties, org.apache.kafkaesqueesqueesque.common.serialization.Serializer, org.apache.kafkaesqueesqueesque.common.serialization.Serializer)
{
java.util.Properties v;
java.util.Map v;
org.apache.kafkaesqueesqueesque.common.utils.Time v;
org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer v;
org.apache.kafkaesqueesqueesque.common.serialization.Serializer v, v;
v := @this: org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer;
v := @parameter: java.util.Properties;
v := @parameter: org.apache.kafkaesqueesqueesque.common.serialization.Serializer;
v := @parameter: org.apache.kafkaesqueesqueesque.common.serialization.Serializer;
v = staticinvoke <org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: java.util.Map propsToMap(java.util.Properties)>(v);
v = <org.apache.kafkaesqueesqueesque.common.utils.Time: org.apache.kafkaesqueesqueesque.common.utils.Time SYSTEM>;
specialinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: void <init>(java.util.Map,org.apache.kafkaesqueesqueesque.common.serialization.Serializer,org.apache.kafkaesqueesqueesque.common.serialization.Serializer,org.apache.kafkaesqueesqueesque.clients.producer.internals.ProducerMetadata,org.apache.kafkaesqueesqueesque.clients.KafkaClient,org.apache.kafkaesqueesqueesque.clients.producer.internals.ProducerInterceptors,org.apache.kafkaesqueesqueesque.common.utils.Time)>(v, v, v, null, null, null, v);
return;
}
void <init>(java.util.Map, org.apache.kafkaesqueesqueesque.common.serialization.Serializer, org.apache.kafkaesqueesqueesque.common.serialization.Serializer, org.apache.kafkaesqueesqueesque.clients.producer.internals.ProducerMetadata, org.apache.kafkaesqueesqueesque.clients.KafkaClient, org.apache.kafkaesqueesqueesque.clients.producer.internals.ProducerInterceptors, org.apache.kafkaesqueesqueesque.common.utils.Time)
{
org.apache.kafkaesqueesqueesque.common.internals.ClusterResourceListeners v;
java.lang.Integer v, v, v, v;
java.lang.Long v, v, v, v, v, v;
java.lang.Thread v;
java.time.Duration v;
java.util.Map v, v, v, v, v, v, v;
org.apache.kafkaesqueesqueesque.clients.producer.internals.ProducerInterceptors v, v;
org.apache.kafkaesqueesqueesque.clients.producer.internals.ProducerMetadata v, v, v, v;
org.apache.kafkaesqueesqueesque.common.KafkaException v;
org.apache.kafkaesqueesqueesque.clients.producer.internals.Sender v, v;
org.apache.kafkaesqueesqueesque.common.utils.Time v, v;
java.lang.Throwable v;
java.lang.Object[] v, v;
long v, v, v, v, v, v, v, v;
org.apache.kafkaesqueesqueesque.clients.KafkaClient v;
org.apache.kafkaesqueesqueesque.common.metrics.JmxReporter v;
org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig v, v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.apache.kafkaesqueesqueesque.clients.ApiVersions v, v;
org.apache.kafkaesqueesqueesque.common.utils.LogContext v, v, v;
org.apache.kafkaesqueesqueesque.common.metrics.Sensor v;
org.apache.kafkaesqueesqueesque.common.metrics.Sensor$RecordingLevel v;
java.util.List[] v;
org.apache.kafkaesqueesqueesque.common.metrics.MetricConfig v, v, v, v, v;
org.apache.kafkaesqueesqueesque.common.utils.KafkaThread v;
org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer v;
boolean v;
org.apache.kafkaesqueesqueesque.clients.producer.internals.BufferPool v;
org.apache.kafkaesqueesqueesque.clients.producer.internals.TransactionManager v, v;
org.apache.kafkaesqueesqueesque.common.record.CompressionType v, v;
java.util.List v, v, v, v;
org.apache.kafkaesqueesqueesque.common.metrics.Metrics v, v, v, v, v;
int v, v, v, v, v, v;
org.apache.kafkaesqueesqueesque.clients.producer.internals.RecordAccumulator v;
org.slf4j.Logger v, v, v, v;
java.util.concurrent.TimeUnit v;
java.lang.Object v, v, v, v;
org.apache.kafkaesqueesqueesque.common.serialization.Serializer v, v, v, v;
v := @this: org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer;
v := @parameter: java.util.Map;
v := @parameter: org.apache.kafkaesqueesqueesque.common.serialization.Serializer;
v := @parameter: org.apache.kafkaesqueesqueesque.common.serialization.Serializer;
v := @parameter: org.apache.kafkaesqueesqueesque.clients.producer.internals.ProducerMetadata;
v := @parameter: org.apache.kafkaesqueesqueesque.clients.KafkaClient;
v := @parameter: org.apache.kafkaesqueesqueesque.clients.producer.internals.ProducerInterceptors;
v := @parameter: org.apache.kafkaesqueesqueesque.common.utils.Time;
specialinvoke v.<java.lang.Object: void <init>()>();
v = new org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig;
v = staticinvoke <org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig: java.util.Map addSerializerToConfig(java.util.Map,org.apache.kafkaesqueesqueesque.common.serialization.Serializer,org.apache.kafkaesqueesqueesque.common.serialization.Serializer)>(v, v, v);
specialinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig: void <init>(java.util.Map)>(v);
label:
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig: java.util.Map originals()>();
v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig producerConfig> = v;
v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.common.utils.Time time> = v;
v = interfaceinvoke v.<java.util.Map: boolean containsKey(java.lang.Object)>("transactional.id");
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>("transactional.id");
goto label;
label:
v = null;
label:
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig: java.lang.String getString(java.lang.String)>("client.id");
v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: java.lang.String clientId> = v;
if v != null goto label;
v = new org.apache.kafkaesqueesqueesque.common.utils.LogContext;
v = newarray (java.lang.Object)[1];
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: java.lang.String clientId>;
v[0] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("[Producer clientId=%s] ", v);
specialinvoke v.<org.apache.kafkaesqueesqueesque.common.utils.LogContext: void <init>(java.lang.String)>(v);
v = v;
goto label;
label:
v = new org.apache.kafkaesqueesqueesque.common.utils.LogContext;
v = newarray (java.lang.Object)[2];
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: java.lang.String clientId>;
v[0] = v;
v[1] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("[Producer clientId=%s, transactionalId=%s] ", v);
specialinvoke v.<org.apache.kafkaesqueesqueesque.common.utils.LogContext: void <init>(java.lang.String)>(v);
v = v;
label:
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.utils.LogContext: org.slf4j.Logger logger(java.lang.Class)>(class "Lorg/apache/kafkaesqueesqueesque/clients/producer/KafkaProducer;");
v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.slf4j.Logger log> = v;
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.slf4j.Logger log>;
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String)>("Starting the Kafka producer");
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: java.lang.String clientId>;
v = staticinvoke <java.util.Collections: java.util.Map singletonMap(java.lang.Object,java.lang.Object)>("client-id", v);
v = new org.apache.kafkaesqueesqueesque.common.metrics.MetricConfig;
specialinvoke v.<org.apache.kafkaesqueesqueesque.common.metrics.MetricConfig: void <init>()>();
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig: java.lang.Integer getInt(java.lang.String)>("metrics.num.samples");
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.metrics.MetricConfig: org.apache.kafkaesqueesqueesque.common.metrics.MetricConfig samples(int)>(v);
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig: java.lang.Long getLong(java.lang.String)>("metrics.sample.window.ms");
v = virtualinvoke v.<java.lang.Long: long longValue()>();
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit MILLISECONDS>;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.metrics.MetricConfig: org.apache.kafkaesqueesqueesque.common.metrics.MetricConfig timeWindow(long,java.util.concurrent.TimeUnit)>(v, v);
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig: java.lang.String getString(java.lang.String)>("metrics.recording.level");
v = staticinvoke <org.apache.kafkaesqueesqueesque.common.metrics.Sensor$RecordingLevel: org.apache.kafkaesqueesqueesque.common.metrics.Sensor$RecordingLevel forName(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.metrics.MetricConfig: org.apache.kafkaesqueesqueesque.common.metrics.MetricConfig recordLevel(org.apache.kafkaesqueesqueesque.common.metrics.Sensor$RecordingLevel)>(v);
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.metrics.MetricConfig: org.apache.kafkaesqueesqueesque.common.metrics.MetricConfig tags(java.util.Map)>(v);
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: java.lang.String clientId>;
v = staticinvoke <java.util.Collections: java.util.Map singletonMap(java.lang.Object,java.lang.Object)>("client.id", v);
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig: java.util.List getConfiguredInstances(java.lang.String,java.lang.Class,java.util.Map)>("metric.reporters", class "Lorg/apache/kafkaesqueesqueesque/common/metrics/MetricsReporter;", v);
v = new org.apache.kafkaesqueesqueesque.common.metrics.JmxReporter;
specialinvoke v.<org.apache.kafkaesqueesqueesque.common.metrics.JmxReporter: void <init>(java.lang.String)>("kafka.producer");
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = new org.apache.kafkaesqueesqueesque.common.metrics.Metrics;
specialinvoke v.<org.apache.kafkaesqueesqueesque.common.metrics.Metrics: void <init>(org.apache.kafkaesqueesqueesque.common.metrics.MetricConfig,java.util.List,org.apache.kafkaesqueesqueesque.common.utils.Time)>(v, v, v);
v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.common.metrics.Metrics metrics> = v;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig: java.lang.Object getConfiguredInstance(java.lang.String,java.lang.Class)>("partitioner.class", class "Lorg/apache/kafkaesqueesqueesque/clients/producer/Partitioner;");
v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.producer.Partitioner partitioner> = v;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig: java.lang.Long getLong(java.lang.String)>("retry.backoff.ms");
v = virtualinvoke v.<java.lang.Long: long longValue()>();
if v != null goto label;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig: java.lang.Object getConfiguredInstance(java.lang.String,java.lang.Class)>("key.serializer", class "Lorg/apache/kafkaesqueesqueesque/common/serialization/Serializer;");
v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.common.serialization.Serializer keySerializer> = v;
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.common.serialization.Serializer keySerializer>;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig: java.util.Map originals()>();
interfaceinvoke v.<org.apache.kafkaesqueesqueesque.common.serialization.Serializer: void configure(java.util.Map,boolean)>(v, 1);
goto label;
label:
virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig: void ignore(java.lang.String)>("key.serializer");
v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.common.serialization.Serializer keySerializer> = v;
label:
if v != null goto label;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig: java.lang.Object getConfiguredInstance(java.lang.String,java.lang.Class)>("value.serializer", class "Lorg/apache/kafkaesqueesqueesque/common/serialization/Serializer;");
v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.common.serialization.Serializer valueSerializer> = v;
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.common.serialization.Serializer valueSerializer>;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig: java.util.Map originals()>();
interfaceinvoke v.<org.apache.kafkaesqueesqueesque.common.serialization.Serializer: void configure(java.util.Map,boolean)>(v, 0);
goto label;
label:
virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig: void ignore(java.lang.String)>("value.serializer");
v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.common.serialization.Serializer valueSerializer> = v;
label:
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: java.lang.String clientId>;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("client.id", v);
v = new org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig;
specialinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig: void <init>(java.util.Map,boolean)>(v, 0);
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig: java.util.List getConfiguredInstances(java.lang.String,java.lang.Class)>("interceptor.classes", class "Lorg/apache/kafkaesqueesqueesque/clients/producer/ProducerInterceptor;");
if v == null goto label;
v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.producer.internals.ProducerInterceptors interceptors> = v;
goto label;
label:
v = new org.apache.kafkaesqueesqueesque.clients.producer.internals.ProducerInterceptors;
specialinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.internals.ProducerInterceptors: void <init>(java.util.List)>(v);
v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.producer.internals.ProducerInterceptors interceptors> = v;
label:
v = newarray (java.util.List)[2];
v[0] = v;
v[1] = v;
v = specialinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.common.internals.ClusterResourceListeners configureClusterResourceListeners(org.apache.kafkaesqueesqueesque.common.serialization.Serializer,org.apache.kafkaesqueesqueesque.common.serialization.Serializer,java.util.List[])>(v, v, v);
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig: java.lang.Integer getInt(java.lang.String)>("max.request.size");
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: int maxRequestSize> = v;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig: java.lang.Long getLong(java.lang.String)>("buffer.memory");
v = virtualinvoke v.<java.lang.Long: long longValue()>();
v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: long totalMemorySize> = v;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig: java.lang.String getString(java.lang.String)>("compression.type");
v = staticinvoke <org.apache.kafkaesqueesqueesque.common.record.CompressionType: org.apache.kafkaesqueesqueesque.common.record.CompressionType forName(java.lang.String)>(v);
v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.common.record.CompressionType compressionType> = v;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig: java.lang.Long getLong(java.lang.String)>("max.block.ms");
v = virtualinvoke v.<java.lang.Long: long longValue()>();
v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: long maxBlockTimeMs> = v;
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.slf4j.Logger log>;
v = staticinvoke <org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: int configureDeliveryTimeout(org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig,org.slf4j.Logger)>(v, v);
v = new org.apache.kafkaesqueesqueesque.clients.ApiVersions;
specialinvoke v.<org.apache.kafkaesqueesqueesque.clients.ApiVersions: void <init>()>();
v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.ApiVersions apiVersions> = v;
v = specialinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.producer.internals.TransactionManager configureTransactionState(org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig,org.apache.kafkaesqueesqueesque.common.utils.LogContext)>(v, v);
v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.producer.internals.TransactionManager transactionManager> = v;
v = new org.apache.kafkaesqueesqueesque.clients.producer.internals.RecordAccumulator;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig: java.lang.Integer getInt(java.lang.String)>("batch.size");
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.common.record.CompressionType compressionType>;
v = staticinvoke <org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: int lingerMs(org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig)>(v);
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.common.metrics.Metrics metrics>;
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.ApiVersions apiVersions>;
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.producer.internals.TransactionManager transactionManager>;
v = new org.apache.kafkaesqueesqueesque.clients.producer.internals.BufferPool;
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: long totalMemorySize>;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig: java.lang.Integer getInt(java.lang.String)>("batch.size");
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.common.metrics.Metrics metrics>;
specialinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.internals.BufferPool: void <init>(long,int,org.apache.kafkaesqueesqueesque.common.metrics.Metrics,org.apache.kafkaesqueesqueesque.common.utils.Time,java.lang.String)>(v, v, v, v, "producer-metrics");
specialinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.internals.RecordAccumulator: void <init>(org.apache.kafkaesqueesqueesque.common.utils.LogContext,int,org.apache.kafkaesqueesqueesque.common.record.CompressionType,int,long,int,org.apache.kafkaesqueesqueesque.common.metrics.Metrics,java.lang.String,org.apache.kafkaesqueesqueesque.common.utils.Time,org.apache.kafkaesqueesqueesque.clients.ApiVersions,org.apache.kafkaesqueesqueesque.clients.producer.internals.TransactionManager,org.apache.kafkaesqueesqueesque.clients.producer.internals.BufferPool)>(v, v, v, v, v, v, v, "producer-metrics", v, v, v, v);
v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.producer.internals.RecordAccumulator accumulator> = v;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig: java.util.List getList(java.lang.String)>("bootstrap.servers");
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig: java.lang.String getString(java.lang.String)>("client.dns.lookup");
v = staticinvoke <org.apache.kafkaesqueesqueesque.clients.ClientUtils: java.util.List parseAndValidateAddresses(java.util.List,java.lang.String)>(v, v);
if v == null goto label;
v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.producer.internals.ProducerMetadata metadata> = v;
goto label;
label:
v = new org.apache.kafkaesqueesqueesque.clients.producer.internals.ProducerMetadata;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig: java.lang.Long getLong(java.lang.String)>("metadata.max.age.ms");
v = virtualinvoke v.<java.lang.Long: long longValue()>();
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig: java.lang.Long getLong(java.lang.String)>("metadata.max.idle.ms");
v = virtualinvoke v.<java.lang.Long: long longValue()>();
v = <org.apache.kafkaesqueesqueesque.common.utils.Time: org.apache.kafkaesqueesqueesque.common.utils.Time SYSTEM>;
specialinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.internals.ProducerMetadata: void <init>(long,long,long,org.apache.kafkaesqueesqueesque.common.utils.LogContext,org.apache.kafkaesqueesqueesque.common.internals.ClusterResourceListeners,org.apache.kafkaesqueesqueesque.common.utils.Time)>(v, v, v, v, v, v);
v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.producer.internals.ProducerMetadata metadata> = v;
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.producer.internals.ProducerMetadata metadata>;
virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.internals.ProducerMetadata: void bootstrap(java.util.List)>(v);
label:
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.common.metrics.Metrics metrics>;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.metrics.Metrics: org.apache.kafkaesqueesqueesque.common.metrics.Sensor sensor(java.lang.String)>("errors");
v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.common.metrics.Sensor errors> = v;
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.producer.internals.ProducerMetadata metadata>;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.producer.internals.Sender newSender(org.apache.kafkaesqueesqueesque.common.utils.LogContext,org.apache.kafkaesqueesqueesque.clients.KafkaClient,org.apache.kafkaesqueesqueesque.clients.producer.internals.ProducerMetadata)>(v, v, v);
v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.producer.internals.Sender sender> = v;
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: java.lang.String clientId>;
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[])>("kafka-producer-network-thread | \u0001");
v = new org.apache.kafkaesqueesqueesque.common.utils.KafkaThread;
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.producer.internals.Sender sender>;
specialinvoke v.<org.apache.kafkaesqueesqueesque.common.utils.KafkaThread: void <init>(java.lang.String,java.lang.Runnable,boolean)>(v, v, 1);
v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: java.lang.Thread ioThread> = v;
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: java.lang.Thread ioThread>;
virtualinvoke v.<java.lang.Thread: void start()>();
virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig: void logUnused()>();
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: java.lang.String clientId>;
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.common.metrics.Metrics metrics>;
v = interfaceinvoke v.<org.apache.kafkaesqueesqueesque.common.utils.Time: long milliseconds()>();
staticinvoke <org.apache.kafkaesqueesqueesque.common.utils.AppInfoParser: void registerAppInfo(java.lang.String,java.lang.String,org.apache.kafkaesqueesqueesque.common.metrics.Metrics,long)>("kafka.producer", v, v, v);
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.slf4j.Logger log>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String)>("Kafka producer started");
label:
goto label;
label:
v := @caughtexception;
v = staticinvoke <java.time.Duration: java.time.Duration ofMillis(long)>(0L);
specialinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: void close(java.time.Duration,boolean)>(v, 1);
v = new org.apache.kafkaesqueesqueesque.common.KafkaException;
specialinvoke v.<org.apache.kafkaesqueesqueesque.common.KafkaException: void <init>(java.lang.String,java.lang.Throwable)>("Failed to construct kafka producer", v);
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
org.apache.kafkaesqueesqueesque.clients.producer.internals.Sender newSender(org.apache.kafkaesqueesqueesque.common.utils.LogContext, org.apache.kafkaesqueesqueesque.clients.KafkaClient, org.apache.kafkaesqueesqueesque.clients.producer.internals.ProducerMetadata)
{
java.lang.Integer v, v, v, v;
java.lang.Long v, v, v, v;
org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer v;
boolean v;
org.apache.kafkaesqueesqueesque.clients.ClientDnsLookup v;
org.apache.kafkaesqueesqueesque.clients.producer.internals.ProducerMetadata v;
org.apache.kafkaesqueesqueesque.clients.producer.internals.TransactionManager v;
org.apache.kafkaesqueesqueesque.clients.producer.internals.Sender v;
org.apache.kafkaesqueesqueesque.common.utils.Time v, v, v, v;
org.apache.kafkaesqueesqueesque.common.metrics.Metrics v, v;
long v, v, v, v;
org.apache.kafkaesqueesqueesque.clients.producer.internals.ProducerMetrics v;
org.apache.kafkaesqueesqueesque.clients.KafkaClient v, v, v;
short v;
int v, v, v, v, v, v;
org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig v, v, v, v, v, v, v, v, v, v, v, v, v;
org.apache.kafkaesqueesqueesque.clients.producer.internals.RecordAccumulator v;
java.lang.String v, v;
org.apache.kafkaesqueesqueesque.common.network.ChannelBuilder v;
org.slf4j.Logger v, v;
org.apache.kafkaesqueesqueesque.clients.producer.internals.SenderMetricsRegistry v, v;
org.apache.kafkaesqueesqueesque.common.network.Selector v;
org.apache.kafkaesqueesqueesque.clients.NetworkClient v;
org.apache.kafkaesqueesqueesque.clients.ApiVersions v, v;
org.apache.kafkaesqueesqueesque.common.utils.LogContext v;
org.apache.kafkaesqueesqueesque.common.metrics.Sensor v;
v := @this: org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer;
v := @parameter: org.apache.kafkaesqueesqueesque.common.utils.LogContext;
v := @parameter: org.apache.kafkaesqueesqueesque.clients.KafkaClient;
v := @parameter: org.apache.kafkaesqueesqueesque.clients.producer.internals.ProducerMetadata;
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig producerConfig>;
v = staticinvoke <org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: int configureInflightRequests(org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig)>(v);
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig producerConfig>;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig: java.lang.Integer getInt(java.lang.String)>("request.timeout.ms");
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig producerConfig>;
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.common.utils.Time time>;
v = staticinvoke <org.apache.kafkaesqueesqueesque.clients.ClientUtils: org.apache.kafkaesqueesqueesque.common.network.ChannelBuilder createChannelBuilder(org.apache.kafkaesqueesqueesque.common.config.AbstractConfig,org.apache.kafkaesqueesqueesque.common.utils.Time,org.apache.kafkaesqueesqueesque.common.utils.LogContext)>(v, v, v);
v = new org.apache.kafkaesqueesqueesque.clients.producer.internals.ProducerMetrics;
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.common.metrics.Metrics metrics>;
specialinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.internals.ProducerMetrics: void <init>(org.apache.kafkaesqueesqueesque.common.metrics.Metrics)>(v);
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.internals.ProducerMetrics: org.apache.kafkaesqueesqueesque.clients.producer.internals.SenderMetricsRegistry senderMetrics>;
v = staticinvoke <org.apache.kafkaesqueesqueesque.clients.producer.internals.Sender: org.apache.kafkaesqueesqueesque.common.metrics.Sensor throttleTimeSensor(org.apache.kafkaesqueesqueesque.clients.producer.internals.SenderMetricsRegistry)>(v);
if v == null goto label;
v = v;
goto label;
label:
v = new org.apache.kafkaesqueesqueesque.clients.NetworkClient;
v = v;
v = new org.apache.kafkaesqueesqueesque.common.network.Selector;
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig producerConfig>;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig: java.lang.Long getLong(java.lang.String)>("connections.max.idle.ms");
v = virtualinvoke v.<java.lang.Long: long longValue()>();
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.common.metrics.Metrics metrics>;
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.common.utils.Time time>;
specialinvoke v.<org.apache.kafkaesqueesqueesque.common.network.Selector: void <init>(long,org.apache.kafkaesqueesqueesque.common.metrics.Metrics,org.apache.kafkaesqueesqueesque.common.utils.Time,java.lang.String,org.apache.kafkaesqueesqueesque.common.network.ChannelBuilder,org.apache.kafkaesqueesqueesque.common.utils.LogContext)>(v, v, v, "producer", v, v);
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: java.lang.String clientId>;
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig producerConfig>;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig: java.lang.Long getLong(java.lang.String)>("reconnect.backoff.ms");
v = virtualinvoke v.<java.lang.Long: long longValue()>();
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig producerConfig>;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig: java.lang.Long getLong(java.lang.String)>("reconnect.backoff.max.ms");
v = virtualinvoke v.<java.lang.Long: long longValue()>();
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig producerConfig>;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig: java.lang.Integer getInt(java.lang.String)>("send.buffer.bytes");
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig producerConfig>;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig: java.lang.Integer getInt(java.lang.String)>("receive.buffer.bytes");
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig producerConfig>;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig: java.lang.String getString(java.lang.String)>("client.dns.lookup");
v = staticinvoke <org.apache.kafkaesqueesqueesque.clients.ClientDnsLookup: org.apache.kafkaesqueesqueesque.clients.ClientDnsLookup forConfig(java.lang.String)>(v);
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.common.utils.Time time>;
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.ApiVersions apiVersions>;
specialinvoke v.<org.apache.kafkaesqueesqueesque.clients.NetworkClient: void <init>(org.apache.kafkaesqueesqueesque.common.network.Selectable,org.apache.kafkaesqueesqueesque.clients.Metadata,java.lang.String,int,long,long,int,int,int,org.apache.kafkaesqueesqueesque.clients.ClientDnsLookup,org.apache.kafkaesqueesqueesque.common.utils.Time,boolean,org.apache.kafkaesqueesqueesque.clients.ApiVersions,org.apache.kafkaesqueesqueesque.common.metrics.Sensor,org.apache.kafkaesqueesqueesque.common.utils.LogContext)>(v, v, v, v, v, v, v, v, v, v, v, 1, v, v, v);
label:
v = v;
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig producerConfig>;
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.slf4j.Logger log>;
v = staticinvoke <org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: int configureRetries(org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig,org.slf4j.Logger)>(v, v);
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig producerConfig>;
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.slf4j.Logger log>;
v = staticinvoke <org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: short configureAcks(org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig,org.slf4j.Logger)>(v, v);
v = new org.apache.kafkaesqueesqueesque.clients.producer.internals.Sender;
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.producer.internals.RecordAccumulator accumulator>;
if v != 1 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig producerConfig>;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig: java.lang.Integer getInt(java.lang.String)>("max.request.size");
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.internals.ProducerMetrics: org.apache.kafkaesqueesqueesque.clients.producer.internals.SenderMetricsRegistry senderMetrics>;
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.common.utils.Time time>;
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig producerConfig>;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig: java.lang.Long getLong(java.lang.String)>("retry.backoff.ms");
v = virtualinvoke v.<java.lang.Long: long longValue()>();
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.producer.internals.TransactionManager transactionManager>;
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.ApiVersions apiVersions>;
specialinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.internals.Sender: void <init>(org.apache.kafkaesqueesqueesque.common.utils.LogContext,org.apache.kafkaesqueesqueesque.clients.KafkaClient,org.apache.kafkaesqueesqueesque.clients.producer.internals.ProducerMetadata,org.apache.kafkaesqueesqueesque.clients.producer.internals.RecordAccumulator,boolean,int,short,int,org.apache.kafkaesqueesqueesque.clients.producer.internals.SenderMetricsRegistry,org.apache.kafkaesqueesqueesque.common.utils.Time,int,long,org.apache.kafkaesqueesqueesque.clients.producer.internals.TransactionManager,org.apache.kafkaesqueesqueesque.clients.ApiVersions)>(v, v, v, v, v, v, v, v, v, v, v, v, v, v);
return v;
}
private static int lingerMs(org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig)
{
java.lang.Long v;
long v, v;
org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig v;
v := @parameter: org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig: java.lang.Long getLong(java.lang.String)>("linger.ms");
v = virtualinvoke v.<java.lang.Long: long longValue()>();
v = staticinvoke <java.lang.Math: long min(long,long)>(v, 2147483647L);
return v;
}
private static int configureDeliveryTimeout(org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig, org.slf4j.Logger)
{
java.lang.Object[] v;
org.slf4j.Logger v;
long v, v;
java.lang.Integer v, v, v;
org.apache.kafkaesqueesqueesque.common.config.ConfigException v;
java.util.Map v;
int v, v, v;
org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig v;
boolean v;
v := @parameter: org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig;
v := @parameter: org.slf4j.Logger;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig: java.lang.Integer getInt(java.lang.String)>("delivery.timeout.ms");
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
v = staticinvoke <org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: int lingerMs(org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig)>(v);
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig: java.lang.Integer getInt(java.lang.String)>("request.timeout.ms");
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
v = v + v;
v = staticinvoke <java.lang.Math: long min(long,long)>(v, 2147483647L);
if v >= v goto label;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig: java.util.Map originals()>();
v = interfaceinvoke v.<java.util.Map: boolean containsKey(java.lang.Object)>("delivery.timeout.ms");
if v == 0 goto label;
v = new org.apache.kafkaesqueesqueesque.common.config.ConfigException;
specialinvoke v.<org.apache.kafkaesqueesqueesque.common.config.ConfigException: void <init>(java.lang.String)>("delivery.timeout.ms should be equal to or larger than linger.ms + request.timeout.ms");
throw v;
label:
v = v;
v = newarray (java.lang.Object)[4];
v[0] = "delivery.timeout.ms";
v[1] = "linger.ms";
v[2] = "request.timeout.ms";
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[3] = v;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Object[])>("{} should be equal to or larger than {} + {}. Setting it to {}.", v);
label:
return v;
}
private org.apache.kafkaesqueesqueesque.clients.producer.internals.TransactionManager configureTransactionState(org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig, org.apache.kafkaesqueesqueesque.common.utils.LogContext)
{
long v;
java.lang.Integer v;
java.lang.Long v;
java.util.Map v, v;
int v;
org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig v;
java.lang.String v;
org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer v;
boolean v, v, v, v;
org.slf4j.Logger v, v, v;
org.apache.kafkaesqueesqueesque.clients.producer.internals.TransactionManager v, v;
org.apache.kafkaesqueesqueesque.clients.ApiVersions v;
org.apache.kafkaesqueesqueesque.common.utils.LogContext v;
v := @this: org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer;
v := @parameter: org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig;
v := @parameter: org.apache.kafkaesqueesqueesque.common.utils.LogContext;
v = null;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig: java.util.Map originals()>();
v = interfaceinvoke v.<java.util.Map: boolean containsKey(java.lang.Object)>("enable.idempotence");
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig: java.util.Map originals()>();
v = interfaceinvoke v.<java.util.Map: boolean containsKey(java.lang.Object)>("transactional.id");
if v == 0 goto label;
if v != 0 goto label;
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.slf4j.Logger log>;
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object,java.lang.Object)>("Overriding the default {} to true since {} is specified.", "enable.idempotence", "transactional.id");
label:
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig: boolean idempotenceEnabled()>();
if v == 0 goto label;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig: java.lang.String getString(java.lang.String)>("transactional.id");
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig: java.lang.Integer getInt(java.lang.String)>("transaction.timeout.ms");
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig: java.lang.Long getLong(java.lang.String)>("retry.backoff.ms");
v = virtualinvoke v.<java.lang.Long: long longValue()>();
v = new org.apache.kafkaesqueesqueesque.clients.producer.internals.TransactionManager;
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.ApiVersions apiVersions>;
specialinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.internals.TransactionManager: void <init>(org.apache.kafkaesqueesqueesque.common.utils.LogContext,java.lang.String,int,long,org.apache.kafkaesqueesqueesque.clients.ApiVersions)>(v, v, v, v, v);
v = v;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.internals.TransactionManager: boolean isTransactional()>();
if v == 0 goto label;
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.slf4j.Logger log>;
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String)>("Instantiated a transactional producer.");
goto label;
label:
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.slf4j.Logger log>;
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String)>("Instantiated an idempotent producer.");
label:
return v;
}
private static int configureRetries(org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig, org.slf4j.Logger)
{
org.slf4j.Logger v;
java.lang.Integer v, v;
java.util.Map v;
int v;
org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig v;
boolean v, v;
v := @parameter: org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig;
v := @parameter: org.slf4j.Logger;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig: java.util.Map originals()>();
v = interfaceinvoke v.<java.util.Map: boolean containsKey(java.lang.Object)>("retries");
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig: boolean idempotenceEnabled()>();
if v == 0 goto label;
if v != 0 goto label;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(2147483647);
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object)>("Overriding the default retries config to the recommended value of {} since the idempotent producer is enabled.", v);
label:
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig: java.lang.Integer getInt(java.lang.String)>("retries");
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
return v;
}
private static int configureInflightRequests(org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig)
{
org.apache.kafkaesqueesqueesque.common.config.ConfigException v;
int v, v;
org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig v;
java.lang.Integer v, v;
boolean v;
v := @parameter: org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig: boolean idempotenceEnabled()>();
if v == 0 goto label;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig: java.lang.Integer getInt(java.lang.String)>("max.in.flight.requests.per.connection");
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
if 5 >= v goto label;
v = new org.apache.kafkaesqueesqueesque.common.config.ConfigException;
specialinvoke v.<org.apache.kafkaesqueesqueesque.common.config.ConfigException: void <init>(java.lang.String)>("Must set max.in.flight.requests.per.connection to at most 5 to use the idempotent producer.");
throw v;
label:
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig: java.lang.Integer getInt(java.lang.String)>("max.in.flight.requests.per.connection");
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
return v;
}
private static short configureAcks(org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig, org.slf4j.Logger)
{
org.slf4j.Logger v;
org.apache.kafkaesqueesqueesque.common.config.ConfigException v;
short v;
java.util.Map v;
int v;
org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig v;
java.lang.String v;
boolean v, v;
v := @parameter: org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig;
v := @parameter: org.slf4j.Logger;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig: java.util.Map originals()>();
v = interfaceinvoke v.<java.util.Map: boolean containsKey(java.lang.Object)>("acks");
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig: java.lang.String getString(java.lang.String)>("acks");
v = staticinvoke <java.lang.Short: short parseShort(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig: boolean idempotenceEnabled()>();
if v == 0 goto label;
if v != 0 goto label;
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object)>("Overriding the default {} to all since idempotence is enabled.", "acks");
goto label;
label:
v = (int) -1;
if v == v goto label;
v = new org.apache.kafkaesqueesqueesque.common.config.ConfigException;
specialinvoke v.<org.apache.kafkaesqueesqueesque.common.config.ConfigException: void <init>(java.lang.String)>("Must set acks to all in order to use the idempotent producer. Otherwise we cannot guarantee idempotence.");
throw v;
label:
return v;
}
public void initTransactions()
{
java.util.concurrent.TimeUnit v;
org.apache.kafkaesqueesqueesque.clients.producer.internals.TransactionalRequestResult v;
org.apache.kafkaesqueesqueesque.clients.producer.internals.TransactionManager v;
long v;
org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer v;
org.apache.kafkaesqueesqueesque.clients.producer.internals.Sender v;
v := @this: org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer;
specialinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: void throwIfNoTransactionManager()>();
specialinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: void throwIfProducerClosed()>();
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.producer.internals.TransactionManager transactionManager>;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.internals.TransactionManager: org.apache.kafkaesqueesqueesque.clients.producer.internals.TransactionalRequestResult initializeTransactions()>();
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.producer.internals.Sender sender>;
virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.internals.Sender: void wakeup()>();
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: long maxBlockTimeMs>;
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit MILLISECONDS>;
virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.internals.TransactionalRequestResult: void await(long,java.util.concurrent.TimeUnit)>(v, v);
return;
}
public void beginTransaction() throws org.apache.kafkaesqueesqueesque.common.errors.ProducerFencedException
{
org.apache.kafkaesqueesqueesque.clients.producer.internals.TransactionManager v;
org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer v;
v := @this: org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer;
specialinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: void throwIfNoTransactionManager()>();
specialinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: void throwIfProducerClosed()>();
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.producer.internals.TransactionManager transactionManager>;
virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.internals.TransactionManager: void beginTransaction()>();
return;
}
public void sendOffsetsToTransaction(java.util.Map, java.lang.String) throws org.apache.kafkaesqueesqueesque.common.errors.ProducerFencedException
{
org.apache.kafkaesqueesqueesque.clients.consumer.ConsumerGroupMetadata v;
java.util.Map v;
java.lang.String v;
org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer v;
v := @this: org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer;
v := @parameter: java.util.Map;
v := @parameter: java.lang.String;
v = new org.apache.kafkaesqueesqueesque.clients.consumer.ConsumerGroupMetadata;
specialinvoke v.<org.apache.kafkaesqueesqueesque.clients.consumer.ConsumerGroupMetadata: void <init>(java.lang.String)>(v);
virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: void sendOffsetsToTransaction(java.util.Map,org.apache.kafkaesqueesqueesque.clients.consumer.ConsumerGroupMetadata)>(v, v);
return;
}
public void sendOffsetsToTransaction(java.util.Map, org.apache.kafkaesqueesqueesque.clients.consumer.ConsumerGroupMetadata) throws org.apache.kafkaesqueesqueesque.common.errors.ProducerFencedException
{
org.apache.kafkaesqueesqueesque.clients.producer.internals.TransactionalRequestResult v;
org.apache.kafkaesqueesqueesque.clients.consumer.ConsumerGroupMetadata v;
java.util.Map v;
org.apache.kafkaesqueesqueesque.clients.producer.internals.TransactionManager v;
org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer v;
org.apache.kafkaesqueesqueesque.clients.producer.internals.Sender v;
v := @this: org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer;
v := @parameter: java.util.Map;
v := @parameter: org.apache.kafkaesqueesqueesque.clients.consumer.ConsumerGroupMetadata;
specialinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: void throwIfInvalidGroupMetadata(org.apache.kafkaesqueesqueesque.clients.consumer.ConsumerGroupMetadata)>(v);
specialinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: void throwIfNoTransactionManager()>();
specialinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: void throwIfProducerClosed()>();
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.producer.internals.TransactionManager transactionManager>;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.internals.TransactionManager: org.apache.kafkaesqueesqueesque.clients.producer.internals.TransactionalRequestResult sendOffsetsToTransaction(java.util.Map,org.apache.kafkaesqueesqueesque.clients.consumer.ConsumerGroupMetadata)>(v, v);
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.producer.internals.Sender sender>;
virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.internals.Sender: void wakeup()>();
virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.internals.TransactionalRequestResult: void await()>();
return;
}
public void commitTransaction() throws org.apache.kafkaesqueesqueesque.common.errors.ProducerFencedException
{
java.util.concurrent.TimeUnit v;
org.apache.kafkaesqueesqueesque.clients.producer.internals.TransactionalRequestResult v;
org.apache.kafkaesqueesqueesque.clients.producer.internals.TransactionManager v;
long v;
org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer v;
org.apache.kafkaesqueesqueesque.clients.producer.internals.Sender v;
v := @this: org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer;
specialinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: void throwIfNoTransactionManager()>();
specialinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: void throwIfProducerClosed()>();
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.producer.internals.TransactionManager transactionManager>;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.internals.TransactionManager: org.apache.kafkaesqueesqueesque.clients.producer.internals.TransactionalRequestResult beginCommit()>();
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.producer.internals.Sender sender>;
virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.internals.Sender: void wakeup()>();
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: long maxBlockTimeMs>;
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit MILLISECONDS>;
virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.internals.TransactionalRequestResult: void await(long,java.util.concurrent.TimeUnit)>(v, v);
return;
}
public void abortTransaction() throws org.apache.kafkaesqueesqueesque.common.errors.ProducerFencedException
{
java.util.concurrent.TimeUnit v;
org.apache.kafkaesqueesqueesque.clients.producer.internals.TransactionalRequestResult v;
org.apache.kafkaesqueesqueesque.clients.producer.internals.TransactionManager v;
long v;
org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer v;
org.apache.kafkaesqueesqueesque.clients.producer.internals.Sender v;
v := @this: org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer;
specialinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: void throwIfNoTransactionManager()>();
specialinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: void throwIfProducerClosed()>();
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.producer.internals.TransactionManager transactionManager>;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.internals.TransactionManager: org.apache.kafkaesqueesqueesque.clients.producer.internals.TransactionalRequestResult beginAbort()>();
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.producer.internals.Sender sender>;
virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.internals.Sender: void wakeup()>();
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: long maxBlockTimeMs>;
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit MILLISECONDS>;
virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.internals.TransactionalRequestResult: void await(long,java.util.concurrent.TimeUnit)>(v, v);
return;
}
public java.util.concurrent.Future send(org.apache.kafkaesqueesqueesque.clients.producer.ProducerRecord)
{
java.util.concurrent.Future v;
org.apache.kafkaesqueesqueesque.clients.producer.ProducerRecord v;
org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer v;
v := @this: org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer;
v := @parameter: org.apache.kafkaesqueesqueesque.clients.producer.ProducerRecord;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: java.util.concurrent.Future send(org.apache.kafkaesqueesqueesque.clients.producer.ProducerRecord,org.apache.kafkaesqueesqueesque.clients.producer.Callback)>(v, null);
return v;
}
public java.util.concurrent.Future send(org.apache.kafkaesqueesqueesque.clients.producer.ProducerRecord, org.apache.kafkaesqueesqueesque.clients.producer.Callback)
{
java.util.concurrent.Future v;
org.apache.kafkaesqueesqueesque.clients.producer.Callback v;
org.apache.kafkaesqueesqueesque.clients.producer.ProducerRecord v, v;
org.apache.kafkaesqueesqueesque.clients.producer.internals.ProducerInterceptors v;
org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer v;
v := @this: org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer;
v := @parameter: org.apache.kafkaesqueesqueesque.clients.producer.ProducerRecord;
v := @parameter: org.apache.kafkaesqueesqueesque.clients.producer.Callback;
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.producer.internals.ProducerInterceptors interceptors>;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.internals.ProducerInterceptors: org.apache.kafkaesqueesqueesque.clients.producer.ProducerRecord onSend(org.apache.kafkaesqueesqueesque.clients.producer.ProducerRecord)>(v);
v = specialinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: java.util.concurrent.Future doSend(org.apache.kafkaesqueesqueesque.clients.producer.ProducerRecord,org.apache.kafkaesqueesqueesque.clients.producer.Callback)>(v, v);
return v;
}
private void throwIfProducerClosed()
{
java.lang.IllegalStateException v;
org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer v;
boolean v;
org.apache.kafkaesqueesqueesque.clients.producer.internals.Sender v, v;
v := @this: org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer;
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.producer.internals.Sender sender>;
if v == null goto label;
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.producer.internals.Sender sender>;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.internals.Sender: boolean isRunning()>();
if v != 0 goto label;
label:
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("Cannot perform operation after producer has been closed");
throw v;
label:
return;
}
private java.util.concurrent.Future doSend(org.apache.kafkaesqueesqueesque.clients.producer.ProducerRecord, org.apache.kafkaesqueesqueesque.clients.producer.Callback)
{
byte[] v, v;
org.apache.kafkaesqueesqueesque.common.errors.InterruptException v;
java.lang.Integer v, v, v, v, v;
org.apache.kafkaesqueesqueesque.common.errors.ApiException v;
byte v;
java.lang.Long v, v;
org.apache.kafkaesqueesqueesque.clients.producer.ProducerRecord v;
org.apache.kafkaesqueesqueesque.clients.producer.internals.ProducerInterceptors v, v, v, v, v, v, v;
org.apache.kafkaesqueesqueesque.clients.producer.internals.ProducerMetadata v;
org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer$FutureFailure v;
org.apache.kafkaesqueesqueesque.common.KafkaException v, v, v;
java.lang.Exception v;
org.apache.kafkaesqueesqueesque.clients.producer.internals.Sender v;
org.apache.kafkaesqueesqueesque.common.utils.Time v;
org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer$ClusterAndWaitTime v;
java.lang.Object[] v, v;
long v, v, v, v, v, v, v, v, v, v;
org.apache.kafkaesqueesqueesque.clients.producer.internals.FutureRecordMetadata v;
java.lang.ClassCastException v, v;
org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig v, v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.apache.kafkaesqueesqueesque.clients.ApiVersions v;
org.apache.kafkaesqueesqueesque.common.TopicPartition v, v, v;
org.apache.kafkaesqueesqueesque.common.metrics.Sensor v, v, v, v, v;
org.apache.kafkaesqueesqueesque.common.header.Header[] v;
org.apache.kafkaesqueesqueesque.clients.producer.internals.RecordAccumulator$RecordAppendResult v;
org.apache.kafkaesqueesqueesque.common.errors.SerializationException v, v;
org.apache.kafkaesqueesqueesque.common.header.Headers v, v, v, v;
org.apache.kafkaesqueesqueesque.clients.producer.BufferExhaustedException v;
org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer v;
boolean v, v, v, v, v, v, v, v;
org.apache.kafkaesqueesqueesque.common.Cluster v;
org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer$InterceptorCallback v, v;
org.apache.kafkaesqueesqueesque.clients.producer.internals.TransactionManager v, v, v, v, v, v;
org.apache.kafkaesqueesqueesque.clients.producer.Partitioner v;
org.apache.kafkaesqueesqueesque.common.record.CompressionType v;
org.apache.kafkaesqueesqueesque.clients.producer.Callback v;
org.apache.kafkaesqueesqueesque.common.metrics.Metrics v;
int v, v, v;
org.apache.kafkaesqueesqueesque.clients.producer.internals.RecordAccumulator v, v;
org.slf4j.Logger v, v, v, v, v, v;
java.lang.InterruptedException v;
java.lang.Class v, v, v, v;
java.lang.Object v, v, v, v;
org.apache.kafkaesqueesqueesque.common.serialization.Serializer v, v;
v := @this: org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer;
v := @parameter: org.apache.kafkaesqueesqueesque.clients.producer.ProducerRecord;
v := @parameter: org.apache.kafkaesqueesqueesque.clients.producer.Callback;
v = null;
label:
specialinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: void throwIfProducerClosed()>();
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.common.utils.Time time>;
v = interfaceinvoke v.<org.apache.kafkaesqueesqueesque.common.utils.Time: long milliseconds()>();
label:
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.ProducerRecord: java.lang.String topic()>();
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.ProducerRecord: java.lang.Integer partition()>();
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: long maxBlockTimeMs>;
v = specialinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer$ClusterAndWaitTime waitOnMetadata(java.lang.String,java.lang.Integer,long,long)>(v, v, v, v);
label:
goto label;
label:
v := @caughtexception;
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.producer.internals.ProducerMetadata metadata>;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.internals.ProducerMetadata: boolean isClosed()>();
if v == 0 goto label;
v = new org.apache.kafkaesqueesqueesque.common.KafkaException;
specialinvoke v.<org.apache.kafkaesqueesqueesque.common.KafkaException: void <init>(java.lang.String,java.lang.Throwable)>("Producer closed while send in progress", v);
throw v;
label:
throw v;
label:
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer$ClusterAndWaitTime: long waitedOnMetadataMs>;
v = v + v;
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: long maxBlockTimeMs>;
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer$ClusterAndWaitTime: long waitedOnMetadataMs>;
v = v - v;
v = staticinvoke <java.lang.Math: long max(long,long)>(0L, v);
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer$ClusterAndWaitTime: org.apache.kafkaesqueesqueesque.common.Cluster cluster>;
label:
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.common.serialization.Serializer keySerializer>;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.ProducerRecord: java.lang.String topic()>();
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.ProducerRecord: org.apache.kafkaesqueesqueesque.common.header.Headers headers()>();
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.ProducerRecord: java.lang.Object key()>();
v = interfaceinvoke v.<org.apache.kafkaesqueesqueesque.common.serialization.Serializer: byte[] serialize(java.lang.String,org.apache.kafkaesqueesqueesque.common.header.Headers,java.lang.Object)>(v, v, v);
label:
goto label;
label:
v := @caughtexception;
v = new org.apache.kafkaesqueesqueesque.common.errors.SerializationException;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.ProducerRecord: java.lang.Object key()>();
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig producerConfig>;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig: java.lang.Class getClass(java.lang.String)>("key.serializer");
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Can\'t convert key of class \u to class \u specified in key.serializer");
specialinvoke v.<org.apache.kafkaesqueesqueesque.common.errors.SerializationException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
label:
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.common.serialization.Serializer valueSerializer>;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.ProducerRecord: java.lang.String topic()>();
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.ProducerRecord: org.apache.kafkaesqueesqueesque.common.header.Headers headers()>();
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.ProducerRecord: java.lang.Object value()>();
v = interfaceinvoke v.<org.apache.kafkaesqueesqueesque.common.serialization.Serializer: byte[] serialize(java.lang.String,org.apache.kafkaesqueesqueesque.common.header.Headers,java.lang.Object)>(v, v, v);
label:
goto label;
label:
v := @caughtexception;
v = new org.apache.kafkaesqueesqueesque.common.errors.SerializationException;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.ProducerRecord: java.lang.Object value()>();
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig producerConfig>;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.ProducerConfig: java.lang.Class getClass(java.lang.String)>("value.serializer");
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Can\'t convert value of class \u to class \u specified in value.serializer");
specialinvoke v.<org.apache.kafkaesqueesqueesque.common.errors.SerializationException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
label:
v = specialinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: int partition(org.apache.kafkaesqueesqueesque.clients.producer.ProducerRecord,byte[],byte[],org.apache.kafkaesqueesqueesque.common.Cluster)>(v, v, v, v);
v = new org.apache.kafkaesqueesqueesque.common.TopicPartition;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.ProducerRecord: java.lang.String topic()>();
specialinvoke v.<org.apache.kafkaesqueesqueesque.common.TopicPartition: void <init>(java.lang.String,int)>(v, v);
v = v;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.ProducerRecord: org.apache.kafkaesqueesqueesque.common.header.Headers headers()>();
specialinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: void setReadOnly(org.apache.kafkaesqueesqueesque.common.header.Headers)>(v);
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.ProducerRecord: org.apache.kafkaesqueesqueesque.common.header.Headers headers()>();
v = interfaceinvoke v.<org.apache.kafkaesqueesqueesque.common.header.Headers: org.apache.kafkaesqueesqueesque.common.header.Header[] toArray()>();
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.ApiVersions apiVersions>;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.ApiVersions: byte maxUsableProduceMagic()>();
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.common.record.CompressionType compressionType>;
v = staticinvoke <org.apache.kafkaesqueesqueesque.common.record.AbstractRecords: int estimateSizeInBytesUpperBound(byte,org.apache.kafkaesqueesqueesque.common.record.CompressionType,byte[],byte[],org.apache.kafkaesqueesqueesque.common.header.Header[])>(v, v, v, v, v);
specialinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: void ensureValidRecordSize(int)>(v);
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.ProducerRecord: java.lang.Long timestamp()>();
if v != null goto label;
v = v;
goto label;
label:
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.ProducerRecord: java.lang.Long timestamp()>();
v = virtualinvoke v.<java.lang.Long: long longValue()>();
label:
v = v;
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.slf4j.Logger log>;
v = interfaceinvoke v.<org.slf4j.Logger: boolean isTraceEnabled()>();
if v == 0 goto label;
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.slf4j.Logger log>;
v = newarray (java.lang.Object)[4];
v[0] = v;
v[1] = v;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.ProducerRecord: java.lang.String topic()>();
v[2] = v;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[3] = v;
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String,java.lang.Object[])>("Attempting to append record {} with callback {} to topic {} partition {}", v);
label:
v = new org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer$InterceptorCallback;
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.producer.internals.ProducerInterceptors interceptors>;
specialinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer$InterceptorCallback: void <init>(org.apache.kafkaesqueesqueesque.clients.producer.Callback,org.apache.kafkaesqueesqueesque.clients.producer.internals.ProducerInterceptors,org.apache.kafkaesqueesqueesque.common.TopicPartition)>(v, v, v);
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.producer.internals.TransactionManager transactionManager>;
if v == null goto label;
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.producer.internals.TransactionManager transactionManager>;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.internals.TransactionManager: boolean isTransactional()>();
if v == 0 goto label;
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.producer.internals.TransactionManager transactionManager>;
virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.internals.TransactionManager: void failIfNotReadyForSend()>();
label:
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.producer.internals.RecordAccumulator accumulator>;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.internals.RecordAccumulator: org.apache.kafkaesqueesqueesque.clients.producer.internals.RecordAccumulator$RecordAppendResult append(org.apache.kafkaesqueesqueesque.common.TopicPartition,long,byte[],byte[],org.apache.kafkaesqueesqueesque.common.header.Header[],org.apache.kafkaesqueesqueesque.clients.producer.Callback,long,boolean,long)>(v, v, v, v, v, v, v, 1, v);
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.internals.RecordAccumulator$RecordAppendResult: boolean abortForNewBatch>;
if v == 0 goto label;
v = v;
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.producer.Partitioner partitioner>;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.ProducerRecord: java.lang.String topic()>();
interfaceinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.Partitioner: void onNewBatch(java.lang.String,org.apache.kafkaesqueesqueesque.common.Cluster,int)>(v, v, v);
v = specialinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: int partition(org.apache.kafkaesqueesqueesque.clients.producer.ProducerRecord,byte[],byte[],org.apache.kafkaesqueesqueesque.common.Cluster)>(v, v, v, v);
v = new org.apache.kafkaesqueesqueesque.common.TopicPartition;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.ProducerRecord: java.lang.String topic()>();
specialinvoke v.<org.apache.kafkaesqueesqueesque.common.TopicPartition: void <init>(java.lang.String,int)>(v, v);
v = v;
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.slf4j.Logger log>;
v = interfaceinvoke v.<org.slf4j.Logger: boolean isTraceEnabled()>();
if v == 0 goto label;
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.slf4j.Logger log>;
v = newarray (java.lang.Object)[3];
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.ProducerRecord: java.lang.String topic()>();
v[0] = v;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[1] = v;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[2] = v;
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String,java.lang.Object[])>("Retrying append due to new batch creation for topic {} partition {}. The old partition was {}", v);
label:
v = new org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer$InterceptorCallback;
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.producer.internals.ProducerInterceptors interceptors>;
specialinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer$InterceptorCallback: void <init>(org.apache.kafkaesqueesqueesque.clients.producer.Callback,org.apache.kafkaesqueesqueesque.clients.producer.internals.ProducerInterceptors,org.apache.kafkaesqueesqueesque.common.TopicPartition)>(v, v, v);
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.producer.internals.RecordAccumulator accumulator>;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.internals.RecordAccumulator: org.apache.kafkaesqueesqueesque.clients.producer.internals.RecordAccumulator$RecordAppendResult append(org.apache.kafkaesqueesqueesque.common.TopicPartition,long,byte[],byte[],org.apache.kafkaesqueesqueesque.common.header.Header[],org.apache.kafkaesqueesqueesque.clients.producer.Callback,long,boolean,long)>(v, v, v, v, v, v, v, 0, v);
label:
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.producer.internals.TransactionManager transactionManager>;
if v == null goto label;
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.producer.internals.TransactionManager transactionManager>;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.internals.TransactionManager: boolean isTransactional()>();
if v == 0 goto label;
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.producer.internals.TransactionManager transactionManager>;
virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.internals.TransactionManager: void maybeAddPartitionToTransaction(org.apache.kafkaesqueesqueesque.common.TopicPartition)>(v);
label:
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.internals.RecordAccumulator$RecordAppendResult: boolean batchIsFull>;
if v != 0 goto label;
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.internals.RecordAccumulator$RecordAppendResult: boolean newBatchCreated>;
if v == 0 goto label;
label:
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.slf4j.Logger log>;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.ProducerRecord: java.lang.String topic()>();
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String,java.lang.Object,java.lang.Object)>("Waking up the sender since topic {} partition {} is either full or getting a new batch", v, v);
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.producer.internals.Sender sender>;
virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.internals.Sender: void wakeup()>();
label:
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.internals.RecordAccumulator$RecordAppendResult: org.apache.kafkaesqueesqueesque.clients.producer.internals.FutureRecordMetadata future>;
label:
return v;
label:
v := @caughtexception;
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.slf4j.Logger log>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Throwable)>("Exception occurred during message send:", v);
if v == null goto label;
interfaceinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.Callback: void onCompletion(org.apache.kafkaesqueesqueesque.clients.producer.RecordMetadata,java.lang.Exception)>(null, v);
label:
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.common.metrics.Sensor errors>;
virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.metrics.Sensor: void record()>();
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.producer.internals.ProducerInterceptors interceptors>;
virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.internals.ProducerInterceptors: void onSendError(org.apache.kafkaesqueesqueesque.clients.producer.ProducerRecord,org.apache.kafkaesqueesqueesque.common.TopicPartition,java.lang.Exception)>(v, v, v);
v = new org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer$FutureFailure;
specialinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer$FutureFailure: void <init>(java.lang.Exception)>(v);
return v;
label:
v := @caughtexception;
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.common.metrics.Sensor errors>;
virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.metrics.Sensor: void record()>();
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.producer.internals.ProducerInterceptors interceptors>;
virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.internals.ProducerInterceptors: void onSendError(org.apache.kafkaesqueesqueesque.clients.producer.ProducerRecord,org.apache.kafkaesqueesqueesque.common.TopicPartition,java.lang.Exception)>(v, v, v);
v = new org.apache.kafkaesqueesqueesque.common.errors.InterruptException;
specialinvoke v.<org.apache.kafkaesqueesqueesque.common.errors.InterruptException: void <init>(java.lang.InterruptedException)>(v);
throw v;
label:
v := @caughtexception;
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.common.metrics.Sensor errors>;
virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.metrics.Sensor: void record()>();
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.common.metrics.Metrics metrics>;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.metrics.Metrics: org.apache.kafkaesqueesqueesque.common.metrics.Sensor sensor(java.lang.String)>("buffer-exhausted-records");
virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.metrics.Sensor: void record()>();
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.producer.internals.ProducerInterceptors interceptors>;
virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.internals.ProducerInterceptors: void onSendError(org.apache.kafkaesqueesqueesque.clients.producer.ProducerRecord,org.apache.kafkaesqueesqueesque.common.TopicPartition,java.lang.Exception)>(v, v, v);
throw v;
label:
v := @caughtexception;
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.common.metrics.Sensor errors>;
virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.metrics.Sensor: void record()>();
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.producer.internals.ProducerInterceptors interceptors>;
virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.internals.ProducerInterceptors: void onSendError(org.apache.kafkaesqueesqueesque.clients.producer.ProducerRecord,org.apache.kafkaesqueesqueesque.common.TopicPartition,java.lang.Exception)>(v, v, v);
throw v;
label:
v := @caughtexception;
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.producer.internals.ProducerInterceptors interceptors>;
virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.internals.ProducerInterceptors: void onSendError(org.apache.kafkaesqueesqueesque.clients.producer.ProducerRecord,org.apache.kafkaesqueesqueesque.common.TopicPartition,java.lang.Exception)>(v, v, v);
throw v;
catch org.apache.kafkaesqueesqueesque.common.KafkaException from label to label with label;
catch java.lang.ClassCastException from label to label with label;
catch java.lang.ClassCastException from label to label with label;
catch org.apache.kafkaesqueesqueesque.common.errors.ApiException from label to label with label;
catch java.lang.InterruptedException from label to label with label;
catch org.apache.kafkaesqueesqueesque.clients.producer.BufferExhaustedException from label to label with label;
catch org.apache.kafkaesqueesqueesque.common.KafkaException from label to label with label;
catch java.lang.Exception from label to label with label;
}
private void setReadOnly(org.apache.kafkaesqueesqueesque.common.header.Headers)
{
org.apache.kafkaesqueesqueesque.common.header.Headers v;
org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer v;
boolean v;
v := @this: org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer;
v := @parameter: org.apache.kafkaesqueesqueesque.common.header.Headers;
v = v instanceof org.apache.kafkaesqueesqueesque.common.header.internals.RecordHeaders;
if v == 0 goto label;
virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.header.internals.RecordHeaders: void setReadOnly()>();
label:
return;
}
private org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer$ClusterAndWaitTime waitOnMetadata(java.lang.String, java.lang.Integer, long, long) throws java.lang.InterruptedException
{
java.lang.Integer v, v;
byte v;
java.lang.Long v, v, v;
org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer v;
boolean v;
org.apache.kafkaesqueesqueesque.common.Cluster v, v;
org.apache.kafkaesqueesqueesque.clients.producer.internals.ProducerMetadata v, v, v, v, v, v, v;
java.util.Set v;
org.apache.kafkaesqueesqueesque.clients.producer.internals.Sender v;
org.apache.kafkaesqueesqueesque.common.errors.TimeoutException v, v, v;
org.apache.kafkaesqueesqueesque.common.utils.Time v;
org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer$ClusterAndWaitTime v, v;
java.lang.Object[] v, v, v;
long v, v, v, v, v, v;
int v, v, v, v, v;
java.lang.String v, v, v;
org.slf4j.Logger v, v;
org.apache.kafkaesqueesqueesque.common.errors.InvalidTopicException v;
v := @this: org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer;
v := @parameter: java.lang.String;
v := @parameter: java.lang.Integer;
v := @parameter: long;
v := @parameter: long;
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.producer.internals.ProducerMetadata metadata>;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.internals.ProducerMetadata: org.apache.kafkaesqueesqueesque.common.Cluster fetch()>();
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.Cluster: java.util.Set invalidTopics()>();
v = interfaceinvoke v.<java.util.Set: boolean contains(java.lang.Object)>(v);
if v == 0 goto label;
v = new org.apache.kafkaesqueesqueesque.common.errors.InvalidTopicException;
specialinvoke v.<org.apache.kafkaesqueesqueesque.common.errors.InvalidTopicException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.producer.internals.ProducerMetadata metadata>;
virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.internals.ProducerMetadata: void add(java.lang.String,long)>(v, v);
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.Cluster: java.lang.Integer partitionCountForTopic(java.lang.String)>(v);
if v == null goto label;
if v == null goto label;
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
if v >= v goto label;
label:
v = new org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer$ClusterAndWaitTime;
specialinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer$ClusterAndWaitTime: void <init>(org.apache.kafkaesqueesqueesque.common.Cluster,long)>(v, 0L);
return v;
label:
v = v;
v = 0L;
label:
if v == null goto label;
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.slf4j.Logger log>;
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String,java.lang.Object,java.lang.Object)>("Requesting metadata update for partition {} of topic {}.", v, v);
goto label;
label:
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.slf4j.Logger log>;
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String,java.lang.Object)>("Requesting metadata update for topic {}.", v);
label:
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.producer.internals.ProducerMetadata metadata>;
v = v + v;
virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.internals.ProducerMetadata: void add(java.lang.String,long)>(v, v);
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.producer.internals.ProducerMetadata metadata>;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.internals.ProducerMetadata: int requestUpdateForTopic(java.lang.String)>(v);
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.producer.internals.Sender sender>;
virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.internals.Sender: void wakeup()>();
label:
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.producer.internals.ProducerMetadata metadata>;
virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.internals.ProducerMetadata: void awaitUpdate(int,long)>(v, v);
label:
goto label;
label:
v := @caughtexception;
v = new org.apache.kafkaesqueesqueesque.common.errors.TimeoutException;
v = newarray (java.lang.Object)[2];
v[0] = v;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v[1] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("Topic %s not present in metadata after %d ms.", v);
specialinvoke v.<org.apache.kafkaesqueesqueesque.common.errors.TimeoutException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.producer.internals.ProducerMetadata metadata>;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.internals.ProducerMetadata: org.apache.kafkaesqueesqueesque.common.Cluster fetch()>();
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.common.utils.Time time>;
v = interfaceinvoke v.<org.apache.kafkaesqueesqueesque.common.utils.Time: long milliseconds()>();
v = v - v;
v = v cmp v;
if v < 0 goto label;
v = new org.apache.kafkaesqueesqueesque.common.errors.TimeoutException;
if v != null goto label;
v = newarray (java.lang.Object)[2];
v[0] = v;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v[1] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("Topic %s not present in metadata after %d ms.", v);
goto label;
label:
v = newarray (java.lang.Object)[4];
v[0] = v;
v[1] = v;
v[2] = v;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v[3] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("Partition %d of topic %s with partition count %d is not present in metadata after %d ms.", v);
label:
specialinvoke v.<org.apache.kafkaesqueesqueesque.common.errors.TimeoutException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.producer.internals.ProducerMetadata metadata>;
virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.internals.ProducerMetadata: void maybeThrowExceptionForTopic(java.lang.String)>(v);
v = v - v;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.Cluster: java.lang.Integer partitionCountForTopic(java.lang.String)>(v);
if v == null goto label;
if v == null goto label;
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
if v >= v goto label;
label:
v = new org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer$ClusterAndWaitTime;
specialinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer$ClusterAndWaitTime: void <init>(org.apache.kafkaesqueesqueesque.common.Cluster,long)>(v, v);
return v;
catch org.apache.kafkaesqueesqueesque.common.errors.TimeoutException from label to label with label;
}
private void ensureValidRecordSize(int)
{
long v;
byte v;
int v, v, v;
java.lang.String v, v;
org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer v;
org.apache.kafkaesqueesqueesque.common.errors.RecordTooLargeException v, v;
v := @this: org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer;
v := @parameter: int;
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: int maxRequestSize>;
if v <= v goto label;
v = new org.apache.kafkaesqueesqueesque.common.errors.RecordTooLargeException;
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: int maxRequestSize>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int,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[])>("The message is \u bytes when serialized which is larger than \u, which is the value of the max.request.size configuration.");
specialinvoke v.<org.apache.kafkaesqueesqueesque.common.errors.RecordTooLargeException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: long totalMemorySize>;
v = v cmp v;
if v <= 0 goto label;
v = new org.apache.kafkaesqueesqueesque.common.errors.RecordTooLargeException;
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[])>("The message is \u bytes when serialized which is larger than the total memory buffer you have configured with the buffer.memory configuration.");
specialinvoke v.<org.apache.kafkaesqueesqueesque.common.errors.RecordTooLargeException: void <init>(java.lang.String)>(v);
throw v;
label:
return;
}
public void flush()
{
org.slf4j.Logger v;
java.lang.InterruptedException v;
org.apache.kafkaesqueesqueesque.common.errors.InterruptException v;
org.apache.kafkaesqueesqueesque.clients.producer.internals.RecordAccumulator v, v;
org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer v;
org.apache.kafkaesqueesqueesque.clients.producer.internals.Sender v;
v := @this: org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer;
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.slf4j.Logger log>;
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String)>("Flushing accumulated records in producer.");
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.producer.internals.RecordAccumulator accumulator>;
virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.internals.RecordAccumulator: void beginFlush()>();
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.producer.internals.Sender sender>;
virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.internals.Sender: void wakeup()>();
label:
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.producer.internals.RecordAccumulator accumulator>;
virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.internals.RecordAccumulator: void awaitFlushCompletion()>();
label:
goto label;
label:
v := @caughtexception;
v = new org.apache.kafkaesqueesqueesque.common.errors.InterruptException;
specialinvoke v.<org.apache.kafkaesqueesqueesque.common.errors.InterruptException: void <init>(java.lang.String,java.lang.InterruptedException)>("Flush interrupted.", v);
throw v;
label:
return;
catch java.lang.InterruptedException from label to label with label;
}
public java.util.List partitionsFor(java.lang.String)
{
org.apache.kafkaesqueesqueesque.common.errors.InterruptException v;
long v, v;
java.util.List v;
java.lang.InterruptedException v;
java.lang.String v;
org.apache.kafkaesqueesqueesque.common.utils.Time v;
org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer$ClusterAndWaitTime v;
org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer v;
org.apache.kafkaesqueesqueesque.common.Cluster v;
v := @this: org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer;
v := @parameter: java.lang.String;
staticinvoke <java.util.Objects: java.lang.Object requireNonNull(java.lang.Object,java.lang.String)>(v, "topic cannot be null");
label:
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.common.utils.Time time>;
v = interfaceinvoke v.<org.apache.kafkaesqueesqueesque.common.utils.Time: long milliseconds()>();
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: long maxBlockTimeMs>;
v = specialinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer$ClusterAndWaitTime waitOnMetadata(java.lang.String,java.lang.Integer,long,long)>(v, null, v, v);
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer$ClusterAndWaitTime: org.apache.kafkaesqueesqueesque.common.Cluster cluster>;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.Cluster: java.util.List partitionsForTopic(java.lang.String)>(v);
label:
return v;
label:
v := @caughtexception;
v = new org.apache.kafkaesqueesqueesque.common.errors.InterruptException;
specialinvoke v.<org.apache.kafkaesqueesqueesque.common.errors.InterruptException: void <init>(java.lang.InterruptedException)>(v);
throw v;
catch java.lang.InterruptedException from label to label with label;
}
public java.util.Map metrics()
{
org.apache.kafkaesqueesqueesque.common.metrics.Metrics v;
java.util.Map v, v;
org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer v;
v := @this: org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer;
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.common.metrics.Metrics metrics>;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.metrics.Metrics: java.util.Map metrics()>();
v = staticinvoke <java.util.Collections: java.util.Map unmodifiableMap(java.util.Map)>(v);
return v;
}
public void close()
{
org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer v;
java.time.Duration v;
v := @this: org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer;
v = staticinvoke <java.time.Duration: java.time.Duration ofMillis(long)>(9223372036854775807L);
virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: void close(java.time.Duration)>(v);
return;
}
public void close(java.time.Duration)
{
org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer v;
java.time.Duration v;
v := @this: org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer;
v := @parameter: java.time.Duration;
specialinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: void close(java.time.Duration,boolean)>(v, 0);
return;
}
private void close(java.time.Duration, boolean)
{
org.apache.kafkaesqueesqueesque.common.errors.InterruptException v, v;
byte v, v;
java.lang.Long v, v, v;
java.lang.Thread v, v, v, v, v, v, v;
java.time.Duration v;
org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer v;
boolean v, v, v, v, v;
org.apache.kafkaesqueesqueesque.clients.producer.internals.ProducerInterceptors v;
org.apache.kafkaesqueesqueesque.common.KafkaException v;
org.apache.kafkaesqueesqueesque.clients.producer.Partitioner v;
org.apache.kafkaesqueesqueesque.clients.producer.internals.Sender v, v, v, v;
java.lang.Throwable v;
org.apache.kafkaesqueesqueesque.common.metrics.Metrics v, v;
long v;
java.util.concurrent.atomic.AtomicReference v;
java.lang.String v;
org.slf4j.Logger v, v, v, v, v;
java.lang.IllegalArgumentException v;
java.lang.InterruptedException v, v;
java.lang.Object v;
org.apache.kafkaesqueesqueesque.common.serialization.Serializer v, v;
v := @this: org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer;
v := @parameter: java.time.Duration;
v := @parameter: boolean;
v = virtualinvoke v.<java.time.Duration: long toMillis()>();
v = v cmp 0L;
if v >= 0 goto label;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("The timeout cannot be negative.");
throw v;
label:
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: 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)>("Closing the Kafka producer with timeoutMillis = {} ms.", v);
v = new java.util.concurrent.atomic.AtomicReference;
specialinvoke v.<java.util.concurrent.atomic.AtomicReference: void <init>()>();
v = staticinvoke <java.lang.Thread: java.lang.Thread currentThread()>();
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: java.lang.Thread ioThread>;
if v != v goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
v = v cmp 0L;
if v <= 0 goto label;
if v == 0 goto label;
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.slf4j.Logger log>;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Object)>("Overriding close timeout {} ms to 0 ms in order to prevent useless blocking due to self-join. This means you have incorrectly invoked close with a non-zero timeout from the producer call-back.", v);
goto label;
label:
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.producer.internals.Sender sender>;
if v == null goto label;
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.producer.internals.Sender sender>;
virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.internals.Sender: void initiateClose()>();
label:
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: java.lang.Thread ioThread>;
if v == null goto label;
label:
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: java.lang.Thread ioThread>;
virtualinvoke v.<java.lang.Thread: void join(long)>(v);
label:
goto label;
label:
v := @caughtexception;
v = new org.apache.kafkaesqueesqueesque.common.errors.InterruptException;
specialinvoke v.<org.apache.kafkaesqueesqueesque.common.errors.InterruptException: void <init>(java.lang.InterruptedException)>(v);
virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: boolean compareAndSet(java.lang.Object,java.lang.Object)>(null, v);
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.slf4j.Logger log>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Throwable)>("Interrupted while joining ioThread", v);
label:
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.producer.internals.Sender sender>;
if v == null goto label;
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: java.lang.Thread ioThread>;
if v == null goto label;
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: java.lang.Thread ioThread>;
v = virtualinvoke v.<java.lang.Thread: boolean isAlive()>();
if v == 0 goto label;
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: 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)>("Proceeding to force close the producer since pending requests could not be completed within timeout {} ms.", v);
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.producer.internals.Sender sender>;
virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.internals.Sender: void forceClose()>();
if v != 0 goto label;
label:
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: java.lang.Thread ioThread>;
virtualinvoke v.<java.lang.Thread: void join()>();
label:
goto label;
label:
v := @caughtexception;
v = new org.apache.kafkaesqueesqueesque.common.errors.InterruptException;
specialinvoke v.<org.apache.kafkaesqueesqueesque.common.errors.InterruptException: void <init>(java.lang.InterruptedException)>(v);
virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: boolean compareAndSet(java.lang.Object,java.lang.Object)>(null, v);
label:
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.producer.internals.ProducerInterceptors interceptors>;
staticinvoke <org.apache.kafkaesqueesqueesque.common.utils.Utils: void closeQuietly(java.lang.AutoCloseable,java.lang.String,java.util.concurrent.atomic.AtomicReference)>(v, "producer interceptors", v);
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.common.metrics.Metrics metrics>;
staticinvoke <org.apache.kafkaesqueesqueesque.common.utils.Utils: void closeQuietly(java.lang.AutoCloseable,java.lang.String,java.util.concurrent.atomic.AtomicReference)>(v, "producer metrics", v);
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.common.serialization.Serializer keySerializer>;
staticinvoke <org.apache.kafkaesqueesqueesque.common.utils.Utils: void closeQuietly(java.lang.AutoCloseable,java.lang.String,java.util.concurrent.atomic.AtomicReference)>(v, "producer keySerializer", v);
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.common.serialization.Serializer valueSerializer>;
staticinvoke <org.apache.kafkaesqueesqueesque.common.utils.Utils: void closeQuietly(java.lang.AutoCloseable,java.lang.String,java.util.concurrent.atomic.AtomicReference)>(v, "producer valueSerializer", v);
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.producer.Partitioner partitioner>;
staticinvoke <org.apache.kafkaesqueesqueesque.common.utils.Utils: void closeQuietly(java.lang.AutoCloseable,java.lang.String,java.util.concurrent.atomic.AtomicReference)>(v, "producer partitioner", v);
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: java.lang.String clientId>;
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.common.metrics.Metrics metrics>;
staticinvoke <org.apache.kafkaesqueesqueesque.common.utils.AppInfoParser: void unregisterAppInfo(java.lang.String,java.lang.String,org.apache.kafkaesqueesqueesque.common.metrics.Metrics)>("kafka.producer", v, v);
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: java.lang.Object get()>();
if v == null goto label;
if v != 0 goto label;
v = v instanceof org.apache.kafkaesqueesqueesque.common.errors.InterruptException;
if v == 0 goto label;
throw v;
label:
v = new org.apache.kafkaesqueesqueesque.common.KafkaException;
specialinvoke v.<org.apache.kafkaesqueesqueesque.common.KafkaException: void <init>(java.lang.String,java.lang.Throwable)>("Failed to close kafka producer", v);
throw v;
label:
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.slf4j.Logger log>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String)>("Kafka producer has been closed");
return;
catch java.lang.InterruptedException from label to label with label;
catch java.lang.InterruptedException from label to label with label;
}
private static java.util.Map propsToMap(java.util.Properties)
{
java.util.Properties v;
java.util.Iterator v;
java.util.Set v;
java.util.HashMap v;
org.apache.kafkaesqueesqueesque.common.config.ConfigException v;
int v;
java.lang.Object v, v, v, v, v, v;
java.lang.String v;
boolean v, v;
v := @parameter: java.util.Properties;
v = new java.util.HashMap;
v = virtualinvoke v.<java.util.Properties: int size()>();
specialinvoke v.<java.util.HashMap: void <init>(int)>(v);
v = virtualinvoke v.<java.util.Properties: 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 = v instanceof java.lang.String;
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getKey()>();
v = virtualinvoke v.<java.util.Properties: java.lang.Object get(java.lang.Object)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
goto label;
label:
v = new org.apache.kafkaesqueesqueesque.common.config.ConfigException;
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getKey()>();
v = virtualinvoke v.<java.lang.Object: java.lang.String toString()>();
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getValue()>();
specialinvoke v.<org.apache.kafkaesqueesqueesque.common.config.ConfigException: void <init>(java.lang.String,java.lang.Object,java.lang.String)>(v, v, "Key must be a string.");
throw v;
label:
return v;
}
private transient org.apache.kafkaesqueesqueesque.common.internals.ClusterResourceListeners configureClusterResourceListeners(org.apache.kafkaesqueesqueesque.common.serialization.Serializer, org.apache.kafkaesqueesqueesque.common.serialization.Serializer, java.util.List[])
{
java.util.List[] v;
org.apache.kafkaesqueesqueesque.common.internals.ClusterResourceListeners v;
java.util.List v;
int v, v;
org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer v;
org.apache.kafkaesqueesqueesque.common.serialization.Serializer v, v;
v := @this: org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer;
v := @parameter: org.apache.kafkaesqueesqueesque.common.serialization.Serializer;
v := @parameter: org.apache.kafkaesqueesqueesque.common.serialization.Serializer;
v := @parameter: java.util.List[];
v = new org.apache.kafkaesqueesqueesque.common.internals.ClusterResourceListeners;
specialinvoke v.<org.apache.kafkaesqueesqueesque.common.internals.ClusterResourceListeners: void <init>()>();
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.internals.ClusterResourceListeners: void maybeAddAll(java.util.List)>(v);
v = v + 1;
goto label;
label:
virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.internals.ClusterResourceListeners: void maybeAdd(java.lang.Object)>(v);
virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.internals.ClusterResourceListeners: void maybeAdd(java.lang.Object)>(v);
return v;
}
private int partition(org.apache.kafkaesqueesqueesque.clients.producer.ProducerRecord, byte[], byte[], org.apache.kafkaesqueesqueesque.common.Cluster)
{
byte[] v, v;
org.apache.kafkaesqueesqueesque.clients.producer.ProducerRecord v;
java.lang.Integer v;
org.apache.kafkaesqueesqueesque.clients.producer.Partitioner v;
int v;
java.lang.Object v, v;
java.lang.String v;
org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer v;
org.apache.kafkaesqueesqueesque.common.Cluster v;
v := @this: org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer;
v := @parameter: org.apache.kafkaesqueesqueesque.clients.producer.ProducerRecord;
v := @parameter: byte[];
v := @parameter: byte[];
v := @parameter: org.apache.kafkaesqueesqueesque.common.Cluster;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.ProducerRecord: java.lang.Integer partition()>();
if v == null goto label;
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
goto label;
label:
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.producer.Partitioner partitioner>;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.ProducerRecord: java.lang.String topic()>();
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.ProducerRecord: java.lang.Object key()>();
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.ProducerRecord: java.lang.Object value()>();
v = interfaceinvoke v.<org.apache.kafkaesqueesqueesque.clients.producer.Partitioner: int partition(java.lang.String,java.lang.Object,byte[],java.lang.Object,byte[],org.apache.kafkaesqueesqueesque.common.Cluster)>(v, v, v, v, v, v);
label:
return v;
}
private void throwIfInvalidGroupMetadata(org.apache.kafkaesqueesqueesque.clients.consumer.ConsumerGroupMetadata)
{
java.lang.IllegalArgumentException v, v;
org.apache.kafkaesqueesqueesque.clients.consumer.ConsumerGroupMetadata v;
int v;
java.lang.String v, v, v;
org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer v;
boolean v;
v := @this: org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer;
v := @parameter: org.apache.kafkaesqueesqueesque.clients.consumer.ConsumerGroupMetadata;
if v != null goto label;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("Consumer group metadata could not be null");
throw v;
label:
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.consumer.ConsumerGroupMetadata: int generationId()>();
if v <= 0 goto label;
v = "";
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.clients.consumer.ConsumerGroupMetadata: java.lang.String memberId()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = new java.lang.IllegalArgumentException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.kafkaesqueesqueesque.clients.consumer.ConsumerGroupMetadata)>(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[])>("Passed in group metadata \u has generationId > 0 but member.id ");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
return;
}
private void throwIfNoTransactionManager()
{
org.apache.kafkaesqueesqueesque.clients.producer.internals.TransactionManager v;
java.lang.IllegalStateException v;
org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer v;
v := @this: org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer;
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: org.apache.kafkaesqueesqueesque.clients.producer.internals.TransactionManager transactionManager>;
if v != null goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("Cannot use transactional methods without enabling transactions by setting the transactional.id configuration property");
throw v;
label:
return;
}
java.lang.String getClientId()
{
java.lang.String v;
org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer v;
v := @this: org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer;
v = v.<org.apache.kafkaesqueesqueesque.clients.producer.KafkaProducer: java.lang.String clientId>;
return v;
}
}