You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@kafka.apache.org by "lucasbru (via GitHub)" <gi...@apache.org> on 2026/10/09 08:30:09 UTC
[PR] MINOR: Add a randomized testbed for streams group assignment refiners [kafka]
lucasbru opened a new pull request, #23759:
URL: https://github.com/apache/kafka/pull/23759
The warm-up refiner is covered by example-based unit tests, which check the cases someone thought of. This adds a deterministic, seeded testbed that generates streams groups and runs them through the refiner, the real reconciler and a model of the clients' restoration, step by step until the group has converged on its target assignment. Scenarios disturb a settled group with processes and members joining, leaving and restarting, standby and warm-up configuration changes, coordinator failover, and new target assignments from the sticky assignor or a synthetic generator, including target assignments that name a member that has already left.
Every refiner call is checked against invariants that any refiner must keep, such as handing out exactly the target assignment's active tasks and never putting two copies of a task on one process, and against invariants specific to the warm-up refiner, such as never handing over a task cold that its current owner can still run. Each scenario also runs under the no-op refiner as a baseline, and the testbed measures cold hand-overs, how long tasks are not processing, convergence time, warm-up use and refiner call time.
In CI, a fixed seed runs 100 small scenarios per refiner and fails on any invariant violation, on a scenario that does not converge, on the warm-up refiner not improving on the baseline, and on any aggregate measurement rising above its pinned value. A main method runs any seed and scenario count in three size profiles, the largest with 1000 members and 10000 tasks, and replays a single scenario step by step.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: jira-unsubscribe@kafka.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org