You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@kafka.apache.org by "Jeremy Custenborder (Jira)" <ji...@apache.org> on 2021/02/05 20:57:02 UTC

[jira] [Created] (KAFKA-12301) Support for enum validation in configuration

Jeremy Custenborder created KAFKA-12301:
-------------------------------------------

             Summary: Support for enum validation in configuration  
                 Key: KAFKA-12301
                 URL: https://issues.apache.org/jira/browse/KAFKA-12301
             Project: Kafka
          Issue Type: Improvement
          Components: config
            Reporter: Jeremy Custenborder
            Assignee: Jeremy Custenborder


Several configuration elements are mapped to internal enums. A typo in configuration will yield error messages that are not descriptive and require the user to find valid values. 

For example:
{code:java}
Exception in thread "main" org.apache.kafka.common.KafkaException: Failed to create new KafkaAdminClient
        at org.apache.kafka.clients.admin.KafkaAdminClient.createInternal(KafkaAdminClient.java:479)
        at org.apache.kafka.clients.admin.Admin.create(Admin.java:61)
        at org.apache.kafka.clients.admin.AdminClient.create(AdminClient.java:39)
        ...
Caused by: java.lang.IllegalArgumentException: No enum constant org.apache.kafka.common.security.auth.SecurityProtocol.SASL_PLAINTEXTA
        at java.lang.Enum.valueOf(Enum.java:238)
        at org.apache.kafka.common.security.auth.SecurityProtocol.valueOf(SecurityProtocol.java:26)
        at org.apache.kafka.common.security.auth.SecurityProtocol.forName(SecurityProtocol.java:72)
        at org.apache.kafka.clients.ClientUtils.createChannelBuilder(ClientUtils.java:103)
        at org.apache.kafka.clients.admin.KafkaAdminClient.createInternal(KafkaAdminClient.java:454)
        ... 7 more {code}
This is easier to troubleshoot.
{code:java}
Exception in thread "main" org.apache.kafka.common.KafkaException: Failed to create new KafkaAdminClient
        at org.apache.kafka.clients.admin.KafkaAdminClient.createInternal(KafkaAdminClient.java:479)
        at org.apache.kafka.clients.admin.Admin.create(Admin.java:61)
        at org.apache.kafka.clients.admin.AdminClient.create(AdminClient.java:39)
        ...
Caused by: org.apache.kafka.common.config.ConfigException: Invalid value SASL_PLAINTEXTA for security.protocol. Enum value not found. Valid values are: PLAINTEXT, SASL_PLAINTEXT, SASL_SSL, SSL
        at java.lang.Enum.valueOf(Enum.java:238)
        at org.apache.kafka.common.security.auth.SecurityProtocol.valueOf(SecurityProtocol.java:26)
        at org.apache.kafka.common.security.auth.SecurityProtocol.forName(SecurityProtocol.java:72)
        at org.apache.kafka.clients.ClientUtils.createChannelBuilder(ClientUtils.java:103)
        at org.apache.kafka.clients.admin.KafkaAdminClient.createInternal(KafkaAdminClient.java:454)
        ... 7 more {code}
 

 

 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)