Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

KAFKA-17298: Update upgrade notes for 4.0 KIP-848 #18756

Open
wants to merge 1 commit into
base: trunk
Choose a base branch
from

Conversation

lianetm
Copy link
Member

@lianetm lianetm commented Jan 30, 2025

Broker and Consumer notable changes

@lianetm lianetm requested a review from dajac January 30, 2025 18:48
@github-actions github-actions bot added docs small Small PRs labels Jan 30, 2025
Copy link
Member

@dajac dajac left a comment

Choose a reason for hiding this comment

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

@lianetm Thanks for the patch. It looks pretty good. I left a few suggestions for consideration.

@@ -89,6 +89,27 @@ <h5><a id="upgrade_400_notable" href="#upgrade_400_notable">Notable changes in 4
</li>
<li><b>Broker</b>
<ul>
<li>The new Consumer Group Rebalance Protocol is now a production ready feature, enabled by default on the broker.
Copy link
Member

Choose a reason for hiding this comment

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

nit: Should we add (KIP-848) after Consumer Group Rebalance Protocol and link the KIP?

@@ -89,6 +89,27 @@ <h5><a id="upgrade_400_notable" href="#upgrade_400_notable">Notable changes in 4
</li>
<li><b>Broker</b>
<ul>
<li>The new Consumer Group Rebalance Protocol is now a production ready feature, enabled by default on the broker.
The supported group protocols are defined with the config <code>group.coordinator.rebalance.protocols=classic,consumer</code>,
Copy link
Member

Choose a reason for hiding this comment

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

We may want to explain the group.version feature flag. It will be automatically set when the upgrade to 4.0 is finalized with the kafka-features command. Until this is done, the new protocol is not enabled.

with both protocols supported. Client applications should select the protocol to use (see Consumer section below).
<ul>
<li>
The supported partition assignment strategies are defined on the broker now, via the config <code>group.consumer.assignors</code>.
Copy link
Member

Choose a reason for hiding this comment

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

Should we mention the two assignors configured by default?

The supported partition assignment strategies are defined on the broker now, via the config <code>group.consumer.assignors</code>.
It defaults to <code>org.apache.kafka.coordinator.group.assignor.UniformAssignor</code>, so this will be the assignor used unless the consumer selects a different one (Consumer section below).
See <a href="https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=217387038#KIP848:TheNextGenerationoftheConsumerRebalanceProtocol-AssignorSelection">Assignor selection</a> for more details.
</li>
Copy link
Member

Choose a reason for hiding this comment

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

I wonder if we should put a bullet point about the new server side configs (session, heartbeat interval). What do you think?

Comment on lines +106 to +111
<li>
A new config <code>group.coordinator.threads</code> is added to control the number of threads used by the new group coordinator.
It defaults to 1, and it should be adjusted as needed.
See <a href="https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=217387038#KIP848:TheNextGenerationoftheConsumerRebalanceProtocol-GroupCoordinator">New Group Coordinator</a> for more details.
</li>
</ul>
Copy link
Member

Choose a reason for hiding this comment

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

I wonder wether we should bring this as its own bullet point before the one about the new rebalance protocol because this is important regardless of the new protocol. What do you think? We could perhaps explain that 4.0 ships with a new group coordinator, etc.

See <a href="https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=217387038#KIP848:TheNextGenerationoftheConsumerRebalanceProtocol-GroupCoordinator">New Group Coordinator</a> for more details.
</li>
</ul>
</li>
Copy link
Member

Choose a reason for hiding this comment

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

I wonder if we should put a few words about the downgrade path after the new protocol is enabled and used. What do you think?

<li>
New metrics have been added to the Consumer when using the new rebalance protocol, mainly providing visibility over the improved threading model. See <a href="https://cwiki.apache.org/confluence/display/KAFKA/KIP-1068%3A+New+metrics+for+the+new+KafkaConsumer">New Consumer Metrics</a>
</li>
</ul>
Copy link
Member

Choose a reason for hiding this comment

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

  • Should we mention the upgrade path too?
  • Should we mention the limitations (e.g. client side assignors are not supported)?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
docs small Small PRs
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants