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

   ### Summary
   Extends the share-group DLQ system test suite (`ShareConsumerDLQTest`, added 
in the prior PR covering single-partition scenarios) to cover two more 
topologies from the KAFKA-20772 test plan:
   - Multi-partition (single topic, 3 partitions): 
`test_multi_partition_dlq_reject` (parametrized over `num_dlq_partitions=[3, 
1]` to cover both 1:1 and modulus-collapsing DLQ routing), 
`test_multi_partition_dlq_release`, `test_multi_partition_dlq_mixed`.
   - Multi-topic (two source topics sharing one share group and one DLQ topic): 
`test_multi_topic_dlq_reject`, `test_multi_topic_dlq_release`. A single 
`VerifiableShareConsumer` member subscribes to both topics at once via a 
comma-separated `--topic` list (new capability added here). DLQ records are 
asserted to carry the correct `__dlq.errors.topic` header and route to 
`source_partition % num_dlq_partitions` per topic.
   
   ### Changes
   - `VerifiableShareConsumer.java`: `--topic` now accepts a comma-separated 
list, letting one process subscribe to multiple topics.
   - `VerifiableConsumer.java`: exposes record headers (`RecordData.headers()`) 
so the DLQ-reading verifier consumer can assert on `__dlq.errors.*` headers.
   - `share_consumer_dlq_test.py`: 5 new test methods as above, plus shared 
helpers for grouping DLQ records by source topic and computing expected 
mixed-ack-pattern outcomes.
   
   ### Results
   | Test | Params | Status | Time |
   |---|---|---|---|
   | test_single_partition_dlq_reject | COMBINED_KRAFT | PASS | 46.3s |
   | test_single_partition_dlq_reject | ISOLATED_KRAFT | PASS | 1m 5.4s |
   | test_single_partition_dlq_release | COMBINED_KRAFT | PASS | 48.0s |
   | test_single_partition_dlq_release | ISOLATED_KRAFT | PASS | 1m 8.3s |
   | test_single_partition_dlq_mixed | COMBINED_KRAFT | PASS | 48.3s |
   | test_single_partition_dlq_mixed | ISOLATED_KRAFT | PASS | 1m 9.4s |
   | test_multi_partition_dlq_release | COMBINED_KRAFT | PASS | 48.4s |
   | test_multi_partition_dlq_release | ISOLATED_KRAFT | PASS | 1m 6.5s |
   | test_multi_partition_dlq_reject | COMBINED_KRAFT, num_dlq_partitions=1 | 
PASS | 44.8s |
   | test_multi_partition_dlq_reject | COMBINED_KRAFT, num_dlq_partitions=3 | 
PASS | 45.4s |
   | test_multi_partition_dlq_reject | ISOLATED_KRAFT, num_dlq_partitions=1 | 
PASS | 1m 6.4s |
   | test_multi_partition_dlq_reject | ISOLATED_KRAFT, num_dlq_partitions=3 | 
PASS | 1m 5.6s |
   | test_multi_partition_dlq_mixed | COMBINED_KRAFT | PASS | 51.2s |
   | test_multi_partition_dlq_mixed | ISOLATED_KRAFT | PASS | 1m 9.6s |
   | test_multi_topic_dlq_reject | COMBINED_KRAFT | PASS | 48.8s |
   | test_multi_topic_dlq_reject | ISOLATED_KRAFT | PASS | 1m 5.6s |
   | test_multi_topic_dlq_release | COMBINED_KRAFT | PASS | 48.9s |
   | test_multi_topic_dlq_release | ISOLATED_KRAFT | PASS | 1m 8.3s |


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