chickenchickenlove opened a new pull request, #22561:
URL: https://github.com/apache/kafka/pull/22561

   ### Summary
   
   This PR is based on the `KAFKA-20169-CLIENT-CORE` branch. 
(https://github.com/apache/kafka/pull/22559)
   It adds a new ducktape system test to verify that Static Membership works 
correctly with the Streams rebalance protocol.
   
   The new test covers the following behavior:
   - A bounced static Streams member reuses its persisted `processId` after 
restart.
   - Surviving static members are not forced into reconciliation when another 
static member temporarily bounces and rejoins.
   - The test runs with the Streams group protocol and repeatedly bounces each 
static member to validate stable behavior across restarts.
   
   ### Changes
   - Added `StaticMemberPersistentProcessIdTestClient`, a Streams test client 
with a persistent state store so the Streams `processId` is written to disk and 
reused after restart.
   - Added a corresponding `StaticMemberPersistentProcessIdTestService` for 
ducktape.
   - Added a new ducktape test:     
`StreamsStaticMembershipStreamsProtocolTest.test_temporary_static_rejoin_does_not_trigger_survivor_reconciliation`
   
   ### Test Results
   ```
   [INFO:2026-06-12 20:00:12,560]: Discovered 1 tests to run
   [INFO:2026-06-12 20:00:12,561]: starting test run with session id 
2026-06-12--005...
   [INFO:2026-06-12 20:00:12,561]: running 1 tests...
   [INFO:2026-06-12 20:00:12,561]: Triggering test 1 of 1...
   [INFO:2026-06-12 20:00:12,566]: RunnerClient: Loading test {'directory': 
'/opt/kafka-dev/tests/kafkatest/tests/streams', 'file_name': 
'streams_static_membership_streams_protocol_test.py', 'cls_name': 
'StreamsStaticMembershipStreamsProtocolTest', 'method_name': 
'test_temporary_static_rejoin_does_not_trigger_survivor_reconciliation', 
'injected_args': {'metadata_quorum': 'ISOLATED_KRAFT'}}
   [INFO:2026-06-12 20:00:12,568]: RunnerClient: 
kafkatest.tests.streams.streams_static_membership_streams_protocol_test.StreamsStaticMembershipStreamsProtocolTest.test_temporary_static_rejoin_does_not_trigger_survivor_reconciliation.metadata_quorum=ISOLATED_KRAFT:
 on run 1/1
   [INFO:2026-06-12 20:00:12,569]: RunnerClient: 
kafkatest.tests.streams.streams_static_membership_streams_protocol_test.StreamsStaticMembershipStreamsProtocolTest.test_temporary_static_rejoin_does_not_trigger_survivor_reconciliation.metadata_quorum=ISOLATED_KRAFT:
 Setting up...
   [INFO:2026-06-12 20:00:12,569]: RunnerClient: 
kafkatest.tests.streams.streams_static_membership_streams_protocol_test.StreamsStaticMembershipStreamsProtocolTest.test_temporary_static_rejoin_does_not_trigger_survivor_reconciliation.metadata_quorum=ISOLATED_KRAFT:
 Running...
   [INFO:2026-06-12 20:01:42,279]: RunnerClient: 
kafkatest.tests.streams.streams_static_membership_streams_protocol_test.StreamsStaticMembershipStreamsProtocolTest.test_temporary_static_rejoin_does_not_trigger_survivor_reconciliation.metadata_quorum=ISOLATED_KRAFT:
 Tearing down...
   [INFO:2026-06-12 20:02:04,736]: RunnerClient: 
kafkatest.tests.streams.streams_static_membership_streams_protocol_test.StreamsStaticMembershipStreamsProtocolTest.test_temporary_static_rejoin_does_not_trigger_survivor_reconciliation.metadata_quorum=ISOLATED_KRAFT:
 PASS
   [INFO:2026-06-12 20:02:04,738]: RunnerClient: 
kafkatest.tests.streams.streams_static_membership_streams_protocol_test.StreamsStaticMembershipStreamsProtocolTest.test_temporary_static_rejoin_does_not_trigger_survivor_reconciliation.metadata_quorum=ISOLATED_KRAFT:
 Data: None
   
================================================================================
   SESSION REPORT (ALL TESTS)
   ducktape version: 0.14.0
   session_id:       2026-06-12--005
   run time:         1 minute 52.289 seconds
   tests run:        1
   passed:           1
   flaky:            0
   failed:           0
   ignored:          0
   
================================================================================
   test_id:    
kafkatest.tests.streams.streams_static_membership_streams_protocol_test.StreamsStaticMembershipStreamsProtocolTest.test_temporary_static_rejoin_does_not_trigger_survivor_reconciliation.metadata_quorum=ISOLATED_KRAFT
   status:     PASS
   run time:   1 minute 52.168 seconds
   ```


-- 
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]

Reply via email to