Skip to content

feat(inkless:test): implement system test for classic to diskless migration#581

Draft
giuseppelillo wants to merge 13 commits into
mainfrom
giuseppelillo/diskless-migration-system-test
Draft

feat(inkless:test): implement system test for classic to diskless migration#581
giuseppelillo wants to merge 13 commits into
mainfrom
giuseppelillo/diskless-migration-system-test

Conversation

@giuseppelillo
Copy link
Copy Markdown
Contributor

No description provided.

Comment on lines +298 to +303

- name: software.amazon.awssdk
level: WARN

- name: io.netty
level: WARN
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Avoid overfilling logs with S3 debug logs

Comment on lines +103 to +111
def supports_command_config(self):
return self >= V_4_2_0

def supports_formatter_property(self):
return self >= V_4_2_0

def supports_command_property(self):
return self >= V_4_2_0

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@giuseppelillo giuseppelillo force-pushed the giuseppelillo/diskless-migration-system-test branch 3 times, most recently from 9027a20 to 5de7cf2 Compare May 6, 2026 08:38
Comment thread tests/kafkatest/tests/inkless/inkless_topic_migration_test.py
@giuseppelillo giuseppelillo force-pushed the giuseppelillo/diskless-migration-system-test branch from 5de7cf2 to ee8517b Compare May 8, 2026 12:57
@giuseppelillo giuseppelillo force-pushed the giuseppelillo/diskless-migration-system-test branch from 8ec2d9d to 716e962 Compare May 22, 2026 14:03
Comment thread build.gradle
Comment on lines +2468 to +2471

systemTestLibs {
dependsOn testJar
}
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Necessary to pack jars for tiered storage tests

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new Inkless system test suite to exercise classic-to-diskless (and classic+tiered-to-diskless) topic migration paths under normal operation and injected faults, plus supporting test harness/build tweaks needed to run these scenarios in ducktape.

Changes:

  • Introduce InklessTopicMigrationTest with migration validation scenarios (post-migration availability, mid-migration fault tolerance via Trogdor, and operational/concurrent cases).
  • Extend KafkaService with helper methods to alter/describe topic configs via kafka-configs.sh.
  • Update test infra: add Kafka 4.2 version flags, quiet noisy AWS/Netty logs in system tests, and ensure :storage test JAR is built as part of systemTestLibs.

Reviewed changes

Copilot reviewed 5 out of 6 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
tests/kafkatest/version.py Add Kafka 4.2 version constants and feature-flag helpers used by CLI wrappers.
tests/kafkatest/tests/inkless/inkless_topic_migration_test.py New end-to-end system tests for classic→diskless migration (including tiered storage and fault injection).
tests/kafkatest/services/kafka/templates/log4j2.yaml Reduce AWS SDK and Netty log noise in Log4j2-based broker/test logs.
tests/kafkatest/services/kafka/templates/log4j.properties Reduce AWS SDK and Netty log noise in Log4j1-based broker/test logs.
tests/kafkatest/services/kafka/kafka.py Add alter_topic_config and describe_topic_config helpers used by the migration tests.
build.gradle Make :storage:systemTestLibs depend on testJar so the storage test JAR is produced for system tests.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread tests/kafkatest/tests/inkless/inkless_topic_migration_test.py Outdated
Comment thread tests/kafkatest/tests/inkless/inkless_topic_migration_test.py Outdated
@giuseppelillo giuseppelillo force-pushed the giuseppelillo/diskless-migration-system-test branch from 716e962 to c8d42ce Compare May 27, 2026 15:00
@giuseppelillo giuseppelillo requested review from Copilot and removed request for EelisK May 27, 2026 15:00
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 5 out of 6 changed files in this pull request and generated 1 comment.

Comment thread tests/kafkatest/tests/inkless/inkless_topic_migration_test.py Outdated
LocalTieredStorage lives in storage/src/test/java and is needed on the
broker classpath by InklessTopicMigrationTest's tiered-to-diskless
migration test. Wire `testJar` into `:storage`'s `systemTestLibs` so
`./gradlew systemTestLibs` produces kafka-storage-*-test.jar.
@giuseppelillo giuseppelillo force-pushed the giuseppelillo/diskless-migration-system-test branch from 8676d3b to 28f4bd2 Compare May 27, 2026 15:15
@giuseppelillo giuseppelillo requested a review from Copilot May 27, 2026 15:15
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 5 out of 6 changed files in this pull request and generated no new comments.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants