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



clients/src/main/java/org/apache/kafka/clients/producer/KafkaProducer.java
<https://reviews.apache.org/r/31850/#comment130866>

    I cleaned up this javadoc a little bit to try to simplify things. With docs 
it is always hard to get the level of focus right so that it has the essential 
information but doesn't overload the user and obscure the primary thing.
    
    1. Changed "messages" to "records" (that is the terminology in the new 
clients).
    2. I significantly shortened the section on calling from within a callback. 
I think only 0.00001% of people would ever consider this.
    3. I cannot think of a reason why the user would care if the I/O thread is 
synchronously shutdown or not, and we don't make any promises one way or the 
other in the main close method, so let's just leave that bit out.
    
    What do you think of this:
       /**
         * This method waits up to <code>timeout</code> for the producer to 
complete the sending of all incomplete requests.
         * <p>
         * If the producer is unable to complete all requests before the 
timeout expires, this method will fail 
         * any unsent and unacknowledged records immediately.
         * <p>
         * If invoked from within a {@link Callback} this method will not block 
and will be equivalent to <code>close(0, TimeUnit.MILLISECONDS)</code>. This is 
done since no further sending will happen while blocking the I/O thread of the 
producer.
         * 
         * @param timeout The maximum time to wait for producer to complete any 
pending requests. The value should be
         *                non-negative. Specifying a timeout of zero means do 
not wait for pending send requests to complete.
         * @param timeUnit The time unit for the <code>timeout</code>
         * @throws InterruptException If the thread is interrupted while blocked
         * @throws IllegalArgumentException If the <code>timeout</code> is 
negative.
         */



clients/src/main/java/org/apache/kafka/clients/producer/internals/RecordAccumulator.java
<https://reviews.apache.org/r/31850/#comment130868>

    Read locks are very expensive. I am pretty worried about this. If we want 
to do this we need to do a pretty detailed examination of the perf impact.


- Jay Kreps


On April 16, 2015, 6:35 p.m., Jiangjie Qin wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/31850/
> -----------------------------------------------------------
> 
> (Updated April 16, 2015, 6:35 p.m.)
> 
> 
> Review request for kafka.
> 
> 
> Bugs: KAFKA-1660
>     https://issues.apache.org/jira/browse/KAFKA-1660
> 
> 
> Repository: kafka
> 
> 
> Description
> -------
> 
> A minor fix.
> 
> 
> Incorporated Guozhang's comments.
> 
> 
> Modify according to the latest conclusion.
> 
> 
> Patch for the finally passed KIP-15git status
> 
> 
> Addressed Joel and Guozhang's comments.
> 
> 
> rebased on trunk
> 
> 
> Rebase on trunk
> 
> 
> Addressed Joel's comments.
> 
> 
> Addressed Joel's comments
> 
> 
> Addressed Jay's comments
> 
> 
> Diffs
> -----
> 
>   clients/src/main/java/org/apache/kafka/clients/producer/KafkaProducer.java 
> b91e2c52ed0acb1faa85915097d97bafa28c413a 
>   clients/src/main/java/org/apache/kafka/clients/producer/MockProducer.java 
> 6913090af03a455452b0b5c3df78f266126b3854 
>   clients/src/main/java/org/apache/kafka/clients/producer/Producer.java 
> 5b3e75ed83a940bc922f9eca10d4008d67aa37c9 
>   
> clients/src/main/java/org/apache/kafka/clients/producer/internals/RecordAccumulator.java
>  0e7ab29a07301309aa8ca5b75b32b8e05ddc3a94 
>   
> clients/src/main/java/org/apache/kafka/clients/producer/internals/Sender.java 
> 70954cadb5c7e9a4c326afcf9d9a07db230e7db2 
>   
> clients/src/main/java/org/apache/kafka/common/errors/InterruptException.java 
> fee322fa0dd9704374db4a6964246a7d2918d3e4 
>   clients/src/main/java/org/apache/kafka/common/serialization/Serializer.java 
> c2fdc23239bd2196cd912c3d121b591f21393eab 
>   
> clients/src/test/java/org/apache/kafka/clients/producer/internals/RecordAccumulatorTest.java
>  05e2929c0a9fc8cf2a8ebe0776ca62d5f3962d5c 
>   core/src/test/scala/integration/kafka/api/ProducerSendTest.scala 
> 9811a2b2b1e9bf1beb301138f7626e12d275a8db 
> 
> Diff: https://reviews.apache.org/r/31850/diff/
> 
> 
> Testing
> -------
> 
> Unit tests passed.
> 
> 
> Thanks,
> 
> Jiangjie Qin
> 
>

Reply via email to