Mikhail Fesenko created KAFKA-19595:
---------------------------------------
Summary: 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
*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)