ASF GitHub Bot commented on KAFKA-3417:

GitHub user mimaison opened a pull request:


    KAFKA-3417: Quote client-id and wrap reporter calls in try/catch blocks


You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/mimaison/kafka KAFKA-3417

Alternatively you can review and apply these changes as the patch at:


To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #3635
commit ec36fa8052ea60411c77ed82c4b3d7b83fb1f4d3
Author: Mickael Maison <mickael.mai...@gmail.com>
Date:   2017-08-07T11:51:49Z

    KAFKA-3417: Quote client-id and wrap reporter calls in try/catch blocks


> Invalid characters in config properties not being validated?
> ------------------------------------------------------------
>                 Key: KAFKA-3417
>                 URL: https://issues.apache.org/jira/browse/KAFKA-3417
>             Project: Kafka
>          Issue Type: Bug
>          Components: config
>    Affects Versions:
>            Reporter: Byron Ruth
>            Assignee: Grant Henke
>            Priority: Minor
> I ran into an error using a {{client.id}} with invalid characters (per the 
> [config 
> validator|https://github.com/apache/kafka/blob/trunk/core/src/main/scala/kafka/common/Config.scala#L25-L35]).
>  I was able to get that exact error using the {{kafka-console-consumer}} 
> script, presumably because I supplied a consumer properties file and it 
> validated prior to hitting the server. However, when I use a client library 
> (sarama for Go in this case), an error in the metrics subsystem is thrown 
> [here|https://github.com/apache/kafka/blob/977ebbe9bafb6c1a6e1be69620f745712118fe80/clients/src/main/java/org/apache/kafka/common/metrics/Metrics.java#L380].
> The stacktrace is:
> {code:title=stack.java}
> [2016-03-17 17:43:47,342] ERROR [KafkaApi-0] error when handling request 
> Name: FetchRequest; Version: 0; CorrelationId: 2; ClientId: foo:bar; 
> ReplicaId: -1; MaxWait: 250 ms; MinBytes: 1 bytes; RequestInfo: [foo,0] -> 
> PartitionFetchInfo(0,32768) (kafka.server.KafkaApis)
> org.apache.kafka.common.KafkaException: Error creating mbean attribute for 
> metricName :MetricName [name=throttle-time, group=Fetch, description=Tracking 
> average throttle-time per client, tags={client-id=foo:bar}]
>       at 
> org.apache.kafka.common.metrics.JmxReporter.addAttribute(JmxReporter.java:113)
>       at 
> org.apache.kafka.common.metrics.JmxReporter.metricChange(JmxReporter.java:76)
>       at 
> org.apache.kafka.common.metrics.Metrics.registerMetric(Metrics.java:288)
>       at org.apache.kafka.common.metrics.Sensor.add(Sensor.java:177)
>       at org.apache.kafka.common.metrics.Sensor.add(Sensor.java:162)
>     ...
> {code}
> Assuming the cause os related to the invalid characters, when the request 
> header is decoded, the {{clientId}} should be validated prior to being used?

This message was sent by Atlassian JIRA

Reply via email to