-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/33552/
-----------------------------------------------------------

(Updated May 5, 2015, 12:19 a.m.)


Review request for kafka.


Bugs: KAFKA-2142
    https://issues.apache.org/jira/browse/KAFKA-2142


Repository: kafka


Description (updated)
-------

Somehow lost the comments when used kafka-patch-review tool... Adding them back.

This patch tries to solve the following issues:

1. Linger.ms is not honored - If partition A of node1 is not ready but partiton 
B is ready, data of partiton A will also be sent out.
2. Retry backoff is not honord - A retry batch could wait for another linger.ms 
instead of retry.backoff.ms

Changed the following behavior:
1. Drain the data then check when next time data will be ready.
2. If a metadata refresh is needed or in progress, send no further data.
3. Only refresh metadata if we have a partition with data to send but we don't 
know its leader.

Added the following behavior:
1. Expire a batch if its leader is unknown for metadata timeout.


Diffs
-----

  clients/src/main/java/org/apache/kafka/clients/Metadata.java 
07f1cdb1fe920b0c7a5f2d101ddc40c689e1b247 
  clients/src/main/java/org/apache/kafka/clients/NetworkClient.java 
b7ae595f2cc46e5dfe728bc3ce6082e9cd0b6d36 
  clients/src/main/java/org/apache/kafka/clients/consumer/KafkaConsumer.java 
d301be4709f7b112e1f3a39f3c04cfa65f00fa60 
  clients/src/main/java/org/apache/kafka/clients/producer/KafkaProducer.java 
42b12928781463b56fc4a45d96bb4da2745b6d95 
  
clients/src/main/java/org/apache/kafka/clients/producer/internals/RecordAccumulator.java
 49a98838767615dd952da20825f6985698137710 
  
clients/src/main/java/org/apache/kafka/clients/producer/internals/RecordBatch.java
 06182db1c3a5da85648199b4c0c98b80ea7c6c0c 
  clients/src/main/java/org/apache/kafka/clients/producer/internals/Sender.java 
b2db91ca14bbd17fef5ce85839679144fff3f689 
  clients/src/test/java/org/apache/kafka/clients/MetadataTest.java 
928087d29deb80655ca83726c1ebc45d76468c1f 
  clients/src/test/java/org/apache/kafka/clients/NetworkClientTest.java 
8b278892883e63899b53e15efb9d8c926131e858 
  
clients/src/test/java/org/apache/kafka/clients/consumer/internals/CoordinatorTest.java
 b06c4a73e2b4e9472cd772c8bc32bf4a29f431bb 
  
clients/src/test/java/org/apache/kafka/clients/consumer/internals/FetcherTest.java
 419541011d652becf0cda7a5e62ce813cddb1732 
  
clients/src/test/java/org/apache/kafka/clients/producer/internals/RecordAccumulatorTest.java
 baa48e7c1b7ac5da8f3aca29f653c3fff88f8009 
  
clients/src/test/java/org/apache/kafka/clients/producer/internals/SenderTest.java
 8b1805d3d2bcb9fe2bacb37d870c3236aa9532c4 
  clients/src/test/resources/log4j.properties 
b1d5b7f2b4091040bdcfb0a60fd58111179f45a0 
  core/src/test/resources/log4j.properties 
1b7d5d8f7d5fae7d272849715714781cad05d77b 

Diff: https://reviews.apache.org/r/33552/diff/


Testing
-------

Unit Test passed.


Thanks,

Jiangjie Qin

Reply via email to