KAFKA-20850: Test suppress changelog upgrade and downgrade - #23065
Conversation
Generated-by: OpenAI Codex (GPT-5) Signed-off-by: Yunseop Eom <62834176+lh0156@users.noreply.github.com>
|
A label of 'needs-attention' was automatically added to this PR in order to raise the |
|
Thanks for picking this up — I'm closing this in favour of #23075. The substantive issue: 4.3 has the dsl.store.format config but not the headers-aware suppress buffer, so both sides tag records V3 while writing different layouts — meaning a downgrade mismatch is silently misread, not rejected, and "rejoins, processes, closes cleanly" won't catch it. That plus the Ducktape test never having been run is why I'm taking it from here; #23075 adds an explicit restore-rejection check and is green on both directions. |
What
Add system-test coverage for the headers-aware
suppress()changelog across the 4.3/4.4 boundary.dsl.store.format=HEADERSfor the new coverage.LATEST_4_3 -> DEV_VERSIONandDEV_VERSION -> LATEST_4_3full restarts.The test keeps the existing suppress() topology and continuously generates the smoke workload while all three processors are restarted. Each processor must rejoin, process records after the restart, and close cleanly; a changelog restore failure surfaces as a startup, processing, or shutdown failure. This test intentionally does not claim a separate final output-topic comparison because the driver runs in
disableAutoTerminatemode during the transition.Testing
python3 -m py_compile tests/kafkatest/services/streams.py tests/kafkatest/tests/streams/streams_application_upgrade_test.py.dsl.store.format=HEADERS../gradlew :streams:test --tests org.apache.kafka.streams.DslStoreFormatTest :streams:compileTestFixturesJava :streams:spotlessCheckpassed.git diff --checkpassed.The Ducktape system test itself was not executed locally because this environment has no Kafka system-test cluster. No API, protocol, or KIP changes.
Reviewers: Alieh Saeedi asaeedi@confluent.io