...
Current state: Under Discussion
Discussion thread: here
JIRA: here
Please keep the discussion on the mailing list rather than commenting on the wiki (wiki discussions get unwieldy fast).
Motivation
Aims to add a corresponding validator to a configuration where a validator is missing.
so that the program finds these incorrect configurations during initialization.
...
The implementation class of AbstractConfig involved in changes
The bold methods and classes mentioned in bold the table below all need to be newly created.
AdminClientConfig
config validator security.protocol in(SecurityProtocol.names().toArray(newString[0])) ConsumerConfig
config validator group.instance.id
newConfigDef.NonEmptyString() key.deserializer
newConfigDef.NonNullValidator() value.deserializer
newConfigDef.NonNullValidator() security.protocol in(SecurityProtocol.names().toArray(newString[0])) ProducerConfig
config validator key.serializer
newConfigDef.NonNullValidator() value.serializer
newConfigDef.NonNullValidator() security.protocol in(SecurityProtocol.names().toArray(newString[0])) compression.type in(CompressionType.names().toArray(newString[0])) SaslConfigs
config validator sasl.mechanism newConfigDef.NonNullAndEmptyString() MirrorClientConfig
config validator security.protocol in(SecurityProtocol.names().toArray(newString[0])) MirrorConnectorConfig
config validator security.protocol in(SecurityProtocol.names().toArray(newString[0])) MirrorMakerConfig
config validator security.protocol in(SecurityProtocol.names().toArray(newString[0])) WorkerConfig
config validator ssl.client.auth in(SslClientAuth.names().toArray(newString[0])) DistributedConfig
config validator security.protocol in(SecurityProtocol.names().toArray(newString[0])) KafkaConfig
config validator sasl.mechanism.controller.protocol newConfigDef.NonNullAndEmptyString() authorizer.class.name new ConfigDef.NonNullValidator() security.inter.broker.protocol in(SecurityProtocol.names().toArray(new Array[String](0)):_*) sasl.mechanism.inter.broker.protocol newConfigDef.NonNullAndEmptyString() sasl.enabled.mechanisms newBrokerSecurityConfigs.SaslEnabledMechanismsValidator() compression.type in(BrokerCompressionCodec.brokerCompressionOptions:_*) StreamsConfig
config validator security.protocol in(SecurityProtocol.names().toArray(newString[0]))
...