[ https://issues.apache.org/jira/browse/KAFKA-3237?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15145710#comment-15145710 ]
Ismael Juma commented on KAFKA-3237: ------------------------------------ Why don't you use the overload of define that doesn't take a default value? That makes it required. > ConfigDef validators require a default value > -------------------------------------------- > > Key: KAFKA-3237 > URL: https://issues.apache.org/jira/browse/KAFKA-3237 > Project: Kafka > Issue Type: Bug > Components: config > Affects Versions: 0.9.0.0 > Reporter: Jeremy Custenborder > Priority: Minor > > I should be able to add a ConfigDef that has a validator but does has null as > the default value. This would allow me to have a required property that is > restricted to certain strings in this example. This exception should be > thrown upon call to ConfigDef.parse instead. > {code} > ConfigDef def = new ConfigDef(); > def.define(key, Type.STRING, null, ValidString.in("ONE", "TWO", "THREE"), > Importance.HIGH, "docs"); > {code} > {code} > Invalid value null for configuration test: String must be one of: ONE, TWO, > THREE > org.apache.kafka.common.config.ConfigException: Invalid value null for > configuration enum_test: String must be one of: ONE, TWO, THREE > at > org.apache.kafka.common.config.ConfigDef$ValidString.ensureValid(ConfigDef.java:349) > at > org.apache.kafka.common.config.ConfigDef$ConfigKey.<init>(ConfigDef.java:375) > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)