[ https://issues.apache.org/jira/browse/KAFKA-4930?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15937220#comment-15937220 ]
Sönke Liebau commented on KAFKA-4930: ------------------------------------- I've created a potential fix for this issue and pushed to https://github.com/soenkeliebau/kafka/tree/KAFKA-4930 However I am unsure, whether this fully addresses all potential issues tbh. All tests pass, but I won't pretend that I have fully understood all dependencies in the validation model, so some feedback would be very welcome. My fundamental worry with this implementation is, that I create a validator for a option that cannot have a default value, which means that the validator won't greenlight a default config, which I then get around by allowing a null value. This seems not entirely clean. An alternative approach would be to add checks [here|https://github.com/apache/kafka/blob/trunk/connect/runtime/src/main/java/org/apache/kafka/connect/runtime/rest/resources/ConnectorsResource.java#L91] but I actually found that the existing check here throws a NullPointerException for requests that don't have the _name_ parameter (will create an issue for that), so there are caveats here as well. Anyway, thoughts? > Connect Rest API allows creating connectors with an empty name > -------------------------------------------------------------- > > Key: KAFKA-4930 > URL: https://issues.apache.org/jira/browse/KAFKA-4930 > Project: Kafka > Issue Type: Bug > Components: KafkaConnect > Affects Versions: 0.10.2.0 > Reporter: Sönke Liebau > Priority: Minor > > The Connect Rest API allows to deploy connectors with an empty name field, > which then cannot be removed through the api. > Sending the following request: > {code} > { > "name": "", > "config": { > "connector.class": > "org.apache.kafka.connect.tools.MockSourceConnector", > "tasks.max": "1", > "topics": "test-topic" > > } > } > {code} > Results in a connector being deployed which can be seen in the list of > connectors: > {code} > [ > "", > "testconnector" > ]{code} > But cannot be removed via a DELETE call, as the api thinks we are trying to > delete the /connectors endpoint and declines the request. > I don't think there is a valid case for the connector name to be empty so > perhaps we should add a check for this. I am happy to work on this. -- This message was sent by Atlassian JIRA (v6.3.15#6346)