merlimat opened a new pull request, #25619: URL: https://github.com/apache/pulsar/pull/25619
## Summary Two new V5 StreamConsumer multi-consumer dynamics tests, plus a small broker config to make them fast. ### Tests - **`testStreamConsumerReconnectWithinGraceKeepsAssignment`** — alice + bob share a 4-segment topic. Close alice's consumer and re-subscribe with the same `consumerName`. The controller re-attaches to the existing session by name (no rebalance, no churn on bob). Same key set across both batches confirms each consumer keeps its segments. - **`testStreamConsumerDisconnectPastGraceTriggersReassignment`** — same setup, but alice's underlying connection is severed (close her dedicated client) and she stays away past the grace period. Bob ends up serving every key in the second batch. Drain runs concurrently with the rebalance — no `Thread.sleep` between disconnect and produce. ### Wiring - `ServiceConfiguration.scalableTopicConsumerSessionGracePeriodSeconds` (default 60s, matching the previous hard-coded value). - `ScalableTopicController.createCoordinator` reads it and passes it to `SubscriptionCoordinator` instead of using the static default. - `SharedPulsarCluster` sets it to 2s so reassignment-after-disconnect can be exercised in seconds rather than a minute. ## Test plan - [x] `./gradlew :pulsar-broker:test --tests \"org.apache.pulsar.client.api.v5.V5MultipleConsumersTest\"` — all 5 tests pass; new tests run in ~2.2s and ~3.3s. ## Matching PR - [ ] No matching PR. ### area/test -- 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: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
