Skip to content

KAFKA-8416: Clarify two-step requirement for enabling Streams topology optimizations#21556

Merged
mjsax merged 3 commits intoapache:trunkfrom
emmaeng700:KAFKA-8416
Feb 27, 2026
Merged

KAFKA-8416: Clarify two-step requirement for enabling Streams topology optimizations#21556
mjsax merged 3 commits intoapache:trunkfrom
emmaeng700:KAFKA-8416

Conversation

@emmaeng700
Copy link
Contributor

@emmaeng700 emmaeng700 commented Feb 23, 2026

The existing docs mentioned both steps in a single dense sentence,
making it easy to miss that Properties must also be passed to
StreamsBuilder.build().

Added a numbered list and code example clearly showing both steps, with
an explicit warning that calling build() without Properties silently
skips optimizations even when the config is set.

Reviewers: Matthias J. Sax matthias@confluent.io

…y optimizations

The existing documentation mentioned both steps in a single dense sentence,
making it easy to miss the requirement to pass Properties to StreamsBuilder.build().

Added a numbered list and code example to clearly show both steps are required,
with an explicit warning that calling build() without Properties will silently
skip optimizations even when the config is set.
@github-actions github-actions bot added triage PRs from the community docs small Small PRs labels Feb 23, 2026
@mjsax
Copy link
Member

mjsax commented Feb 25, 2026

Thanks for the PR @emmaeng700 -- what's your Jira account so we can assign the ticket to you?

Btw: It's recommended to first assign Jira tickets, so make sure no duplicate work is done.

@mjsax mjsax added ci-approved and removed triage PRs from the community labels Feb 25, 2026
@mjsax
Copy link
Member

mjsax commented Feb 25, 2026

This PR is great improvement, but not sure if it already fully address the ticket? -- Did you check other parts of the docs, to see if there is any other place we should update? The Jira ticket also mentions to maybe also update JavaDocs?

@emmaeng700
Copy link
Contributor Author

My Jira account is emmaeng700.

Good catch on the JavaDocs — I looked at StreamsBuilder.java and both build() and build(Properties) were missing the same clarity. I've updated them in this PR: build() now points users to build(Properties) and explains that optimizations won't apply without it, and build(Properties) now has the
full two-step requirement spelled out with the numbered list.

@emmaeng700
Copy link
Contributor Author

Thanks @mjsax! I did a full pass over the docs and found one more gap: had no mention of the two-step requirement in its Javadoc or the config description string. Updated both in the latest commit.

Full list of places now covered:

  • — expanded with numbered steps + code example
  • Javadoc — cross-links to and explains why
  • Javadoc — explains both required steps
  • Javadoc — warns config alone is not enough
  • config description string — same note

Let me know if there are other areas to cover.

@mjsax mjsax merged commit 4e76cc1 into apache:trunk Feb 27, 2026
22 checks passed
@mjsax
Copy link
Member

mjsax commented Feb 27, 2026

Thanks for the fix! Merged to trunk.

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.

2 participants