[ 
https://issues.apache.org/jira/browse/KAFKA-697?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13553345#comment-13553345
 ] 

Neha Narkhede commented on KAFKA-697:
-------------------------------------

Unfortunately, this rule of not allowing a '.' in the clientid seems very 
restrictive. Here, it is useful for the client id to have the hostname of the 
fetcher thread. This allows us to look at the kafka request log, take that 
client id, go the box, take a thread dump and correlate the behavior of the 
thread from the thread dump and the log4j using the client id string. This 
saves time required for troubleshooting. Since we have this restriction, we 
will have to take the client IP from the request log, convert it to a hostname, 
construct the thread name from this information and then try to understand the 
thread behavior from the thread dump and log4j. 

I think this is making things more difficult for us, which is a down side to 
disallowing '.' in the client id.
                
> ConsoleConsumer throws InvalidConfigException for "." in client id
> ------------------------------------------------------------------
>
>                 Key: KAFKA-697
>                 URL: https://issues.apache.org/jira/browse/KAFKA-697
>             Project: Kafka
>          Issue Type: Bug
>            Reporter: John Fung
>         Attachments: kafka-697.patch
>
>
> kafka.common.InvalidConfigException: client.id 
> console-consumer-16946-ConsumerFetcherThread-console-consumer-16946_XXXX-host18.corp-1358006528116-991e3f2d-0-1
>  is illegal, contains a character other than ASCII alphanumerics, _ and -
>         at kafka.common.Config$class.validateChars(Config.scala:32)
>         at 
> kafka.consumer.ConsumerConfig$.validateChars(ConsumerConfig.scala:25)
>         at 
> kafka.consumer.ConsumerConfig$.validateClientId(ConsumerConfig.scala:55)
>         at kafka.consumer.SimpleConsumer.<init>(SimpleConsumer.scala:88)
>         at 
> kafka.server.AbstractFetcherThread.<init>(AbstractFetcherThread.scala:44)
>         at 
> kafka.consumer.ConsumerFetcherThread.<init>(ConsumerFetcherThread.scala:27)
>         at 
> kafka.consumer.ConsumerFetcherManager.createFetcherThread(ConsumerFetcherManager.scala:93)
>         at 
> kafka.server.AbstractFetcherManager.addFetcher(AbstractFetcherManager.scala:44)
>         at 
> kafka.consumer.ConsumerFetcherManager$$anon$1$$anonfun$doWork$3.apply(ConsumerFetcherManager.scala:75)
>         at 
> kafka.consumer.ConsumerFetcherManager$$anon$1$$anonfun$doWork$3.apply(ConsumerFetcherManager.scala:72)
>         at 
> scala.collection.mutable.HashMap$$anonfun$foreach$1.apply(HashMap.scala:80)
>         at 
> scala.collection.mutable.HashMap$$anonfun$foreach$1.apply(HashMap.scala:80)
>         at scala.collection.Iterator$class.foreach(Iterator.scala:631)
>         at 
> scala.collection.mutable.HashTable$$anon$1.foreach(HashTable.scala:161)
>         at 
> scala.collection.mutable.HashTable$class.foreachEntry(HashTable.scala:194)
>         at scala.collection.mutable.HashMap.foreachEntry(HashMap.scala:39)
>         at scala.collection.mutable.HashMap.foreach(HashMap.scala:80)
>         at 
> kafka.consumer.ConsumerFetcherManager$$anon$1.doWork(ConsumerFetcherManager.scala:72)
>         at kafka.utils.ShutdownableThread.run(ShutdownableThread.scala:50)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to