[ https://issues.apache.org/jira/browse/KAFKA-13256?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17411820#comment-17411820 ]
René Kerner commented on KAFKA-13256: ------------------------------------- [~mjsax] Currently there's no way to prevent that users of ConfigDef do NOT provide a documentation. I don't know who's consuming `org.apache.kafka.common.config.ConfigDef#toRst`, `org.apache.kafka.common.config.ConfigDef#toEnrichedRst` and `org.apache.kafka.common.config.ConfigDef#toHtml` but calling these methods in ConfigDef will fail with an NPE when there are ConfigKeys that don't have `documentation` set. An alternative would be to add null-checks into all `org.apache.kafka.common.config.ConfigDef#define` methods, but this would be a drastic API breaking change. > Possible NPE in ConfigDef when rendering (enriched) RST or HTML when > documentation is not set/NULL > -------------------------------------------------------------------------------------------------- > > Key: KAFKA-13256 > URL: https://issues.apache.org/jira/browse/KAFKA-13256 > Project: Kafka > Issue Type: Bug > Components: clients > Affects Versions: 2.8.0 > Reporter: René Kerner > Priority: Major > Original Estimate: 0.5h > Remaining Estimate: 0.5h > > While working on Debezium I discovered the following issue: > When Kafka's ConfigDef renders the HTML or RST documentation representation > of the config definition, it requires `ConfigKey.documentation` member > variable to be a java.lang.String instance that's set to an actual value > different than NULL, else NPE happens: > {code:java} > b.append(key.documentation.replaceAll("\n", "<br>")); > {code} > {code:java} > for (String docLine : key.documentation.split("\n")) { > {code} > > When `documentation` is not set/NULL I suggest to either set a valid String > like "No documentation available" or skip that config key. > > I could provide a PR to fix this soon. -- This message was sent by Atlassian Jira (v8.3.4#803005)