[ 
https://issues.apache.org/jira/browse/KAFKA-8749?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Cyrus Vafadari updated KAFKA-8749:
----------------------------------
    Labels: needs-kip  (was: )

> Connect SinkTask.put(...) to specify ArrayList<SinkRecord> in Signature
> -----------------------------------------------------------------------
>
>                 Key: KAFKA-8749
>                 URL: https://issues.apache.org/jira/browse/KAFKA-8749
>             Project: Kafka
>          Issue Type: Improvement
>          Components: KafkaConnect
>            Reporter: Cyrus Vafadari
>            Priority: Major
>              Labels: needs-kip
>
> Detailed in 
> [KIP-502|https://cwiki.apache.org/confluence/display/KAFKA/KIP-502%3A+Connect+SinkTask.put%28...%29+to+specify+ArrayList%3CSinkRecord%3E+in+Signature]
>  
> The key class in a Sink Connector is the `SinkTask` implementation. The 
> `SinkTask.put(...)` method delivers the records from the KafkaConsumer to the 
> Connector-specific code through this entrypoint, and its current abstract 
> class specifies:
> public abstract void put(Collection<SinkRecord> records);
> Usually, the implementer will use a for-each loop to iterate through the 
> records one by one and act on them. There is only one caller, WorkerSinkTask 
> which always passes an ArrayList.
> There are two shortcomings with this signature:
>  # The Connector implementation is not provide with any *ordering guarantees* 
> of Records.
>  # The decision values giving flexibility to the caller of the method over 
> the implementer of the method.



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

Reply via email to