[
https://issues.apache.org/jira/browse/KAFKA-9584?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Micah Ramos updated KAFKA-9584:
-------------------------------
Description:
The consumer record that is used during punctuate is static, this can cause
java.util.ConcurrentModificationException when modifying the headers.
Using a single instance of ConsumerRecord for all punctuates causes other
strange behavior:
# Headers are shared across partitions.
# A topology that adds a single header could append an infinite number of
headers (one per punctuate iteration), causing memory problems in the current
topology as well as down stream consumers since the headers are written with
the record when it is produced to a topic.
I would expect that each invocation of punctuate would be initialized with a
new header object.
was:
The consumer record that is used during punctuate is static, this can cause
java.util.ConcurrentModificationException when modifying the headers.
Using a single instance of ConsumerRecord for all punctuates causes other
strange behavior:
# Headers are shared across partitions.
# A topology that adds a single header could append an infinite number of
headers (one per punctuate iteration), causing memory problems in the current
topology as well as down stream consumers since the headers are written with
the record when it is produced to a topic.
> Removing headers causes ConcurrentModificationException
> -------------------------------------------------------
>
> Key: KAFKA-9584
> URL: https://issues.apache.org/jira/browse/KAFKA-9584
> Project: Kafka
> Issue Type: Bug
> Components: streams
> Affects Versions: 2.0.0
> Reporter: Micah Ramos
> Priority: Minor
>
> The consumer record that is used during punctuate is static, this can cause
> java.util.ConcurrentModificationException when modifying the headers.
> Using a single instance of ConsumerRecord for all punctuates causes other
> strange behavior:
> # Headers are shared across partitions.
> # A topology that adds a single header could append an infinite number of
> headers (one per punctuate iteration), causing memory problems in the current
> topology as well as down stream consumers since the headers are written with
> the record when it is produced to a topic.
>
> I would expect that each invocation of punctuate would be initialized with a
> new header object.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)