----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/22874/ -----------------------------------------------------------
(Updated June 30, 2014, 5:47 p.m.) Review request for kafka. Bugs: KAFKA-1498 https://issues.apache.org/jira/browse/KAFKA-1498 Repository: kafka Description (updated) ------- 1. Use a size limit on the memory records to guard too-large message cases; 2. Caller thread check partition readiness due to batch size upon append, and only wake up sender when the appended partition is ready; 3. Sender thread select time based on the partition readiness timeout and metadata timeout. 4. Mirror maker to use one blocking queue per producer thread. 5. The select time in NetworkClient is minimum of the partition readiness (if there is no data at all will be Long.MAX_VALUE) and metadata expiry timeout, hence upper bounded by the metadata age; On the other hand when the appended batch is full or a new batch is created, the producer thread will wake up the network thread. 6. Also fixed a transient test bug in SocketServerTest and speed-up the testNoResponse case of ProducerFailureHandling. 7. Other minor fixes. Diffs (updated) ----- clients/src/main/java/org/apache/kafka/clients/NetworkClient.java 522881c972ca42ff4dfb6237a2db15b625334d7e clients/src/main/java/org/apache/kafka/clients/producer/KafkaProducer.java 00775abbcac850b0f2bb9a70b6fbc7cdf319bcf6 clients/src/main/java/org/apache/kafka/clients/producer/internals/Metadata.java 57bc285c20b5af8957bcc5322cd75c021a5af215 clients/src/main/java/org/apache/kafka/clients/producer/internals/RecordAccumulator.java 1ed3c28b436d28381d9402896e32d16f2586c65e clients/src/main/java/org/apache/kafka/clients/producer/internals/Sender.java 6fb5b82dedb48d946d1ac1ec7a535bddfdc693fa clients/src/main/java/org/apache/kafka/common/record/MemoryRecords.java 759f577eaf0e7d28a84926d4aa30f4ef0cb27bc2 clients/src/test/java/org/apache/kafka/clients/NetworkClientTest.java 6a3cdcc1f2542479f37bc339baca87464c01e84e clients/src/test/java/org/apache/kafka/clients/producer/MetadataTest.java 8b4ac0f9a59b4f2e67e48e6d9b0d9fe340f77166 clients/src/test/java/org/apache/kafka/clients/producer/RecordAccumulatorTest.java 93b58d02eac0f8ca28440e3e0ebea28ed3a7673c clients/src/test/java/org/apache/kafka/clients/producer/SenderTest.java 5489acac6806b3ae5e6d568d401d5a20c86cac05 core/src/main/scala/kafka/tools/MirrorMaker.scala 763839157d9736f15110072bcae93fc7fdc33f55 core/src/test/scala/integration/kafka/api/ProducerFailureHandlingTest.scala d1464447c65231abeaa52e94d5a48cf62f054881 core/src/test/scala/unit/kafka/network/SocketServerTest.scala 62fb02cf02d3876b9804d756c4bf8514554cc836 Diff: https://reviews.apache.org/r/22874/diff/ Testing ------- Thanks, Guozhang Wang