Hi Michael,

Please feel free to file a PR to improve the docs, we welcome contributions!

As far as a new status in the REST API goes, this would be a bit more
involved and require a KIP (
https://cwiki.apache.org/confluence/display/KAFKA/Kafka+Improvement+Proposals),
but if you believe it would be useful, you're welcome to pursue that option
as well.

Cheers,

Chris

On Fri, Mar 3, 2023 at 1:20 AM Michael Vodep <michael.vo...@bearingpoint.com>
wrote:

> Hi
>
> Thanks a lot - it's clear now.
>
> Maybe the behavior of what happens if
>
> * no config is returned
> * more config > maxTasks is returned
>
> Can be added to API docu 😉
>
> http://localhost:8083/connectors?expand=info&expand=status
>
> If here the task factory also reflects some "WAITING_FOR_TASK_CONFIG" -
> that would be awesome 😉
>
> Thanks
> Michael
>
> -----Ursprüngliche Nachricht-----
> Von: Chris Egerton <chr...@aiven.io.INVALID>
> Gesendet: Donnerstag, 2. März 2023 17:33
> An: dev@kafka.apache.org
> Betreff: Re: Problems with Kafka Connector Base classes
>
> [You don't often get email from chr...@aiven.io.invalid. Learn why this
> is important at https://aka.ms/LearnAboutSenderIdentification ]
>
> Hi Michael,
>
> The purpose of the Connector::taskConfigs method is to specify
> (implicitly) the number of tasks that need to be run for the connector, and
> (explicitly) how each task should be configured. The former is provided
> implicitly by the size of the list returned from that method; for each
> element in that list, one task will be brought up for the connector,
> regardless of whether the map for that element is actually just empty.
>
> The reason your for-loop was necessary is that, although we do distinguish
> between an empty list of task configs and a non-empty list, we do not
> distinguish on a per-element basis between an empty task config (i.e., the
> Map<String, String> inside the task configs list) and a non-empty task
> config. So, by adding the for-loop, you signaled to the runtime that you
> wanted the number of tasks brought up for your connector to be `maxTasks`.
>
> We choose to allow connectors to return an empty list of task configs to
> facilitate the use case of Connector implementations that may decide not to
> generate any tasks, which could be useful if, for example, there are no
> tables that match a given allow/block list to be read from in the database
> at the moment. This is also why we do not fail connectors when they
> generate an empty set of task configs (or throw an exception in some API
> call that the connector may make of the runtime).
>
> I hope this helps clear things up for you.
>
> Cheers,
>
> Chris
>
> On Thu, Mar 2, 2023 at 11:14 AM Michael Vodep <
> michael.vo...@bearingpoint.com> wrote:
>
> > Hi
> >
> > I'm using:  org.apache.kafka:connect-api:3.4.0
> >
> > I have a simple connector:
> >
> > ======
> > public class SimpleSinkConnector extends SinkConnector {
> >
> >     @Override
> >     public List<Map<String, String>> taskConfigs(int maxTasks) {
> >         ArrayList<Map<String, String>> configs = new ArrayList<>();
> >
> >         for (int i = 0; i < maxTasks; i++) {
> >             configs.add(new HashMap<>());
> >         }
> >
> >         return configs;
> >     }
> > ======
> >
> > I don't have config params (POC). So, for testing purposes I just
> > returned the ArrayList. It took me now 2 hours to figure out why no
> > Task was created. At the end of the day: I added the for loop - then it
> worked.
> > Reproduced the behavior several times.
> >
> > Can anybody conform this strange behavior? I would expect an exception
> > if something is expected ...
> >
> > Thanks
> > Michael
> > ________________________________
> > BearingPoint GmbH
> > Sitz: Wien
> > Firmenbuchgericht: Handelsgericht Wien
> > Firmenbuchnummer: FN 175524z
> >
> > The information in this email is confidential and may be legally
> > privileged. If you are not the intended recipient of this message, any
> > review, disclosure, copying, distribution, retention, or any action
> > taken or omitted to be taken in reliance on it is prohibited and may be
> unlawful.
> > If you are not the intended recipient, please reply to or forward a
> > copy of this message to the sender and delete the message, any
> > attachments, and any copies thereof from your system.
> >
> ________________________________
>  BearingPoint GmbH
> Sitz: Wien
> Firmenbuchgericht: Handelsgericht Wien
> Firmenbuchnummer: FN 175524z
>
>
> The information in this email is confidential and may be legally
> privileged. If you are not the intended recipient of this message, any
> review, disclosure, copying, distribution, retention, or any action taken
> or omitted to be taken in reliance on it is prohibited and may be unlawful.
> If you are not the intended recipient, please reply to or forward a copy of
> this message to the sender and delete the message, any attachments, and any
> copies thereof from your system.
>

Reply via email to