[ 
https://issues.apache.org/jira/browse/KAFKA-9584?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17041947#comment-17041947
 ] 

Matthias J. Sax commented on KAFKA-9584:
----------------------------------------

What `ConsumerRecord` to you refer to? The `punctuate()` call back only has a 
single long parameter.

> 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)

Reply via email to