Re: Review Request 14013: Added support for Scala 2.10 builds while maintaining compatibility with 2.8.x
On Sept. 8, 2013, 4:56 p.m., Neha Narkhede wrote: core/build.sbt, line 26 https://reviews.apache.org/r/14013/diff/2/?file=349260#file349260line26 Does Scala 2.10 require scalatest 1.9.1? How about Scala 2.9.x ? There wasn't a 2.10 build of scalatest version 1.8 so I needed to use one of the newer versions with a 2.10 build. For the other cross build cases, they will continue to work with the same version of scalatest that they did previously. On Sept. 8, 2013, 4:56 p.m., Neha Narkhede wrote: core/src/main/scala/kafka/javaapi/Implicits.scala, line 44 https://reviews.apache.org/r/14013/diff/2/?file=349282#file349282line44 Could you please add a comment above this API explaining why we need to do this ? The same one you have in ByteBufferMessageSet.scala sure On Sept. 8, 2013, 4:56 p.m., Neha Narkhede wrote: core/src/main/scala/kafka/utils/Pool.scala, line 79 https://reviews.apache.org/r/14013/diff/2/?file=349308#file349308line79 In all other places, we have limited the scope of the JavaConversions import. Could we also do the same here? yes - Christopher --- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/14013/#review25977 --- On Sept. 7, 2013, 11:35 p.m., Christopher Freeman wrote: --- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/14013/ --- (Updated Sept. 7, 2013, 11:35 p.m.) Review request for kafka and Neha Narkhede. Bugs: KAFKA-1046 https://issues.apache.org/jira/browse/KAFKA-1046 Repository: kafka Description --- This RB contains necessary changes to the kafka source code to support Scala 2.10.x while still maintaining support for Scala 2.8.x The existing cause of source incompatibility between 2.8.x and 2.10.x was primarily due to the use of implicit conversions in the scala.collection.JavaConversions object. Many of them where deprecated (and replaced with differently named methods) and the deprecated methods where removed in 2.10. I avoided the source incompatibility by importing the implicits with a wild card. Scala annotations moved to a different package in 2.9 and the reference to the old location was removed in 2.10. I couldn't think of a source compatible way to support both in Annotations.scala so since this source file is very small, I created two copies and configured sbt to use the one appropriate for when building for a particular Scala version. I also typed many of the catch block case statements with :Throwable. This change isn't required but starting with Scala 2.9, the compiler will emit warnings if the type is emitted. Otherwise case e = and case e: Throwable = are equivalent. Diffs - core/build.sbt c54cf44 core/src/main/scala/kafka/Kafka.scala dafb1ee core/src/main/scala/kafka/admin/AddPartitionsCommand.scala 5757c32 core/src/main/scala/kafka/admin/AdminUtils.scala c399bc7 core/src/main/scala/kafka/admin/CreateTopicCommand.scala 21c1186 core/src/main/scala/kafka/admin/DeleteTopicCommand.scala 3da4518 core/src/main/scala/kafka/admin/ListTopicCommand.scala c760cc0 core/src/main/scala/kafka/admin/PreferredReplicaLeaderElectionCommand.scala d5de5f3 core/src/main/scala/kafka/admin/ReassignPartitionsCommand.scala aa61fa1 core/src/main/scala/kafka/client/ClientUtils.scala cc526ec core/src/main/scala/kafka/cluster/Broker.scala b03dea2 core/src/main/scala/kafka/consumer/ConsoleConsumer.scala 719beb5 core/src/main/scala/kafka/consumer/ConsumerFetcherManager.scala fa6b213 core/src/main/scala/kafka/consumer/SimpleConsumer.scala 4395fe3 core/src/main/scala/kafka/consumer/TopicCount.scala c8e8406 core/src/main/scala/kafka/consumer/ZookeeperConsumerConnector.scala e7a692a core/src/main/scala/kafka/consumer/ZookeeperTopicEventWatcher.scala df83baa core/src/main/scala/kafka/controller/ControllerChannelManager.scala ed1ce0b core/src/main/scala/kafka/controller/KafkaController.scala ab18b7a core/src/main/scala/kafka/controller/PartitionStateMachine.scala a084830 core/src/main/scala/kafka/controller/ReplicaStateMachine.scala c964857 core/src/main/scala/kafka/javaapi/FetchRequest.scala b475240 core/src/main/scala/kafka/javaapi/Implicits.scala ee0a71d core/src/main/scala/kafka/javaapi/OffsetRequest.scala 1c77ff8 core/src/main/scala/kafka/javaapi/TopicMetadata.scala 97b6dcd core/src/main/scala/kafka/javaapi/TopicMetadataRequest.scala 5f80df7 core/src/main/scala/kafka/javaapi/consumer/ZookeeperConsumerConnector.scala 14c4c8a core/src/main/scala/kafka/javaapi/message/ByteBufferMessageSet.scala 0a95248
Re: Review Request 14013: Added support for Scala 2.10 builds while maintaining compatibility with 2.8.x
--- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/14013/#review25992 --- Ship it! Ship It! - Neha Narkhede On Sept. 9, 2013, 12:40 a.m., Christopher Freeman wrote: --- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/14013/ --- (Updated Sept. 9, 2013, 12:40 a.m.) Review request for kafka and Neha Narkhede. Bugs: KAFKA-1046 https://issues.apache.org/jira/browse/KAFKA-1046 Repository: kafka Description --- This RB contains necessary changes to the kafka source code to support Scala 2.10.x while still maintaining support for Scala 2.8.x The existing cause of source incompatibility between 2.8.x and 2.10.x was primarily due to the use of implicit conversions in the scala.collection.JavaConversions object. Many of them where deprecated (and replaced with differently named methods) and the deprecated methods where removed in 2.10. I avoided the source incompatibility by importing the implicits with a wild card. Scala annotations moved to a different package in 2.9 and the reference to the old location was removed in 2.10. I couldn't think of a source compatible way to support both in Annotations.scala so since this source file is very small, I created two copies and configured sbt to use the one appropriate for when building for a particular Scala version. I also typed many of the catch block case statements with :Throwable. This change isn't required but starting with Scala 2.9, the compiler will emit warnings if the type is emitted. Otherwise case e = and case e: Throwable = are equivalent. Diffs - core/build.sbt c54cf44 core/src/main/scala/kafka/Kafka.scala dafb1ee core/src/main/scala/kafka/admin/AddPartitionsCommand.scala 5757c32 core/src/main/scala/kafka/admin/AdminUtils.scala c399bc7 core/src/main/scala/kafka/admin/CreateTopicCommand.scala 21c1186 core/src/main/scala/kafka/admin/DeleteTopicCommand.scala 3da4518 core/src/main/scala/kafka/admin/ListTopicCommand.scala c760cc0 core/src/main/scala/kafka/admin/PreferredReplicaLeaderElectionCommand.scala d5de5f3 core/src/main/scala/kafka/admin/ReassignPartitionsCommand.scala aa61fa1 core/src/main/scala/kafka/client/ClientUtils.scala cc526ec core/src/main/scala/kafka/cluster/Broker.scala b03dea2 core/src/main/scala/kafka/consumer/ConsoleConsumer.scala 719beb5 core/src/main/scala/kafka/consumer/ConsumerFetcherManager.scala fa6b213 core/src/main/scala/kafka/consumer/SimpleConsumer.scala 4395fe3 core/src/main/scala/kafka/consumer/TopicCount.scala c8e8406 core/src/main/scala/kafka/consumer/ZookeeperConsumerConnector.scala e7a692a core/src/main/scala/kafka/consumer/ZookeeperTopicEventWatcher.scala df83baa core/src/main/scala/kafka/controller/ControllerChannelManager.scala ed1ce0b core/src/main/scala/kafka/controller/KafkaController.scala ab18b7a core/src/main/scala/kafka/controller/PartitionStateMachine.scala a084830 core/src/main/scala/kafka/controller/ReplicaStateMachine.scala c964857 core/src/main/scala/kafka/javaapi/FetchRequest.scala b475240 core/src/main/scala/kafka/javaapi/Implicits.scala ee0a71d core/src/main/scala/kafka/javaapi/OffsetRequest.scala 1c77ff8 core/src/main/scala/kafka/javaapi/TopicMetadata.scala 97b6dcd core/src/main/scala/kafka/javaapi/TopicMetadataRequest.scala 5f80df7 core/src/main/scala/kafka/javaapi/consumer/ZookeeperConsumerConnector.scala 14c4c8a core/src/main/scala/kafka/javaapi/message/ByteBufferMessageSet.scala 0a95248 core/src/main/scala/kafka/javaapi/producer/Producer.scala 7265328 core/src/main/scala/kafka/log/LogManager.scala 4771d11 core/src/main/scala/kafka/network/BoundedByteBufferReceive.scala cab1864 core/src/main/scala/kafka/producer/SyncProducer.scala 306f200 core/src/main/scala/kafka/producer/async/DefaultEventHandler.scala 2e36d3b core/src/main/scala/kafka/producer/async/ProducerSendThread.scala 2b41a49 core/src/main/scala/kafka/server/AbstractFetcherThread.scala d5addb3 core/src/main/scala/kafka/server/KafkaApis.scala cd02aab core/src/main/scala/kafka/server/KafkaServerStartable.scala 5be65e9 core/src/main/scala/kafka/server/ReplicaManager.scala f551243 core/src/main/scala/kafka/server/ZookeeperLeaderElector.scala f1f0625 core/src/main/scala/kafka/tools/ImportZkOffsets.scala 55709b5 core/src/main/scala/kafka/tools/JmxTool.scala 7e424e7 core/src/main/scala/kafka/tools/MirrorMaker.scala 6fb545a core/src/main/scala/kafka/tools/SimpleConsumerShell.scala 3cfa384 core/src/main/scala/kafka/utils/Annotations.scala 28269eb
Re: Review Request 14013: Added support for Scala 2.10 builds while maintaining compatibility with 2.8.x
On Sept. 8, 2013, 10:47 p.m., Jun Rao wrote: core/src/main/scala/kafka/utils/Annotations_2.9+.scala, lines 1-38 https://reviews.apache.org/r/14013/diff/3/?file=349557#file349557line1 How does this affect IDEs like Intellij? Are you able to build the project in IDE with both version of threadsafe annotation? Christopher Freeman wrote: I don't normally build with my IDE but I don't see any errors when I compile the project with Intellij (Build - Make project, which invokes an external scala compiler). I also didn't see any issues using the SBT plugin (which makes sense as all it is doing is opening a shell and running sbt). I tried compiling the code in IntelliJ and it complains about the some errors while compiling Annotations_2.9+.scala. I attached the screenshot on the JIRA - https://issues.apache.org/jira/secure/attachment/12602162/Screen%20Shot%202013-09-09%20at%209.34.09%20AM.png. Do you know of a way to fix this? - Neha --- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/14013/#review25979 --- On Sept. 9, 2013, 12:40 a.m., Christopher Freeman wrote: --- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/14013/ --- (Updated Sept. 9, 2013, 12:40 a.m.) Review request for kafka and Neha Narkhede. Bugs: KAFKA-1046 https://issues.apache.org/jira/browse/KAFKA-1046 Repository: kafka Description --- This RB contains necessary changes to the kafka source code to support Scala 2.10.x while still maintaining support for Scala 2.8.x The existing cause of source incompatibility between 2.8.x and 2.10.x was primarily due to the use of implicit conversions in the scala.collection.JavaConversions object. Many of them where deprecated (and replaced with differently named methods) and the deprecated methods where removed in 2.10. I avoided the source incompatibility by importing the implicits with a wild card. Scala annotations moved to a different package in 2.9 and the reference to the old location was removed in 2.10. I couldn't think of a source compatible way to support both in Annotations.scala so since this source file is very small, I created two copies and configured sbt to use the one appropriate for when building for a particular Scala version. I also typed many of the catch block case statements with :Throwable. This change isn't required but starting with Scala 2.9, the compiler will emit warnings if the type is emitted. Otherwise case e = and case e: Throwable = are equivalent. Diffs - core/build.sbt c54cf44 core/src/main/scala/kafka/Kafka.scala dafb1ee core/src/main/scala/kafka/admin/AddPartitionsCommand.scala 5757c32 core/src/main/scala/kafka/admin/AdminUtils.scala c399bc7 core/src/main/scala/kafka/admin/CreateTopicCommand.scala 21c1186 core/src/main/scala/kafka/admin/DeleteTopicCommand.scala 3da4518 core/src/main/scala/kafka/admin/ListTopicCommand.scala c760cc0 core/src/main/scala/kafka/admin/PreferredReplicaLeaderElectionCommand.scala d5de5f3 core/src/main/scala/kafka/admin/ReassignPartitionsCommand.scala aa61fa1 core/src/main/scala/kafka/client/ClientUtils.scala cc526ec core/src/main/scala/kafka/cluster/Broker.scala b03dea2 core/src/main/scala/kafka/consumer/ConsoleConsumer.scala 719beb5 core/src/main/scala/kafka/consumer/ConsumerFetcherManager.scala fa6b213 core/src/main/scala/kafka/consumer/SimpleConsumer.scala 4395fe3 core/src/main/scala/kafka/consumer/TopicCount.scala c8e8406 core/src/main/scala/kafka/consumer/ZookeeperConsumerConnector.scala e7a692a core/src/main/scala/kafka/consumer/ZookeeperTopicEventWatcher.scala df83baa core/src/main/scala/kafka/controller/ControllerChannelManager.scala ed1ce0b core/src/main/scala/kafka/controller/KafkaController.scala ab18b7a core/src/main/scala/kafka/controller/PartitionStateMachine.scala a084830 core/src/main/scala/kafka/controller/ReplicaStateMachine.scala c964857 core/src/main/scala/kafka/javaapi/FetchRequest.scala b475240 core/src/main/scala/kafka/javaapi/Implicits.scala ee0a71d core/src/main/scala/kafka/javaapi/OffsetRequest.scala 1c77ff8 core/src/main/scala/kafka/javaapi/TopicMetadata.scala 97b6dcd core/src/main/scala/kafka/javaapi/TopicMetadataRequest.scala 5f80df7 core/src/main/scala/kafka/javaapi/consumer/ZookeeperConsumerConnector.scala 14c4c8a core/src/main/scala/kafka/javaapi/message/ByteBufferMessageSet.scala 0a95248 core/src/main/scala/kafka/javaapi/producer/Producer.scala 7265328 core/src/main/scala/kafka/log/LogManager.scala 4771d11
Re: Review Request 14013: Added support for Scala 2.10 builds while maintaining compatibility with 2.8.x
--- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/14013/ --- (Updated Sept. 7, 2013, 11:35 p.m.) Review request for kafka and Neha Narkhede. Changes --- replaced diff with one that is against the 0.8 branch Bugs: KAFKA-1046 https://issues.apache.org/jira/browse/KAFKA-1046 Repository: kafka Description --- This RB contains necessary changes to the kafka source code to support Scala 2.10.x while still maintaining support for Scala 2.8.x The existing cause of source incompatibility between 2.8.x and 2.10.x was primarily due to the use of implicit conversions in the scala.collection.JavaConversions object. Many of them where deprecated (and replaced with differently named methods) and the deprecated methods where removed in 2.10. I avoided the source incompatibility by importing the implicits with a wild card. Scala annotations moved to a different package in 2.9 and the reference to the old location was removed in 2.10. I couldn't think of a source compatible way to support both in Annotations.scala so since this source file is very small, I created two copies and configured sbt to use the one appropriate for when building for a particular Scala version. I also typed many of the catch block case statements with :Throwable. This change isn't required but starting with Scala 2.9, the compiler will emit warnings if the type is emitted. Otherwise case e = and case e: Throwable = are equivalent. Diffs (updated) - core/build.sbt c54cf44 core/src/main/scala/kafka/Kafka.scala dafb1ee core/src/main/scala/kafka/admin/AddPartitionsCommand.scala 5757c32 core/src/main/scala/kafka/admin/AdminUtils.scala c399bc7 core/src/main/scala/kafka/admin/CreateTopicCommand.scala 21c1186 core/src/main/scala/kafka/admin/DeleteTopicCommand.scala 3da4518 core/src/main/scala/kafka/admin/ListTopicCommand.scala c760cc0 core/src/main/scala/kafka/admin/PreferredReplicaLeaderElectionCommand.scala d5de5f3 core/src/main/scala/kafka/admin/ReassignPartitionsCommand.scala aa61fa1 core/src/main/scala/kafka/client/ClientUtils.scala cc526ec core/src/main/scala/kafka/cluster/Broker.scala b03dea2 core/src/main/scala/kafka/consumer/ConsoleConsumer.scala 719beb5 core/src/main/scala/kafka/consumer/ConsumerFetcherManager.scala fa6b213 core/src/main/scala/kafka/consumer/SimpleConsumer.scala 4395fe3 core/src/main/scala/kafka/consumer/TopicCount.scala c8e8406 core/src/main/scala/kafka/consumer/ZookeeperConsumerConnector.scala e7a692a core/src/main/scala/kafka/consumer/ZookeeperTopicEventWatcher.scala df83baa core/src/main/scala/kafka/controller/ControllerChannelManager.scala ed1ce0b core/src/main/scala/kafka/controller/KafkaController.scala ab18b7a core/src/main/scala/kafka/controller/PartitionStateMachine.scala a084830 core/src/main/scala/kafka/controller/ReplicaStateMachine.scala c964857 core/src/main/scala/kafka/javaapi/FetchRequest.scala b475240 core/src/main/scala/kafka/javaapi/Implicits.scala ee0a71d core/src/main/scala/kafka/javaapi/OffsetRequest.scala 1c77ff8 core/src/main/scala/kafka/javaapi/TopicMetadata.scala 97b6dcd core/src/main/scala/kafka/javaapi/TopicMetadataRequest.scala 5f80df7 core/src/main/scala/kafka/javaapi/consumer/ZookeeperConsumerConnector.scala 14c4c8a core/src/main/scala/kafka/javaapi/message/ByteBufferMessageSet.scala 0a95248 core/src/main/scala/kafka/javaapi/producer/Producer.scala 7265328 core/src/main/scala/kafka/log/LogManager.scala 4771d11 core/src/main/scala/kafka/network/BoundedByteBufferReceive.scala cab1864 core/src/main/scala/kafka/producer/SyncProducer.scala 306f200 core/src/main/scala/kafka/producer/async/DefaultEventHandler.scala 2e36d3b core/src/main/scala/kafka/producer/async/ProducerSendThread.scala 2b41a49 core/src/main/scala/kafka/server/AbstractFetcherThread.scala d5addb3 core/src/main/scala/kafka/server/KafkaApis.scala cd02aab core/src/main/scala/kafka/server/KafkaServerStartable.scala 5be65e9 core/src/main/scala/kafka/server/ReplicaManager.scala f551243 core/src/main/scala/kafka/server/ZookeeperLeaderElector.scala f1f0625 core/src/main/scala/kafka/tools/ImportZkOffsets.scala 55709b5 core/src/main/scala/kafka/tools/JmxTool.scala 7e424e7 core/src/main/scala/kafka/tools/MirrorMaker.scala 6fb545a core/src/main/scala/kafka/tools/SimpleConsumerShell.scala 3cfa384 core/src/main/scala/kafka/utils/Annotations.scala 28269eb core/src/main/scala/kafka/utils/Annotations_2.8.scala PRE-CREATION core/src/main/scala/kafka/utils/Annotations_2.9+.scala PRE-CREATION core/src/main/scala/kafka/utils/Json.scala f80b2cc core/src/main/scala/kafka/utils/Mx4jLoader.scala 64d84cc core/src/main/scala/kafka/utils/Pool.scala 9a86eab core/src/main/scala/kafka/utils/Utils.scala e83eb5f
Re: Review Request 14013: Added support for Scala 2.10 builds while maintaining compatibility with 2.8.x
--- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/14013/#review25977 --- Overall, this is a great patch. Thanks for contributing it. I have some minor questions/suggestions. core/build.sbt https://reviews.apache.org/r/14013/#comment50698 Does Scala 2.10 require scalatest 1.9.1? How about Scala 2.9.x ? core/src/main/scala/kafka/javaapi/Implicits.scala https://reviews.apache.org/r/14013/#comment50699 Could you please add a comment above this API explaining why we need to do this ? The same one you have in ByteBufferMessageSet.scala core/src/main/scala/kafka/utils/Pool.scala https://reviews.apache.org/r/14013/#comment50700 In all other places, we have limited the scope of the JavaConversions import. Could we also do the same here? project/Build.scala https://reviews.apache.org/r/14013/#comment50701 This is a cool hack. I think we can get rid of this only if/when we drop support for Scala 2.8.x. - Neha Narkhede On Sept. 7, 2013, 11:35 p.m., Christopher Freeman wrote: --- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/14013/ --- (Updated Sept. 7, 2013, 11:35 p.m.) Review request for kafka and Neha Narkhede. Bugs: KAFKA-1046 https://issues.apache.org/jira/browse/KAFKA-1046 Repository: kafka Description --- This RB contains necessary changes to the kafka source code to support Scala 2.10.x while still maintaining support for Scala 2.8.x The existing cause of source incompatibility between 2.8.x and 2.10.x was primarily due to the use of implicit conversions in the scala.collection.JavaConversions object. Many of them where deprecated (and replaced with differently named methods) and the deprecated methods where removed in 2.10. I avoided the source incompatibility by importing the implicits with a wild card. Scala annotations moved to a different package in 2.9 and the reference to the old location was removed in 2.10. I couldn't think of a source compatible way to support both in Annotations.scala so since this source file is very small, I created two copies and configured sbt to use the one appropriate for when building for a particular Scala version. I also typed many of the catch block case statements with :Throwable. This change isn't required but starting with Scala 2.9, the compiler will emit warnings if the type is emitted. Otherwise case e = and case e: Throwable = are equivalent. Diffs - core/build.sbt c54cf44 core/src/main/scala/kafka/Kafka.scala dafb1ee core/src/main/scala/kafka/admin/AddPartitionsCommand.scala 5757c32 core/src/main/scala/kafka/admin/AdminUtils.scala c399bc7 core/src/main/scala/kafka/admin/CreateTopicCommand.scala 21c1186 core/src/main/scala/kafka/admin/DeleteTopicCommand.scala 3da4518 core/src/main/scala/kafka/admin/ListTopicCommand.scala c760cc0 core/src/main/scala/kafka/admin/PreferredReplicaLeaderElectionCommand.scala d5de5f3 core/src/main/scala/kafka/admin/ReassignPartitionsCommand.scala aa61fa1 core/src/main/scala/kafka/client/ClientUtils.scala cc526ec core/src/main/scala/kafka/cluster/Broker.scala b03dea2 core/src/main/scala/kafka/consumer/ConsoleConsumer.scala 719beb5 core/src/main/scala/kafka/consumer/ConsumerFetcherManager.scala fa6b213 core/src/main/scala/kafka/consumer/SimpleConsumer.scala 4395fe3 core/src/main/scala/kafka/consumer/TopicCount.scala c8e8406 core/src/main/scala/kafka/consumer/ZookeeperConsumerConnector.scala e7a692a core/src/main/scala/kafka/consumer/ZookeeperTopicEventWatcher.scala df83baa core/src/main/scala/kafka/controller/ControllerChannelManager.scala ed1ce0b core/src/main/scala/kafka/controller/KafkaController.scala ab18b7a core/src/main/scala/kafka/controller/PartitionStateMachine.scala a084830 core/src/main/scala/kafka/controller/ReplicaStateMachine.scala c964857 core/src/main/scala/kafka/javaapi/FetchRequest.scala b475240 core/src/main/scala/kafka/javaapi/Implicits.scala ee0a71d core/src/main/scala/kafka/javaapi/OffsetRequest.scala 1c77ff8 core/src/main/scala/kafka/javaapi/TopicMetadata.scala 97b6dcd core/src/main/scala/kafka/javaapi/TopicMetadataRequest.scala 5f80df7 core/src/main/scala/kafka/javaapi/consumer/ZookeeperConsumerConnector.scala 14c4c8a core/src/main/scala/kafka/javaapi/message/ByteBufferMessageSet.scala 0a95248 core/src/main/scala/kafka/javaapi/producer/Producer.scala 7265328 core/src/main/scala/kafka/log/LogManager.scala 4771d11 core/src/main/scala/kafka/network/BoundedByteBufferReceive.scala cab1864
Re: Review Request 14013: Added support for Scala 2.10 builds while maintaining compatibility with 2.8.x
--- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/14013/#review25979 --- I am wondering if there is any performance degradation due to the changes in implicit conversion. Could you run kafka.perf.ProducerPerformance and see if there is any noticeable performance change with and w/o the patch? core/src/main/scala/kafka/controller/PartitionStateMachine.scala https://reviews.apache.org/r/14013/#comment50705 Could you move the import of the JavaConversion to within this function to limit the scope of the implicit conversion? core/src/main/scala/kafka/javaapi/consumer/ZookeeperConsumerConnector.scala https://reviews.apache.org/r/14013/#comment50706 Don't you need to specify the java return type explicitly here? core/src/main/scala/kafka/utils/Annotations_2.9+.scala https://reviews.apache.org/r/14013/#comment50707 How does this affect IDEs like Intellij? Are you able to build the project in IDE with both version of threadsafe annotation? - Jun Rao On Sept. 8, 2013, 9:47 p.m., Christopher Freeman wrote: --- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/14013/ --- (Updated Sept. 8, 2013, 9:47 p.m.) Review request for kafka and Neha Narkhede. Bugs: KAFKA-1046 https://issues.apache.org/jira/browse/KAFKA-1046 Repository: kafka Description --- This RB contains necessary changes to the kafka source code to support Scala 2.10.x while still maintaining support for Scala 2.8.x The existing cause of source incompatibility between 2.8.x and 2.10.x was primarily due to the use of implicit conversions in the scala.collection.JavaConversions object. Many of them where deprecated (and replaced with differently named methods) and the deprecated methods where removed in 2.10. I avoided the source incompatibility by importing the implicits with a wild card. Scala annotations moved to a different package in 2.9 and the reference to the old location was removed in 2.10. I couldn't think of a source compatible way to support both in Annotations.scala so since this source file is very small, I created two copies and configured sbt to use the one appropriate for when building for a particular Scala version. I also typed many of the catch block case statements with :Throwable. This change isn't required but starting with Scala 2.9, the compiler will emit warnings if the type is emitted. Otherwise case e = and case e: Throwable = are equivalent. Diffs - core/build.sbt c54cf44 core/src/main/scala/kafka/Kafka.scala dafb1ee core/src/main/scala/kafka/admin/AddPartitionsCommand.scala 5757c32 core/src/main/scala/kafka/admin/AdminUtils.scala c399bc7 core/src/main/scala/kafka/admin/CreateTopicCommand.scala 21c1186 core/src/main/scala/kafka/admin/DeleteTopicCommand.scala 3da4518 core/src/main/scala/kafka/admin/ListTopicCommand.scala c760cc0 core/src/main/scala/kafka/admin/PreferredReplicaLeaderElectionCommand.scala d5de5f3 core/src/main/scala/kafka/admin/ReassignPartitionsCommand.scala aa61fa1 core/src/main/scala/kafka/client/ClientUtils.scala cc526ec core/src/main/scala/kafka/cluster/Broker.scala b03dea2 core/src/main/scala/kafka/consumer/ConsoleConsumer.scala 719beb5 core/src/main/scala/kafka/consumer/ConsumerFetcherManager.scala fa6b213 core/src/main/scala/kafka/consumer/SimpleConsumer.scala 4395fe3 core/src/main/scala/kafka/consumer/TopicCount.scala c8e8406 core/src/main/scala/kafka/consumer/ZookeeperConsumerConnector.scala e7a692a core/src/main/scala/kafka/consumer/ZookeeperTopicEventWatcher.scala df83baa core/src/main/scala/kafka/controller/ControllerChannelManager.scala ed1ce0b core/src/main/scala/kafka/controller/KafkaController.scala ab18b7a core/src/main/scala/kafka/controller/PartitionStateMachine.scala a084830 core/src/main/scala/kafka/controller/ReplicaStateMachine.scala c964857 core/src/main/scala/kafka/javaapi/FetchRequest.scala b475240 core/src/main/scala/kafka/javaapi/Implicits.scala ee0a71d core/src/main/scala/kafka/javaapi/OffsetRequest.scala 1c77ff8 core/src/main/scala/kafka/javaapi/TopicMetadata.scala 97b6dcd core/src/main/scala/kafka/javaapi/TopicMetadataRequest.scala 5f80df7 core/src/main/scala/kafka/javaapi/consumer/ZookeeperConsumerConnector.scala 14c4c8a core/src/main/scala/kafka/javaapi/message/ByteBufferMessageSet.scala 0a95248 core/src/main/scala/kafka/javaapi/producer/Producer.scala 7265328 core/src/main/scala/kafka/log/LogManager.scala 4771d11 core/src/main/scala/kafka/network/BoundedByteBufferReceive.scala cab1864
Re: Review Request 14013: Added support for Scala 2.10 builds while maintaining compatibility with 2.8.x
--- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/14013/ --- (Updated Sept. 8, 2013, 9:47 p.m.) Review request for kafka and Neha Narkhede. Changes --- addressed feedback and updated the diff Bugs: KAFKA-1046 https://issues.apache.org/jira/browse/KAFKA-1046 Repository: kafka Description --- This RB contains necessary changes to the kafka source code to support Scala 2.10.x while still maintaining support for Scala 2.8.x The existing cause of source incompatibility between 2.8.x and 2.10.x was primarily due to the use of implicit conversions in the scala.collection.JavaConversions object. Many of them where deprecated (and replaced with differently named methods) and the deprecated methods where removed in 2.10. I avoided the source incompatibility by importing the implicits with a wild card. Scala annotations moved to a different package in 2.9 and the reference to the old location was removed in 2.10. I couldn't think of a source compatible way to support both in Annotations.scala so since this source file is very small, I created two copies and configured sbt to use the one appropriate for when building for a particular Scala version. I also typed many of the catch block case statements with :Throwable. This change isn't required but starting with Scala 2.9, the compiler will emit warnings if the type is emitted. Otherwise case e = and case e: Throwable = are equivalent. Diffs (updated) - core/build.sbt c54cf44 core/src/main/scala/kafka/Kafka.scala dafb1ee core/src/main/scala/kafka/admin/AddPartitionsCommand.scala 5757c32 core/src/main/scala/kafka/admin/AdminUtils.scala c399bc7 core/src/main/scala/kafka/admin/CreateTopicCommand.scala 21c1186 core/src/main/scala/kafka/admin/DeleteTopicCommand.scala 3da4518 core/src/main/scala/kafka/admin/ListTopicCommand.scala c760cc0 core/src/main/scala/kafka/admin/PreferredReplicaLeaderElectionCommand.scala d5de5f3 core/src/main/scala/kafka/admin/ReassignPartitionsCommand.scala aa61fa1 core/src/main/scala/kafka/client/ClientUtils.scala cc526ec core/src/main/scala/kafka/cluster/Broker.scala b03dea2 core/src/main/scala/kafka/consumer/ConsoleConsumer.scala 719beb5 core/src/main/scala/kafka/consumer/ConsumerFetcherManager.scala fa6b213 core/src/main/scala/kafka/consumer/SimpleConsumer.scala 4395fe3 core/src/main/scala/kafka/consumer/TopicCount.scala c8e8406 core/src/main/scala/kafka/consumer/ZookeeperConsumerConnector.scala e7a692a core/src/main/scala/kafka/consumer/ZookeeperTopicEventWatcher.scala df83baa core/src/main/scala/kafka/controller/ControllerChannelManager.scala ed1ce0b core/src/main/scala/kafka/controller/KafkaController.scala ab18b7a core/src/main/scala/kafka/controller/PartitionStateMachine.scala a084830 core/src/main/scala/kafka/controller/ReplicaStateMachine.scala c964857 core/src/main/scala/kafka/javaapi/FetchRequest.scala b475240 core/src/main/scala/kafka/javaapi/Implicits.scala ee0a71d core/src/main/scala/kafka/javaapi/OffsetRequest.scala 1c77ff8 core/src/main/scala/kafka/javaapi/TopicMetadata.scala 97b6dcd core/src/main/scala/kafka/javaapi/TopicMetadataRequest.scala 5f80df7 core/src/main/scala/kafka/javaapi/consumer/ZookeeperConsumerConnector.scala 14c4c8a core/src/main/scala/kafka/javaapi/message/ByteBufferMessageSet.scala 0a95248 core/src/main/scala/kafka/javaapi/producer/Producer.scala 7265328 core/src/main/scala/kafka/log/LogManager.scala 4771d11 core/src/main/scala/kafka/network/BoundedByteBufferReceive.scala cab1864 core/src/main/scala/kafka/producer/SyncProducer.scala 306f200 core/src/main/scala/kafka/producer/async/DefaultEventHandler.scala 2e36d3b core/src/main/scala/kafka/producer/async/ProducerSendThread.scala 2b41a49 core/src/main/scala/kafka/server/AbstractFetcherThread.scala d5addb3 core/src/main/scala/kafka/server/KafkaApis.scala cd02aab core/src/main/scala/kafka/server/KafkaServerStartable.scala 5be65e9 core/src/main/scala/kafka/server/ReplicaManager.scala f551243 core/src/main/scala/kafka/server/ZookeeperLeaderElector.scala f1f0625 core/src/main/scala/kafka/tools/ImportZkOffsets.scala 55709b5 core/src/main/scala/kafka/tools/JmxTool.scala 7e424e7 core/src/main/scala/kafka/tools/MirrorMaker.scala 6fb545a core/src/main/scala/kafka/tools/SimpleConsumerShell.scala 3cfa384 core/src/main/scala/kafka/utils/Annotations.scala 28269eb core/src/main/scala/kafka/utils/Annotations_2.8.scala PRE-CREATION core/src/main/scala/kafka/utils/Annotations_2.9+.scala PRE-CREATION core/src/main/scala/kafka/utils/Json.scala f80b2cc core/src/main/scala/kafka/utils/Mx4jLoader.scala 64d84cc core/src/main/scala/kafka/utils/Pool.scala 9a86eab core/src/main/scala/kafka/utils/Utils.scala e83eb5f
Re: Review Request 14013: Added support for Scala 2.10 builds while maintaining compatibility with 2.8.x
On Sept. 8, 2013, 10:47 p.m., Jun Rao wrote: I am wondering if there is any performance degradation due to the changes in implicit conversion. Could you run kafka.perf.ProducerPerformance and see if there is any noticeable performance change with and w/o the patch? both should compile to similar byte code. Any extra work is done during compile time where the compiler must figure out which method should be invoked rather then being explicitly told by the source code. Over seven runs of the producer perf test using 1,000,000 messages, for before and after patch, I got 77180.93 and 77350.39 nMsg.sec. Performance between runs was kind of noisy so the delta (which actually improved) is well within the margin of error. On Sept. 8, 2013, 10:47 p.m., Jun Rao wrote: core/src/main/scala/kafka/javaapi/consumer/ZookeeperConsumerConnector.scala, lines 95-97 https://reviews.apache.org/r/14013/diff/3/?file=349538#file349538line95 Don't you need to specify the java return type explicitly here? This is not required as the the return type is defined in the trait which the class is extending On Sept. 8, 2013, 10:47 p.m., Jun Rao wrote: core/src/main/scala/kafka/controller/PartitionStateMachine.scala, lines 364-365 https://reviews.apache.org/r/14013/diff/3/?file=349531#file349531line364 Could you move the import of the JavaConversion to within this function to limit the scope of the implicit conversion? sure. On Sept. 8, 2013, 10:47 p.m., Jun Rao wrote: core/src/main/scala/kafka/utils/Annotations_2.9+.scala, lines 1-38 https://reviews.apache.org/r/14013/diff/3/?file=349557#file349557line1 How does this affect IDEs like Intellij? Are you able to build the project in IDE with both version of threadsafe annotation? I don't normally build with my IDE but I don't see any errors when I compile the project with Intellij (Build - Make project, which invokes an external scala compiler). I also didn't see any issues using the SBT plugin (which makes sense as all it is doing is opening a shell and running sbt). - Christopher --- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/14013/#review25979 --- On Sept. 8, 2013, 9:47 p.m., Christopher Freeman wrote: --- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/14013/ --- (Updated Sept. 8, 2013, 9:47 p.m.) Review request for kafka and Neha Narkhede. Bugs: KAFKA-1046 https://issues.apache.org/jira/browse/KAFKA-1046 Repository: kafka Description --- This RB contains necessary changes to the kafka source code to support Scala 2.10.x while still maintaining support for Scala 2.8.x The existing cause of source incompatibility between 2.8.x and 2.10.x was primarily due to the use of implicit conversions in the scala.collection.JavaConversions object. Many of them where deprecated (and replaced with differently named methods) and the deprecated methods where removed in 2.10. I avoided the source incompatibility by importing the implicits with a wild card. Scala annotations moved to a different package in 2.9 and the reference to the old location was removed in 2.10. I couldn't think of a source compatible way to support both in Annotations.scala so since this source file is very small, I created two copies and configured sbt to use the one appropriate for when building for a particular Scala version. I also typed many of the catch block case statements with :Throwable. This change isn't required but starting with Scala 2.9, the compiler will emit warnings if the type is emitted. Otherwise case e = and case e: Throwable = are equivalent. Diffs - core/build.sbt c54cf44 core/src/main/scala/kafka/Kafka.scala dafb1ee core/src/main/scala/kafka/admin/AddPartitionsCommand.scala 5757c32 core/src/main/scala/kafka/admin/AdminUtils.scala c399bc7 core/src/main/scala/kafka/admin/CreateTopicCommand.scala 21c1186 core/src/main/scala/kafka/admin/DeleteTopicCommand.scala 3da4518 core/src/main/scala/kafka/admin/ListTopicCommand.scala c760cc0 core/src/main/scala/kafka/admin/PreferredReplicaLeaderElectionCommand.scala d5de5f3 core/src/main/scala/kafka/admin/ReassignPartitionsCommand.scala aa61fa1 core/src/main/scala/kafka/client/ClientUtils.scala cc526ec core/src/main/scala/kafka/cluster/Broker.scala b03dea2 core/src/main/scala/kafka/consumer/ConsoleConsumer.scala 719beb5 core/src/main/scala/kafka/consumer/ConsumerFetcherManager.scala fa6b213 core/src/main/scala/kafka/consumer/SimpleConsumer.scala 4395fe3 core/src/main/scala/kafka/consumer/TopicCount.scala c8e8406
Re: Review Request 14013: Added support for Scala 2.10 builds while maintaining compatibility with 2.8.x
--- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/14013/ --- (Updated Sept. 9, 2013, 12:40 a.m.) Review request for kafka and Neha Narkhede. Changes --- addressed Jun's feedback Bugs: KAFKA-1046 https://issues.apache.org/jira/browse/KAFKA-1046 Repository: kafka Description --- This RB contains necessary changes to the kafka source code to support Scala 2.10.x while still maintaining support for Scala 2.8.x The existing cause of source incompatibility between 2.8.x and 2.10.x was primarily due to the use of implicit conversions in the scala.collection.JavaConversions object. Many of them where deprecated (and replaced with differently named methods) and the deprecated methods where removed in 2.10. I avoided the source incompatibility by importing the implicits with a wild card. Scala annotations moved to a different package in 2.9 and the reference to the old location was removed in 2.10. I couldn't think of a source compatible way to support both in Annotations.scala so since this source file is very small, I created two copies and configured sbt to use the one appropriate for when building for a particular Scala version. I also typed many of the catch block case statements with :Throwable. This change isn't required but starting with Scala 2.9, the compiler will emit warnings if the type is emitted. Otherwise case e = and case e: Throwable = are equivalent. Diffs (updated) - core/build.sbt c54cf44 core/src/main/scala/kafka/Kafka.scala dafb1ee core/src/main/scala/kafka/admin/AddPartitionsCommand.scala 5757c32 core/src/main/scala/kafka/admin/AdminUtils.scala c399bc7 core/src/main/scala/kafka/admin/CreateTopicCommand.scala 21c1186 core/src/main/scala/kafka/admin/DeleteTopicCommand.scala 3da4518 core/src/main/scala/kafka/admin/ListTopicCommand.scala c760cc0 core/src/main/scala/kafka/admin/PreferredReplicaLeaderElectionCommand.scala d5de5f3 core/src/main/scala/kafka/admin/ReassignPartitionsCommand.scala aa61fa1 core/src/main/scala/kafka/client/ClientUtils.scala cc526ec core/src/main/scala/kafka/cluster/Broker.scala b03dea2 core/src/main/scala/kafka/consumer/ConsoleConsumer.scala 719beb5 core/src/main/scala/kafka/consumer/ConsumerFetcherManager.scala fa6b213 core/src/main/scala/kafka/consumer/SimpleConsumer.scala 4395fe3 core/src/main/scala/kafka/consumer/TopicCount.scala c8e8406 core/src/main/scala/kafka/consumer/ZookeeperConsumerConnector.scala e7a692a core/src/main/scala/kafka/consumer/ZookeeperTopicEventWatcher.scala df83baa core/src/main/scala/kafka/controller/ControllerChannelManager.scala ed1ce0b core/src/main/scala/kafka/controller/KafkaController.scala ab18b7a core/src/main/scala/kafka/controller/PartitionStateMachine.scala a084830 core/src/main/scala/kafka/controller/ReplicaStateMachine.scala c964857 core/src/main/scala/kafka/javaapi/FetchRequest.scala b475240 core/src/main/scala/kafka/javaapi/Implicits.scala ee0a71d core/src/main/scala/kafka/javaapi/OffsetRequest.scala 1c77ff8 core/src/main/scala/kafka/javaapi/TopicMetadata.scala 97b6dcd core/src/main/scala/kafka/javaapi/TopicMetadataRequest.scala 5f80df7 core/src/main/scala/kafka/javaapi/consumer/ZookeeperConsumerConnector.scala 14c4c8a core/src/main/scala/kafka/javaapi/message/ByteBufferMessageSet.scala 0a95248 core/src/main/scala/kafka/javaapi/producer/Producer.scala 7265328 core/src/main/scala/kafka/log/LogManager.scala 4771d11 core/src/main/scala/kafka/network/BoundedByteBufferReceive.scala cab1864 core/src/main/scala/kafka/producer/SyncProducer.scala 306f200 core/src/main/scala/kafka/producer/async/DefaultEventHandler.scala 2e36d3b core/src/main/scala/kafka/producer/async/ProducerSendThread.scala 2b41a49 core/src/main/scala/kafka/server/AbstractFetcherThread.scala d5addb3 core/src/main/scala/kafka/server/KafkaApis.scala cd02aab core/src/main/scala/kafka/server/KafkaServerStartable.scala 5be65e9 core/src/main/scala/kafka/server/ReplicaManager.scala f551243 core/src/main/scala/kafka/server/ZookeeperLeaderElector.scala f1f0625 core/src/main/scala/kafka/tools/ImportZkOffsets.scala 55709b5 core/src/main/scala/kafka/tools/JmxTool.scala 7e424e7 core/src/main/scala/kafka/tools/MirrorMaker.scala 6fb545a core/src/main/scala/kafka/tools/SimpleConsumerShell.scala 3cfa384 core/src/main/scala/kafka/utils/Annotations.scala 28269eb core/src/main/scala/kafka/utils/Annotations_2.8.scala PRE-CREATION core/src/main/scala/kafka/utils/Annotations_2.9+.scala PRE-CREATION core/src/main/scala/kafka/utils/Json.scala f80b2cc core/src/main/scala/kafka/utils/Mx4jLoader.scala 64d84cc core/src/main/scala/kafka/utils/Pool.scala 9a86eab core/src/main/scala/kafka/utils/Utils.scala e83eb5f
Re: Review Request 14013: Added support for Scala 2.10 builds while maintaining compatibility with 2.8.x
--- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/14013/ --- (Updated Sept. 6, 2013, 8:04 p.m.) Review request for kafka and Neha Narkhede. Changes --- added kafka to group jira ticket is KAFKA-1046 Bugs: KAFKA-1046 https://issues.apache.org/jira/browse/KAFKA-1046 Repository: kafka Description --- This RB contains necessary changes to the kafka source code to support Scala 2.10.x while still maintaining support for Scala 2.8.x The existing cause of source incompatibility between 2.8.x and 2.10.x was primarily due to the use of implicit conversions in the scala.collection.JavaConversions object. Many of them where deprecated (and replaced with differently named methods) and the deprecated methods where removed in 2.10. I avoided the source incompatibility by importing the implicits with a wild card. Scala annotations moved to a different package in 2.9 and the reference to the old location was removed in 2.10. I couldn't think of a source compatible way to support both in Annotations.scala so since this source file is very small, I created two copies and configured sbt to use the one appropriate for when building for a particular Scala version. I also typed many of the catch block case statements with :Throwable. This change isn't required but starting with Scala 2.9, the compiler will emit warnings if the type is emitted. Otherwise case e = and case e: Throwable = are equivalent. Diffs - core/build.sbt c54cf443a5e22f86b2981ff1eb535467a5648739 core/src/main/scala/kafka/Kafka.scala dafb1ee78f2f28616e82d208692120350e9898b4 core/src/main/scala/kafka/admin/AdminUtils.scala 9ce89cd561a6bae94361c61aee7b9bd5093b2442 core/src/main/scala/kafka/admin/DeleteTopicCommand.scala 3da4518f5834bcc7574a83a492b6629dfca26a39 core/src/main/scala/kafka/admin/PreferredReplicaLeaderElectionCommand.scala 53fc433c7bd80c4f09cf69cbba25443adc708364 core/src/main/scala/kafka/admin/ReassignPartitionsCommand.scala 8d287f498b0061d6fa38268ec00de090f7cca516 core/src/main/scala/kafka/client/ClientUtils.scala cc526ec933052b239f0e7ce43e76cd9d011d5bd9 core/src/main/scala/kafka/cluster/Broker.scala 435c47348eb5889cd1f416ebbf874ab33a632741 core/src/main/scala/kafka/consumer/ConsoleConsumer.scala 140f2e33522803a67bc79d53f547b7cd15f11468 core/src/main/scala/kafka/consumer/ConsumerFetcherManager.scala 71ae640de202b54e1ea8d25d6b70d6078a8df0c5 core/src/main/scala/kafka/consumer/SimpleConsumer.scala 1c4e1da09a37c6a0fdc13bfb81e3ac2b529e4acc core/src/main/scala/kafka/consumer/TopicCount.scala c8e84065826cdedeca48ae92dec463c6e8569838 core/src/main/scala/kafka/consumer/ZookeeperConsumerConnector.scala e3a64204513467cef8917f501c3bc0e5b1db2e3e core/src/main/scala/kafka/consumer/ZookeeperTopicEventWatcher.scala df83baa050a02d6171b5d182ef80de4536304441 core/src/main/scala/kafka/controller/ControllerChannelManager.scala 38b867467bb2b5f9ece055c95f251e65aaad2fd1 core/src/main/scala/kafka/controller/KafkaController.scala 5ac38fd697695ade44727ff6980df4540aa4e042 core/src/main/scala/kafka/controller/PartitionStateMachine.scala deebed0a5d65b94c1bf24e92ebc7d031dff8cbc2 core/src/main/scala/kafka/controller/ReplicaStateMachine.scala 0c9d43602a38a5878d11c86979f0289c679734f7 core/src/main/scala/kafka/javaapi/FetchRequest.scala 83d8cbc97fafbf4edcc9139260efa971edb57c76 core/src/main/scala/kafka/javaapi/Implicits.scala 9a639140ca2f8151dcdfc40ac1eb32711db54598 core/src/main/scala/kafka/javaapi/OffsetCommitRequest.scala 32033d6a6634f33a48ef2b03734d45434b51ad8b core/src/main/scala/kafka/javaapi/OffsetCommitResponse.scala d1c50c46cf74b080eada293dc0023c24e437def5 core/src/main/scala/kafka/javaapi/OffsetFetchRequest.scala 64d134bec86e01387e32b6ee7882b5902544df9c core/src/main/scala/kafka/javaapi/OffsetFetchResponse.scala 9f83c1be65590fe019d679d5d703aaf4f53792c5 core/src/main/scala/kafka/javaapi/OffsetRequest.scala 3565a154e5269680c62baef06094418647f36648 core/src/main/scala/kafka/javaapi/TopicMetadata.scala 97b6dcdd1db8084f6598a5e2b2c4cc3d66fa219e core/src/main/scala/kafka/javaapi/TopicMetadataRequest.scala 5f80df7bd4dc015434b61f9efeb7ae2260ae6a5c core/src/main/scala/kafka/javaapi/consumer/ZookeeperConsumerConnector.scala 14c4c8ad0861694cad5b69f703d4dac1f55a2163 core/src/main/scala/kafka/javaapi/message/ByteBufferMessageSet.scala 0a952480b30377cdd394f1358a7ddb7d2683970f core/src/main/scala/kafka/javaapi/producer/Producer.scala 72653285607783577fc2a04480f00a1882312f22 core/src/main/scala/kafka/log/Log.scala 626eb8f48a1d2c44ecafa32242bd17c0a2c686ff core/src/main/scala/kafka/log/LogConfig.scala 48660bcd022cdd08db1168a354209728c695e683 core/src/main/scala/kafka/log/LogManager.scala d039f9d4148f7ece93bcbcbd846f3442eac1278e