feat(inkless:config): enforce diskless feature flag dependency chain - #560
Conversation
There was a problem hiding this comment.
Pull request overview
Adds broker startup validation in KafkaConfig to enforce a dependency chain between diskless feature flags so misconfigured brokers fail fast instead of starting with an invalid combination of settings.
Changes:
- Add
KafkaConfig.validateValues()checks enforcingdiskless.storage.system.enable → diskless.managed.rf.enable → diskless.allow.from.classic.enableplusremote.log.storage.system.enable. - Extend
InklessConfigsTestcluster init helpers to set the newdiskless.managed.rf.enablebroker config. - Add new tests intended to cover invalid flag combinations.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
| core/src/main/scala/kafka/server/KafkaConfig.scala | Adds startup validation (require) enforcing the diskless feature-flag dependency chain. |
| core/src/test/java/kafka/server/InklessConfigsTest.java | Updates test cluster config wiring for managed replicas and adds dependency validation tests. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
281587c to
1b95f82
Compare
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
1b95f82 to
aac6cbc
Compare
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 2 out of 2 changed files in this pull request and generated no new comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Add startup validation that enforces the dependency chain between
diskless feature flags:
diskless.storage.system.enable
→ diskless.managed.rf.enable
→ diskless.allow.from.classic.enable (+ remote.log.storage.system.enable)
Brokers now fail fast with a clear error message if flags are enabled
without their prerequisites.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…560) Add startup validation that enforces the dependency chain between diskless feature flags: diskless.storage.system.enable → diskless.managed.rf.enable → diskless.allow.from.classic.enable (+ remote.log.storage.system.enable) Brokers now fail fast with a clear error message if flags are enabled without their prerequisites. Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
…560) Add startup validation that enforces the dependency chain between diskless feature flags: diskless.storage.system.enable → diskless.managed.rf.enable → diskless.allow.from.classic.enable (+ remote.log.storage.system.enable) Brokers now fail fast with a clear error message if flags are enabled without their prerequisites. Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Add startup validation that enforces the dependency chain between diskless feature flags:
Brokers now fail fast with a clear error message if flags are enabled without their prerequisites.
Rationale for requiring diskless.managed.rf.enable: