java.lang.IllegalArgumentException

There are no available Samebug tips for this exception. Do you have an idea how to solve this issue? A short tip would help users who saw this issue last week.

  • When using a non-root ZK directory for Kafka, if you specify multiple ZK servers, Kafka does not seem to properly parse the connection string. *Error* {code} [root@hodor-001 bin]# ./kafka-console-consumer.sh --zookeeper baelish-001.edh.cloudera.com:2181/kafka,baelish-002.edh.cloudera.com:2181/kafka,baelish-003.edh.cloudera.com:2181/kafka --topic test-topic [2014-10-01 15:31:04,629] ERROR Error processing message, stopping consumer: (kafka.consumer.ConsoleConsumer$) java.lang.IllegalArgumentException: Path length must be > 0 at org.apache.zookeeper.common.PathUtils.validatePath(PathUtils.java:48) at org.apache.zookeeper.common.PathUtils.validatePath(PathUtils.java:35) at org.apache.zookeeper.ZooKeeper.create(ZooKeeper.java:766) at org.I0Itec.zkclient.ZkConnection.create(ZkConnection.java:87) at org.I0Itec.zkclient.ZkClient$1.call(ZkClient.java:308) at org.I0Itec.zkclient.ZkClient$1.call(ZkClient.java:304) at org.I0Itec.zkclient.ZkClient.retryUntilConnected(ZkClient.java:675) at org.I0Itec.zkclient.ZkClient.create(ZkClient.java:304) at org.I0Itec.zkclient.ZkClient.createPersistent(ZkClient.java:213) at org.I0Itec.zkclient.ZkClient.createPersistent(ZkClient.java:223) at org.I0Itec.zkclient.ZkClient.createPersistent(ZkClient.java:223) at org.I0Itec.zkclient.ZkClient.createPersistent(ZkClient.java:223) at kafka.utils.ZkUtils$.createParentPath(ZkUtils.scala:245) at kafka.utils.ZkUtils$.createEphemeralPath(ZkUtils.scala:256) at kafka.utils.ZkUtils$.createEphemeralPathExpectConflict(ZkUtils.scala:268) at kafka.utils.ZkUtils$.createEphemeralPathExpectConflictHandleZKBug(ZkUtils.scala:306) at kafka.consumer.ZookeeperConsumerConnector.kafka$consumer$ZookeeperConsumerConnector$$registerConsumerInZK(ZookeeperConsumerConnector.scala:226) at kafka.consumer.ZookeeperConsumerConnector$WildcardStreamsHandler.<init>(ZookeeperConsumerConnector.scala:755) at kafka.consumer.ZookeeperConsumerConnector.createMessageStreamsByFilter(ZookeeperConsumerConnector.scala:145) at kafka.consumer.ConsoleConsumer$.main(ConsoleConsumer.scala:196) at kafka.consumer.ConsoleConsumer.main(ConsoleConsumer.scala) {code} *Working* {code} [root@hodor-001 bin]# ./kafka-console-consumer.sh --zookeeper baelish-001.edh.cloudera.com:2181/kafka --topic test-topic {code}
    via by Ricky Saltzer,
  • When starting Kafka 0.7.0 using zkclient-0.1.jar, I get this error: INFO 2012-03-06 02:39:04,072 main kafka.server.KafkaZooKeeper Registering broker /brokers/ids/1 FATAL 2012-03-06 02:39:04,111 main kafka.server.KafkaServer Fatal error during startup. java.lang.IllegalArgumentException: Path length must be > 0 at org.apache.zookeeper.common.PathUtils.validatePath(PathUtils.java:48) at org.apache.zookeeper.common.PathUtils.validatePath(PathUtils.java:35) at org.apache.zookeeper.ZooKeeper.create(ZooKeeper.java:620) at org.I0Itec.zkclient.ZkConnection.create(ZkConnection.java:87) at org.I0Itec.zkclient.ZkClient$1.call(ZkClient.java:308) at org.I0Itec.zkclient.ZkClient$1.call(ZkClient.java:304) at org.I0Itec.zkclient.ZkClient.retryUntilConnected(ZkClient.java:675) at org.I0Itec.zkclient.ZkClient.create(ZkClient.java:304) at org.I0Itec.zkclient.ZkClient.createPersistent(ZkClient.java:213) at org.I0Itec.zkclient.ZkClient.createPersistent(ZkClient.java:223) at org.I0Itec.zkclient.ZkClient.createPersistent(ZkClient.java:223) at kafka.utils.ZkUtils$.createParentPath(ZkUtils.scala:48) at kafka.utils.ZkUtils$.createEphemeralPath(ZkUtils.scala:60) at kafka.utils.ZkUtils$.createEphemeralPathExpectConflict(ZkUtils.scala:72) at kafka.server.KafkaZooKeeper.registerBrokerInZk(KafkaZooKeeper.scala:57) at kafka.log.LogManager.startup(LogManager.scala:124) at kafka.server.KafkaServer.startup(KafkaServer.scala:80) at kafka.server.KafkaServerStartable.startup(KafkaServerStartable.scala:47) at kafka.Kafka$.main(Kafka.scala:60) at kafka.Kafka.main(Kafka.scala) The problem seems to be this code in ZkClient's createPersistent method: String parentDir = path.substring(0, path.lastIndexOf('/')); createPersistent(parentDir, createParents); createPersistent(path, createParents); which doesn't check for whether parentDir is an empty string, which it will become for /brokers/ids/1 after two recursions.
    via by Thomas Dudziak,
    • java.lang.IllegalArgumentException: Path length must be > 0 at org.apache.zookeeper.common.PathUtils.validatePath(PathUtils.java:48) at org.apache.zookeeper.common.PathUtils.validatePath(PathUtils.java:35) at org.apache.zookeeper.ZooKeeper.create(ZooKeeper.java:766) at org.I0Itec.zkclient.ZkConnection.create(ZkConnection.java:87) at org.I0Itec.zkclient.ZkClient$1.call(ZkClient.java:308) at org.I0Itec.zkclient.ZkClient$1.call(ZkClient.java:304) at org.I0Itec.zkclient.ZkClient.retryUntilConnected(ZkClient.java:675) at org.I0Itec.zkclient.ZkClient.create(ZkClient.java:304) at org.I0Itec.zkclient.ZkClient.createPersistent(ZkClient.java:213) at org.I0Itec.zkclient.ZkClient.createPersistent(ZkClient.java:223) at org.I0Itec.zkclient.ZkClient.createPersistent(ZkClient.java:223) at org.I0Itec.zkclient.ZkClient.createPersistent(ZkClient.java:223) at kafka.utils.ZkUtils$.createParentPath(ZkUtils.scala:245) at kafka.utils.ZkUtils$.createEphemeralPath(ZkUtils.scala:256) at kafka.utils.ZkUtils$.createEphemeralPathExpectConflict(ZkUtils.scala:268) at kafka.utils.ZkUtils$.createEphemeralPathExpectConflictHandleZKBug(ZkUtils.scala:306) at kafka.consumer.ZookeeperConsumerConnector.kafka$consumer$ZookeeperConsumerConnector$$registerConsumerInZK(ZookeeperConsumerConnector.scala:226) at kafka.consumer.ZookeeperConsumerConnector$WildcardStreamsHandler.<init>(ZookeeperConsumerConnector.scala:755) at kafka.consumer.ZookeeperConsumerConnector.createMessageStreamsByFilter(ZookeeperConsumerConnector.scala:145) at kafka.consumer.ConsoleConsumer$.main(ConsoleConsumer.scala:196) at kafka.consumer.ConsoleConsumer.main(ConsoleConsumer.scala)

    Users with the same issue

    Unknown visitor1 times, last one,
    Unknown visitor1 times, last one,
    Unknown visitor1 times, last one,