-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/26019/
-----------------------------------------------------------
(Updated Sept. 25, 2014, 6:11 p.m.)
Review request for kafka.
Bugs: KAFKA-404
https://issues.apache.org/jira/browse/KAFKA-404
Repository: kafka
Description
-------
KAFKA-404 auto-create Zookeeper CHROOT on Startup
Diffs (updated)
-----
core/src/main/scala/kafka/server/KafkaServer.scala
390fef500d7e0027e698c259d777454ba5a0f5e8
core/src/test/scala/unit/kafka/server/ServerStartupTest.scala PRE-CREATION
Diff: https://reviews.apache.org/r/26019/diff/
Testing
-------
Ran Kafka against a brand new Zookeeper, chroot exists after Kafka starts.
Also:
Added Unit test, fails prior to patch.
$ ./gradlew -Dtest.single=CreateZKChrootTest core:test
Building project 'core' with Scala version 2.10.1
:clients:compileJava UP-TO-DATE
:clients:processResources UP-TO-DATE
:clients:classes UP-TO-DATE
:clients:jar UP-TO-DATE
:core:compileJava UP-TO-DATE
:core:compileScala UP-TO-DATE
:core:processResources UP-TO-DATE
:core:classes UP-TO-DATE
:core:compileTestJava UP-TO-DATE
:core:compileTestScala
:core:processTestResources UP-TO-DATE
:core:testClasses
:core:test
kafka.server.CreateZKChrootTest > testBrokerCreatesZKChroot FAILED
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 kafka.utils.ZkUtils$.makeSurePersistentPathExists(ZkUtils.scala:211)
at
kafka.utils.ZkUtils$$anonfun$setupCommonPaths$1.apply(ZkUtils.scala:91)
at
kafka.utils.ZkUtils$$anonfun$setupCommonPaths$1.apply(ZkUtils.scala:90)
at scala.collection.immutable.List.foreach(List.scala:318)
at kafka.utils.ZkUtils$.setupCommonPaths(ZkUtils.scala:90)
at kafka.server.KafkaServer.initZk(KafkaServer.scala:133)
at kafka.server.KafkaServer.startup(KafkaServer.scala:81)
at kafka.utils.TestUtils$.createServer(TestUtils.scala:133)
at kafka.server.CreateZKChrootTest.setUp(CreateZKChrootTest.scala:40)
1 test completed, 1 failed
:core:test FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':core:test'.
> There were failing tests. See the report at:
> file:///Users/jcreasy/code/kafka/core/build/reports/tests/index.html
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug
option to get more log output.
BUILD FAILED
Total time: 27.926 secs
Passes once patch applied:
$ ./gradlew -Dtest.single=CreateZKChrootTest core:test
Building project 'core' with Scala version 2.10.1
:clients:compileJava UP-TO-DATE
:clients:processResources UP-TO-DATE
:clients:classes UP-TO-DATE
:clients:jar UP-TO-DATE
:core:compileJava UP-TO-DATE
:core:compileScala
/Users/jcreasy/code/kafka/core/src/main/scala/kafka/server/KafkaServer.scala:160:
a pure expression does nothing in statement position; you may be omitting
necessary parentheses
ControllerStats.uncleanLeaderElectionRate
^
/Users/jcreasy/code/kafka/core/src/main/scala/kafka/server/KafkaServer.scala:161:
a pure expression does nothing in statement position; you may be omitting
necessary parentheses
ControllerStats.leaderElectionTimer
^
two warnings found
:core:processResources UP-TO-DATE
:core:classes
:core:compileTestJava UP-TO-DATE
> Building 69% > :core:compileTestScala^Cjcreasy at C02MR0K3FD58 in
> ~/code/kafka on KAFKA-404*
Thanks,
Jonathan Creasy