kafka-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ewen Cheslack-Postava (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (KAFKA-4837) Config validation in Connector plugins need to compare against both canonical and simple class names
Date Tue, 04 Apr 2017 00:14:41 GMT

     [ https://issues.apache.org/jira/browse/KAFKA-4837?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Ewen Cheslack-Postava updated KAFKA-4837:
-----------------------------------------
    Reviewer: Ewen Cheslack-Postava
      Status: Patch Available  (was: Open)

> Config validation in Connector plugins need to compare against both canonical and simple
class names
> ----------------------------------------------------------------------------------------------------
>
>                 Key: KAFKA-4837
>                 URL: https://issues.apache.org/jira/browse/KAFKA-4837
>             Project: Kafka
>          Issue Type: Bug
>          Components: KafkaConnect
>    Affects Versions: 0.10.2.0
>            Reporter: Konstantine Karantasis
>            Assignee: Konstantine Karantasis
>             Fix For: 0.10.2.1
>
>   Original Estimate: 3h
>  Remaining Estimate: 3h
>
> A validation check in Connect's REST API that was added to validate that the connector
class name in the config matches the connector class name in the request's URL is too strict
by not considering both the simple and the canonical name of the connector class. For instance,
the following example request: 
> {code}
> PUT /connector-plugins/FileStreamSinkConnector/config/validate/ HTTP/1.1
> Host: connect.example.com
> Accept: application/json
> {
>     "connector.class": "org.apache.kafka.connect.file.FileStreamSinkConnector",
>     "tasks.max": "1",
>     "topics": "test-topic"
> }
> {code}
> returns a "Bad Request" response with error code "400".
> Currently the reasonable workaround is to exactly match the connector class name in both
places. The following will work: 
> {code}
> PUT /connector-plugins/"org.apache.kafka.connect.file.FileStreamSinkConnector/config/validate/
HTTP/1.1
> Host: connect.example.com
> Accept: application/json
> {
>     "connector.class": "org.apache.kafka.connect.file.FileStreamSinkConnector",
>     "tasks.max": "1",
>     "topics": "test-topic"
> }
> {code}
> However, this is not flexible enough and also breaks several examples in documentation.
Validation should take into account both simple and canonical class names. 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Mime
View raw message