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

   Kafka 4.4 bumps `StreamsGroupHeartbeat` and `StreamsGroupDescribe` from v0 
to v1 (KIP-1331, KIP-1357, KAFKA-20744). The new fields only flow when both 
sides are 4.4+, so this adds ducktape coverage for mixed-version deployments in 
both directions, using 4.2.1/4.3.1 as the older side (4.2 is the earliest 
release with streams group support). The tests drive the `StreamsUpgradeTest` 
harness with `group.protocol=streams`.
   
   New `streams_protocol_cross_version_test.py` (7 tests, 15 matrix cases):
   - new client / old broker: reaches RUNNING, logs `acceptableRecoveryLag=not 
provided (older broker)` exactly when the response was v0, no 
`UnsupportedVersionException`
   - old client / new broker: reaches RUNNING, the ignorable v1 lag field is 
dropped cleanly at v0
   - `MISSING_CLIENT_TAGS` is only sent to v1 clients, and not sent when the 
required tag is configured
   - `kafka-streams-groups.sh --describe` works cross-version in both 
directions; `--describe --topology` against an old broker fails diagnosably 
rather than hanging (graceful degradation is a possible follow-up; the 
assertion is deliberately loose so it survives one)
   - a plugin-configured new broker reports no stored topology description for 
an old client
   
   Extended `streams_topology_description_plugin_test.py` (+1 test): a new 
client is never solicited for a topology push by an old broker, since 
`TopologyDescriptionRequired` only exists in response v1. `setup_kafka` gained 
an optional `broker_version` parameter; existing tests unchanged.
   
   The warm-up scenario from the ticket (old clients must never get warm-up 
tasks) is intentionally left out: `AssignmentRefiner` is still a stub, so the 
test would pass vacuously until KAFKA-20665 lands.
   
   ### Testing
   
   Asserted log lines and CLI output verified against the shipped 
4.2.1/4.3.1/trunk sources. Ducktape run results to be posted on this PR.
   


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