Skip to content

KAFKA-13709: Add docs for exactly-once support in Connect#12941

Merged
C0urante merged 12 commits intoapache:trunkfrom
C0urante:kafka-13709
Dec 15, 2022
Merged

KAFKA-13709: Add docs for exactly-once support in Connect#12941
C0urante merged 12 commits intoapache:trunkfrom
C0urante:kafka-13709

Conversation

@C0urante
Copy link
Contributor

@C0urante C0urante commented Dec 1, 2022

Jira

Adds administrator- and developer-facing documentation on the features introduced in KIP-618.

Rebased on top of #12938 to fix recently-introduced compilation failures on trunk.

@C0urante
Copy link
Contributor Author

C0urante commented Dec 1, 2022

@joel-hamill would you be interested in taking a look at this?

@tikimims
Copy link

tikimims commented Dec 1, 2022

@joel-hamill would you be interested in taking a look at this?

Hi @C0urante :) I spoke with @joel-hamill. I can take a look if you like. 👍

@C0urante
Copy link
Contributor Author

C0urante commented Dec 1, 2022

That'd be great! Thanks @tikimims

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
<p>If a sink connector supports exactly-once delivery, all that is necessary to enable exactly-once delivery at the Connect worker level is ensuring that its consumer group is configured to ignore records in aborted transactions. This can be done by setting the worker property <code>consumer.isolation.level</code> to <code>read_committed</code> or, if running a version of Kafka Connect that supports it, using a <a href="#connectconfigs_connector.client.config.override.policy">connector client config override policy</a> that allows the <code>consumer.override.isolation.level</code> property to be set to <code>read_committed</code> in individual connector configs. There are no additional ACL requirements.</p>
<p>If a sink connector supports exactly-once delivery and to enable exactly-once delivery at the Connect worker level, you must ensure its consumer group is configured to ignore records in aborted transactions. You can do this by setting the worker property <code>consumer.isolation.level</code> to <code>read_committed</code> or, if running a version of Kafka Connect that supports it, using a <a href="#connectconfigs_connector.client.config.override.policy">connector client config override policy</a> that allows the <code>consumer.override.isolation.level</code> property to be set to <code>read_committed</code> in individual connector configs. There are no additional ACL requirements.</p>

Copy link
Contributor Author

@C0urante C0urante Dec 9, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This one I don't quite grasp--the change from

If a sink connector supports exactly-once delivery, all that is necessary to enable exactly-once delivery

to

If a sink connector supports exactly-once delivery and to enable exactly-once delivery

doesn't seem quite right. The rest of the suggestion makes sense.

@tikimims can you help me understand this part better? Was it an accident?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(I've pushed the suggested changes here except for the bit described above)

Comment on lines 239 to 240
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Recommend reordering this sentence to: "For more information on this feature, see the <a href..."

@tikimims
Copy link

tikimims commented Dec 8, 2022

Hi @C0urante I took a first pass and left some suggestions. :) Let me know if you'd like me to take another pass after any updates. 👍

C0urante and others added 10 commits December 9, 2022 12:11
Co-authored-by: tikimims <39631000+tikimims@users.noreply.github.com>
Co-authored-by: tikimims <39631000+tikimims@users.noreply.github.com>
Co-authored-by: tikimims <39631000+tikimims@users.noreply.github.com>
Co-authored-by: tikimims <39631000+tikimims@users.noreply.github.com>
Co-authored-by: tikimims <39631000+tikimims@users.noreply.github.com>
Co-authored-by: tikimims <39631000+tikimims@users.noreply.github.com>
Co-authored-by: tikimims <39631000+tikimims@users.noreply.github.com>
Co-authored-by: tikimims <39631000+tikimims@users.noreply.github.com>
@C0urante
Copy link
Contributor Author

C0urante commented Dec 9, 2022

Thanks @tikimims! I've accepted all but one of the suggestions and asked for clarification on the other. I didn't realize how common usage of "you" and "your" in the docs were; switching to that wording really helps tidy things up!

@C0urante
Copy link
Contributor Author

Hi @mimaison @tombentley would either of you have time to take a look at this?

Copy link
Member

@mimaison mimaison left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @C0urante, that's a great addition to the docs! I left a couple of small questions.

Copy link
Member

@mimaison mimaison left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@C0urante C0urante merged commit dd76872 into apache:trunk Dec 15, 2022
@C0urante C0urante deleted the kafka-13709 branch December 15, 2022 16:20
@C0urante
Copy link
Contributor Author

Thanks Mickael!

C0urante added a commit that referenced this pull request Jan 13, 2023
Reviewers: Mickael Maison <mickael.maison@gmail.com>
C0urante added a commit that referenced this pull request Jan 13, 2023
Reviewers: Mickael Maison <mickael.maison@gmail.com>
guozhangwang pushed a commit to guozhangwang/kafka that referenced this pull request Jan 25, 2023
Reviewers: Mickael Maison <mickael.maison@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants