Hey folks, This KIP has start since a while but has never been merged. https://cwiki.apache.org/confluence/display/KAFKA/KIP-131+-+Add+access+to+OffsetStorageReader+from+SourceConnector Would it be possible to restart the vote ? I still think this KIP could be useful to implement connectors (the PR has been rebased)
Thanks, Le ven. 22 sept. 2017 à 09:36, Florian Hussonnois <fhussonn...@gmail.com> a écrit : > Hi team, > > Are there any more votes ? Thanks > > Le 12 sept. 2017 20:18, "Gwen Shapira" <g...@confluent.io> a écrit : > >> Thanks for clarifying. >> >> +1 again :) >> >> >> >> On Sat, Sep 9, 2017 at 6:57 AM Randall Hauch <rha...@gmail.com> wrote: >> >> > Gwen, >> > >> > I've had more time to look into the code. First, the OffsetStorageReader >> > JavaDoc says: "OffsetStorageReader provides access to the offset storage >> > used by sources. This can be used by connectors to determine offsets to >> > start consuming data from. This is most commonly used during >> initialization >> > of a task, but can also be used during runtime, e.g. when reconfiguring >> a >> > task." >> > >> > Second, this KIP allows the SourceConnector implementations to access >> the >> > OffsetStorageReader, but really the SourceConnector methods are *only* >> > related to lifecycle changes when using the OffsetStorageReader would be >> > appropriate per the comment above. >> > >> > In summary, I don't think there is any concern about the >> > OffsetStorageReader being used inappropriate by the SourceConnector >> > implementations. >> > >> > Randall >> > >> > On Fri, Sep 8, 2017 at 9:46 AM, Gwen Shapira <g...@confluent.io> wrote: >> > >> > > Basically, you are saying that the part where the comment says: >> "Offset >> > > data should only be read during startup or reconfiguration of a task." >> > > is incorrect? because the API extension allows reading offset data at >> any >> > > point in the lifecycle, right? >> > > >> > > On Fri, Sep 8, 2017 at 5:18 AM Florian Hussonnois < >> fhussonn...@gmail.com >> > > >> > > wrote: >> > > >> > > > Hi Shapira, >> > > > >> > > > We only expose the OffsetStorageReader to connector which relies on >> > > > KafkaOffsetBackingStore. The store continuesly consumes offsets from >> > > kafka >> > > > so I think we can't have stale data. >> > > > >> > > > >> > > > Le 8 sept. 2017 06:13, "Randall Hauch" <rha...@gmail.com> a écrit : >> > > > >> > > > > The KIP and PR expose the OffsetStorageReader, which is already >> > exposed >> > > > to >> > > > > the tasks. The OffsetStorageWriter is part of the implementation, >> but >> > > was >> > > > > not and is not exposed thru the API. >> > > > > >> > > > > > On Sep 7, 2017, at 9:04 PM, Gwen Shapira <g...@confluent.io> >> > wrote: >> > > > > > >> > > > > > I just re-read the code for the OffsetStorageWriter, and ran >> into >> > > this >> > > > > > comment: >> > > > > > >> > > > > > * Note that this only provides write functionality. This is >> > > > > > intentional to ensure stale data is >> > > > > > * never read. Offset data should only be read during startup or >> > > > > > reconfiguration of a task. By >> > > > > > * always serving those requests by reading the values from the >> > > backing >> > > > > > store, we ensure we never >> > > > > > * accidentally use stale data. (One example of how this can >> occur: >> > a >> > > > > > task is processing input >> > > > > > * partition A, writing offsets; reconfiguration causes >> partition A >> > to >> > > > > > be reassigned elsewhere; >> > > > > > * reconfiguration causes partition A to be reassigned to this >> node, >> > > > > > but now the offset data is out >> > > > > > * of date). Since these offsets are created and managed by the >> > > > > > connector itself, there's no way >> > > > > > * for the offset management layer to know which keys are >> "owned" by >> > > > > > which tasks at any given >> > > > > > * time. >> > > > > > >> > > > > > >> > > > > > I can't figure out how the KIP avoids the stale-reads problem >> > > explained >> > > > > here. >> > > > > > >> > > > > > Can you talk me through it? I'm cancelling my vote since right >> now >> > > > > > exposing this interface sounds risky and misleading. >> > > > > > >> > > > > > >> > > > > > Gwen >> > > > > > >> > > > > > >> > > > > >> On Thu, Sep 7, 2017 at 5:04 PM Gwen Shapira <g...@confluent.io >> > >> > > > wrote: >> > > > > >> >> > > > > >> +1 (binding) >> > > > > >> >> > > > > >> Looking forward to see how connector implementations use this >> in >> > > > > practice >> > > > > >> :) >> > > > > >> >> > > > > >>> On Thu, Sep 7, 2017 at 3:49 PM Randall Hauch < >> rha...@gmail.com> >> > > > wrote: >> > > > > >>> >> > > > > >>> I'd like to open the vote for KIP-131: >> > > > > >>> >> > > > > >>> https://cwiki.apache.org/confluence/display/KAFKA/KIP-131+-+ >> > > > > Add+access+to+OffsetStorageReader+from+SourceConnector >> > > > > >>> >> > > > > >>> Thanks to Florian for submitting the KIP and the >> implementation, >> > > and >> > > > to >> > > > > >>> everyone else that helped review. >> > > > > >>> >> > > > > >>> Best regards, >> > > > > >>> >> > > > > >>> Randall >> > > > > >>> >> > > > > >> >> > > > > >> > > > >> > > >> > >> > -- Florian HUSSONNOIS