[ https://issues.apache.org/jira/browse/KAFKA-14303?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jun Rao resolved KAFKA-14303. ----------------------------- Fix Version/s: 3.4.0 3.3.2 Resolution: Fixed Merged the PR to 3.3 and trunk. > Producer.send without record key and batch.size=0 goes into infinite loop > ------------------------------------------------------------------------- > > Key: KAFKA-14303 > URL: https://issues.apache.org/jira/browse/KAFKA-14303 > Project: Kafka > Issue Type: Bug > Components: clients, producer > Affects Versions: 3.3.0, 3.3.1 > Reporter: Igor Soarez > Assignee: Igor Soarez > Priority: Major > Labels: Partitioner, bug, client, producer, regresion > Fix For: 3.4.0, 3.3.2 > > > 3.3 has broken previous producer behavior. > A call to {{producer.send(record)}} with a record without a key and > configured with {{batch.size=0}} never returns. > Reproducer: > {code:java} > class ProducerIssueTest extends IntegrationTestHarness { > override protected def brokerCount = 1 > @Test > def testProduceWithBatchSizeZeroAndNoRecordKey(): Unit = { > val topicName = "foo" > createTopic(topicName) > val overrides = new Properties > overrides.put(ProducerConfig.BATCH_SIZE_CONFIG, 0) > val producer = createProducer(keySerializer = new StringSerializer, > valueSerializer = new StringSerializer, overrides) > val record = new ProducerRecord[String, String](topicName, null, "hello") > val future = producer.send(record) // goes into infinite loop here > future.get(10, TimeUnit.SECONDS) > } > } {code} > > [Documentation for producer > configuration|https://kafka.apache.org/documentation/#producerconfigs_batch.size] > states {{batch.size=0}} as a valid value: > {quote}Valid Values: [0,...] > {quote} > and recommends its use directly: > {quote}A small batch size will make batching less common and may reduce > throughput (a batch size of zero will disable batching entirely). > {quote} -- This message was sent by Atlassian Jira (v8.20.10#820010)