Skip to content

KAFKA-19276: Trigger rebalance for streams config update [WIP] #19967

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

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

Conversation

UladzislauBlok
Copy link
Contributor

Work in progress. Doc and test are on my list

Create listener for config updates. Now we could react on config updates in impls of GroupConfigListener (e.g. StreamsRebalanceConfigListener) and take concrete actions, e.g. set triggerRebalance flag to true and check it in client (GroupMetadataManager) to trigger rebalance.

I've tried to keep GroupConfigListener generic and I found three potential types of action implementations could do:

  1. Set flag (mark something) and wait until client check that and takes an action (current case)
  2. Listener takes an actions on it's own
  3. State of listener was not changed, it's like opposite action (or let's say lack of action) for case 1
    To create generic return type for all three cases I chose an enum as return type, so we can describe all the cases, e.g. of future state:
public enum ConfigUpdateEvent {
    // Client Actions Required
    REBALANCE_REQUIRED,

    // Actions were taken by listener
    ERROR_LOGGED... or something

    // Statuses where no further action is needed by client or observer
    UNCHANGED;
}

@github-actions github-actions bot added the triage PRs from the community label Jun 15, 2025
@UladzislauBlok UladzislauBlok changed the title KAFKA-19276: Trigger rebalance for streams config updat [WIP] KAFKA-19276: Trigger rebalance for streams config update [WIP] Jun 15, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
triage PRs from the community
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant