[ https://issues.apache.org/jira/browse/KAFKA-3835?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Damian Guy updated KAFKA-3835: ------------------------------ Description: The RecordCollector.send(..) method below, currently receives a ProducerRecord from its caller and then creates another one to forward on to its producer. The creation of 2 ProducerRecords should be removed. {code} public <K, V> void send(ProducerRecord<K, V> record, Serializer<K> keySerializer, Serializer<V> valueSerializer, StreamPartitioner<K, V> partitioner) {code} We could replace the above method with {code} public <K, V> void send(String topic, K key, V value, Integer partition, Long timestamp, Serializer<K> keySerializer, Serializer<V> valueSerializer, StreamPartitioner<K, V> partitioner) {code} was: The RecordCollector.send(..) method below, currently receives a ProducerRecord from its caller and then creates another one to forward on to its producer. The creation of 2 ProducerRecords should be removed. {code} public <K, V> void send(ProducerRecord<K, V> record, Serializer<K> keySerializer, Serializer<V> valueSerializer, StreamPartitioner<K, V> partitioner) {code} We could replace the above method with {code} public <K, V> void send(String topic, K key, V value, Integer partition, Long timestamp, Serializer<K> keySerializer, Serializer<V> valueSerializer, StreamPartitioner<K, V> partitioner) {code} This change should possibly also change StateChangeLogger to pass through the context.timestamp() of the original message. > Streams is creating two ProducerRecords for each send via RecordCollector > ------------------------------------------------------------------------- > > Key: KAFKA-3835 > URL: https://issues.apache.org/jira/browse/KAFKA-3835 > Project: Kafka > Issue Type: Bug > Components: streams > Affects Versions: 0.10.0.0 > Reporter: Damian Guy > Assignee: Guozhang Wang > Priority: Minor > Fix For: 0.10.1.0 > > > The RecordCollector.send(..) method below, currently receives a > ProducerRecord from its caller and then creates another one to forward on to > its producer. The creation of 2 ProducerRecords should be removed. > {code} > public <K, V> void send(ProducerRecord<K, V> record, Serializer<K> > keySerializer, Serializer<V> valueSerializer, > StreamPartitioner<K, V> partitioner) > {code} > We could replace the above method with > {code} > public <K, V> void send(String topic, > K key, > V value, > Integer partition, > Long timestamp, > Serializer<K> keySerializer, > Serializer<V> valueSerializer, > StreamPartitioner<K, V> partitioner) > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)