[ https://issues.apache.org/jira/browse/KAFKA-19595?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Francis Godinho reassigned KAFKA-19595: --------------------------------------- Assignee: Francis Godinho > Add configuration validation option to Kafka server startup > ----------------------------------------------------------- > > Key: KAFKA-19595 > URL: https://issues.apache.org/jira/browse/KAFKA-19595 > Project: Kafka > Issue Type: New Feature > Components: core > Reporter: Mikhail Fesenko > Assignee: Francis Godinho > Priority: Minor > > *Problem Statement:* Currently, Kafka administrators have no way to validate > server configuration files without actually starting the Kafka broker. This > leads to: > * Wasted time during deployments when configuration errors are discovered > only at startup > * Potential service disruptions in production environments > * Difficulty in CI/CD pipelines to validate Kafka configurations before > deployment > * No quick way to test configuration changes without full broker startup > overhead > * *Critical cluster stability issues during rolling restarts* - > misconfigured brokers can cause: > ** Partition leadership imbalances > ** Replication factor violations > ** Network connectivity issues between brokers > ** Data consistency problems > ** Cascading failures across the cluster when multiple brokers restart with > incompatible configurations > *Proposed Solution:* Add a {*}--check-config{*}{{{}{}}} command-line option > to the Kafka server startup script that would: > > * Parse and validate the server configuration file > * Check for common configuration errors and inconsistencies > * Validate property values and ranges > * *Detect configuration incompatibilities that could affect cluster > operations* > * Support property overrides for testing different configurations > * Exit with appropriate status codes (0 for valid config, non-zero for > errors) > * Provide clear error messages for invalid configurations > *Usage Example:* > {code:java} > # Validate default server.properties > kafka-server-start.sh --check-config config/server.properties > # Validate with property overrides > kafka-server-start.sh --check-config config/server.properties --override > broker.id=1,log.dirs=/tmp/kafka-logs {code} > > *Expected Benefits:* > * Faster feedback loop for configuration changes > * Reduced deployment failures due to configuration issues > * Better integration with automated deployment pipelines > * Improved operational efficiency for Kafka administrators > * *Prevention of cluster-wide issues during rolling restarts and maintenance* > * *Early detection of configuration drift across cluster nodes* > * *Reduced risk of data loss or corruption from misconfigured brokers* > * Consistent validation logic with the actual server startup process > *Acceptance Criteria:* > * > --check-config{{}} command-line option to trigger config validation mode > * Comprehensive validation of server properties > * Clear error reporting with specific issues identified > * Support for property overrides during validation > * Exit codes that can be used in scripts and automation > * Documentation and usage examples > This feature would significantly improve the operational experience for Kafka > deployments and reduce configuration-related issues in production > environments, especially in multi-broker cluster scenarios where > configuration consistency is critical. -- This message was sent by Atlassian Jira (v8.20.10#820010)