[
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