Thanks Cyrus! I think this change is a good step in hardening the API. I do
believe that APIs should be defined by functionality and not performance
characteristics, so I'd prefer using List<> over ArrayList<> (the
alternative you mention in rejected). That also gives us leeway in the
future to swap implementations without breaking compatibility (e.g. we want
to pass an ImmutableList or Collections.unmodifiableList instead of
ArrayList or discover some unknown more efficient implementation than
ArrayList).

Almog

On Sat, Aug 3, 2019 at 7:01 PM Cyrus Vafadari <cy...@confluent.io> wrote:

> Hi all,
>
> I've written a KIP to update the SinkTask abstract class to specify that
> the `put` method will take ArrayList. I think this will greatly simplify
> connector development, so you aren't limited to the simplest iterations. It
> will also harden the ordering guarantees of the API.
>
> Looking forward to the feedback!
>
>
> https://cwiki.apache.org/confluence/display/KAFKA/KIP-502%3A+Connect+SinkTask.put%28...%29+to+specify+ArrayList%3CSinkRecord%3E+in+Signature
>
> Cyrus
>

Reply via email to