Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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.

  1. AdminClientConfig

    configvalidator
    security.protocolin(SecurityProtocol.names().toArray(newString[0]))



  2. ConsumerConfig

    configvalidator
    group.instance.id 
    newConfigDef.NonEmptyString()
    key.deserializer
    newConfigDef.NonNullValidator()
    value.deserializer
    newConfigDef.NonNullValidator()
    security.protocolin(SecurityProtocol.names().toArray(newString[0]))



  3. ProducerConfig

    configvalidator
    key.serializer
    newConfigDef.NonNullValidator()
    value.serializer
    newConfigDef.NonNullValidator()
    security.protocolin(SecurityProtocol.names().toArray(newString[0]))
    compression.typein(CompressionType.names().toArray(newString[0]))



  4. SaslConfigs

    configvalidator
    sasl.mechanismnewConfigDef.NonNullAndEmptyString()



  5. MirrorClientConfig

    configvalidator
    security.protocolin(SecurityProtocol.names().toArray(newString[0]))



  6. MirrorConnectorConfig

    configvalidator
    security.protocolin(SecurityProtocol.names().toArray(newString[0]))



  7. MirrorMakerConfig

    configvalidator
    security.protocolin(SecurityProtocol.names().toArray(newString[0]))



  8. WorkerConfig

    configvalidator
    ssl.client.authin(SslClientAuth.names().toArray(newString[0]))



  9. DistributedConfig

    configvalidator
    security.protocolin(SecurityProtocol.names().toArray(newString[0]))



  10. KafkaConfig

    configvalidator
    sasl.mechanism.controller.protocolnewConfigDef.NonNullAndEmptyString()
    authorizer.class.namenew ConfigDef.NonNullValidator()
    security.inter.broker.protocolin(SecurityProtocol.names().toArray(new Array[String](0)):_*)
    sasl.mechanism.inter.broker.protocol newConfigDef.NonNullAndEmptyString()
    sasl.enabled.mechanismsnewBrokerSecurityConfigs.SaslEnabledMechanismsValidator()
    compression.typein(BrokerCompressionCodec.brokerCompressionOptions:_*)



  11. StreamsConfig

    configvalidator
    security.protocolin(SecurityProtocol.names().toArray(newString[0]))


...