Hi Ashwin, Thanks for your thoughts. Regarding your questions:
1. The response would show the offsets that are visible to the source connector, so it would combine the contents of the two topics, giving priority to offsets present in the connector-specific topic. I'm imagining a follow-up question that some people may have in response to that is whether we'd want to provide insight into the contents of a single topic at a time. It may be useful to be able to see this information in order to debug connector issues or verify that it's safe to stop using a connector-specific offsets topic (either explicitly, or implicitly via cluster downgrade). What do you think about adding a URL query parameter that allows users to dictate which view of the connector's offsets they are given in the REST response, with options for the worker's global topic, the connector-specific topic, and the combined view of them that the connector and its tasks see (which would be the default)? This may be too much for V1 but it feels like it's at least worth exploring a bit. 2. There is no option for this at the moment. Reset semantics are extremely coarse-grained; for source connectors, we delete all source offsets, and for sink connectors, we delete the entire consumer group. I'm hoping this will be enough for V1 and that, if there's sufficient demand for it, we can introduce a richer API for resetting or even modifying connector offsets in a follow-up KIP. 3. Good eye :) I think it's fine to keep the existing behavior for the PAUSED state with the Connector instance, since the primary purpose of the Connector is to generate task configs and monitor the external system for changes. If there's no chance for tasks to be running anyways, I don't see much value in allowing paused connectors to generate new task configs, especially since each time that happens a rebalance is triggered and there's a non-zero cost to that. What do you think? Cheers, Chris On Fri, Oct 14, 2022 at 12:59 AM Ashwin <apan...@confluent.io.invalid> wrote: > Thanks for KIP Chris - I think this is a useful feature. > > Can you please elaborate on the following in the KIP - > > 1. How would the response of GET /connectors/{connector}/offsets look like > if the worker has both global and connector specific offsets topic ? > > 2. How can we pass the reset options like shift-by , to-date-time etc. > using a REST API like DELETE /connectors/{connector}/offsets ? > > 3. Today PAUSE operation on a connector invokes its stop method - will > there be a change here to reduce confusion with the new proposed STOPPED > state ? > > Thanks, > Ashwin > > On Fri, Oct 14, 2022 at 2:22 AM Chris Egerton <chr...@aiven.io.invalid> > wrote: > > > Hi all, > > > > I noticed a fairly large gap in the first version of this KIP that I > > published last Friday, which has to do with accommodating connectors > > that target different Kafka clusters than the one that the Kafka Connect > > cluster uses for its internal topics and source connectors with dedicated > > offsets topics. I've since updated the KIP to address this gap, which has > > substantially altered the design. Wanted to give a heads-up to anyone > > that's already started reviewing. > > > > Cheers, > > > > Chris > > > > On Fri, Oct 7, 2022 at 1:29 PM Chris Egerton <chr...@aiven.io> wrote: > > > > > Hi all, > > > > > > I'd like to begin discussion on a KIP to add offsets support to the > Kafka > > > Connect REST API: > > > > > > https://cwiki.apache.org/confluence/display/KAFKA/KIP-875%3A+First-class+offsets+support+in+Kafka+Connect > > > > > > Cheers, > > > > > > Chris > > > > > >