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