Skip to content

Kip1071 trunk rebase 11 25 add bruno pr#3

Closed
bbejeck wants to merge 2 commits into
kip1071_trunk_rebase_11_25from
kip1071_trunk_rebase_11_25_add_Bruno_PR
Closed

Kip1071 trunk rebase 11 25 add bruno pr#3
bbejeck wants to merge 2 commits into
kip1071_trunk_rebase_11_25from
kip1071_trunk_rebase_11_25_add_Bruno_PR

Conversation

@bbejeck

@bbejeck bbejeck commented Nov 27, 2024

Copy link
Copy Markdown
Owner

More detailed description of your change,
if necessary. The PR title and PR message become
the squashed commit message, so use a separate
comment to ping reviewers.

Summary of testing strategy (including rationale)
for the feature or bug fix. Unit and/or integration
tests are expected for any behaviour change and
system tests should be considered for larger changes.

Committer Checklist (excluded from commit message)

  • Verify design and implementation
  • Verify test coverage and CI build status
  • Verify documentation (including upgrade notes)

cadonna and others added 2 commits November 27, 2024 17:46
A stream thread needs to integrate with the Streams membership manager to receive an assignment. This happens through callbacks that are set in the streams assignment interface. The Streams membership manager calls three callbacks:
- onTasksRevoked that revokes tasks assigned to the stream thread
- onTaskAssigned that assigns tasks to the stream thread
- onAllTasksLost that releases all tasks of a stream thread and closes them dirty.

Initially, we thought we could avoid onTasksRevoked by just considering revoked tasks in onTaskAssigned. However, it turns out we cannot avoid onTasksRevoked because if we do that we would need to set the new assignment in the subscription state before or after the call to onTaskAssigned. If we set the new assignment in the subscription state before we call onTaskAssigned, commits of the revoked tasks will fail because the subscription state would not contain the partitions of the revoked tasks anymore. If we set the new assignment in the subscription state after we call onTaskAssigned, we cannot safely pause the partitions of the assigned task for restoration because we do not know when the new assignment is actually set in the subscription state since that happens on the background thread.
@bbejeck
bbejeck deleted the branch kip1071_trunk_rebase_11_25 December 2, 2024 17:57
@bbejeck bbejeck closed this Dec 2, 2024
@bbejeck
bbejeck deleted the kip1071_trunk_rebase_11_25_add_Bruno_PR branch December 2, 2024 17:58
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