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

Reply via email to