You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kafka.apache.org by Jay Kreps <bo...@gmail.com> on 2015/02/26 19:37:25 UTC
Re: Review Request 30763: KAFKA-1865: add flush to producer
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/30763/
-----------------------------------------------------------
(Updated Feb. 26, 2015, 6:37 p.m.)
Review request for kafka.
Summary (updated)
-----------------
KAFKA-1865: add flush to producer
Bugs: KAFKA-1865
https://issues.apache.org/jira/browse/KAFKA-1865
Repository: kafka
Description
-------
KAFKA-1865 Add a flush() method to the producer.
Diffs (updated)
-----
clients/src/main/java/org/apache/kafka/clients/Metadata.java e8afecda956303a6ee116499fd443a54c018e17d
clients/src/main/java/org/apache/kafka/clients/producer/KafkaProducer.java 1fd6917c8a5131254c740abad7f7228a47e3628c
clients/src/main/java/org/apache/kafka/clients/producer/MockProducer.java 84530f2b948f9abd74203db48707e490dd9c81a5
clients/src/main/java/org/apache/kafka/clients/producer/Producer.java 17fe541588d462c68c33f6209717cc4015e9b62f
clients/src/main/java/org/apache/kafka/clients/producer/ProducerRecord.java 4990692efa6f01c62e1d7b05fbf31bec50e398c9
clients/src/main/java/org/apache/kafka/clients/producer/internals/FutureRecordMetadata.java 4a2da41f47994f778109e3c4107ffd90195f0bae
clients/src/main/java/org/apache/kafka/clients/producer/internals/RecordAccumulator.java ecfe2144d778a5d9b614df5278b9f0a15637f10b
clients/src/main/java/org/apache/kafka/clients/producer/internals/RecordBatch.java dd0af8aee98abed5d4a0dc50989e37888bb353fe
clients/src/main/java/org/apache/kafka/common/errors/InterruptException.java PRE-CREATION
clients/src/main/java/org/apache/kafka/common/utils/SystemTime.java d682bd46ec3826f0a72388cc4ec30e1b1223d0f3
clients/src/test/java/org/apache/kafka/clients/producer/BufferPoolTest.java 4ae43ed47e31ad8052b4348a731da11120968508
clients/src/test/java/org/apache/kafka/clients/producer/MetadataTest.java 743aa7e523dd476949f484bfa4c7fb8a3afd7bf8
clients/src/test/java/org/apache/kafka/clients/producer/MockProducerTest.java 75513b0bdd439329c5771d87436ef83fda853bfb
clients/src/test/java/org/apache/kafka/clients/producer/PartitionerTest.java 404bedb3dc4e44cc79251d71e1e3f8efdab60efa
clients/src/test/java/org/apache/kafka/clients/producer/RecordAccumulatorTest.java 83338633717cfa4ef7cf2a590b5aa6b9c8cb1dd2
clients/src/test/java/org/apache/kafka/clients/producer/SenderTest.java 558942aaecd1b9f7098435d39aa4b362cd16ff0a
core/src/test/scala/integration/kafka/api/ConsumerTest.scala 2802a399bf599e9530f53b7df72f12702a10d3c4
core/src/test/scala/integration/kafka/api/ProducerSendTest.scala b15237b76def3b234924280fa3fdb25dbb0cc0dc
core/src/test/scala/unit/kafka/utils/TestUtils.scala 21d0ed2cb7c9459261d3cdc7c21dece5e2079698
Diff: https://reviews.apache.org/r/30763/diff/
Testing
-------
The latest patch uses Jiangjie's suggestion to remove the synchronization on flush.
Thanks,
Jay Kreps
Re: Review Request 30763: KAFKA-1865: add flush to producer
Posted by Jay Kreps <bo...@gmail.com>.
> On Feb. 26, 2015, 7:15 p.m., Jun Rao wrote:
> > clients/src/test/java/org/apache/kafka/clients/producer/MetadataTest.java, line 87
> > <https://reviews.apache.org/r/30763/diff/6/?file=878560#file878560line87>
> >
> > Do we really want to print the stack trace?
I think so, we are not expecting an exception so we want to know if there is one rather than swallowing it, right?
- Jay
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/30763/#review74332
-----------------------------------------------------------
On Feb. 26, 2015, 6:40 p.m., Jay Kreps wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/30763/
> -----------------------------------------------------------
>
> (Updated Feb. 26, 2015, 6:40 p.m.)
>
>
> Review request for kafka.
>
>
> Bugs: KAFKA-1865
> https://issues.apache.org/jira/browse/KAFKA-1865
>
>
> Repository: kafka
>
>
> Description
> -------
>
> KAFKA-1865 Add a flush() method to the producer.
>
>
> Diffs
> -----
>
> clients/src/main/java/org/apache/kafka/clients/Metadata.java e8afecda956303a6ee116499fd443a54c018e17d
> clients/src/main/java/org/apache/kafka/clients/producer/KafkaProducer.java 1fd6917c8a5131254c740abad7f7228a47e3628c
> clients/src/main/java/org/apache/kafka/clients/producer/MockProducer.java 84530f2b948f9abd74203db48707e490dd9c81a5
> clients/src/main/java/org/apache/kafka/clients/producer/Producer.java 17fe541588d462c68c33f6209717cc4015e9b62f
> clients/src/main/java/org/apache/kafka/clients/producer/ProducerRecord.java 4990692efa6f01c62e1d7b05fbf31bec50e398c9
> clients/src/main/java/org/apache/kafka/clients/producer/internals/FutureRecordMetadata.java 4a2da41f47994f778109e3c4107ffd90195f0bae
> clients/src/main/java/org/apache/kafka/clients/producer/internals/RecordAccumulator.java ecfe2144d778a5d9b614df5278b9f0a15637f10b
> clients/src/main/java/org/apache/kafka/clients/producer/internals/RecordBatch.java dd0af8aee98abed5d4a0dc50989e37888bb353fe
> clients/src/main/java/org/apache/kafka/common/errors/InterruptException.java PRE-CREATION
> clients/src/main/java/org/apache/kafka/common/utils/SystemTime.java d682bd46ec3826f0a72388cc4ec30e1b1223d0f3
> clients/src/test/java/org/apache/kafka/clients/producer/BufferPoolTest.java 4ae43ed47e31ad8052b4348a731da11120968508
> clients/src/test/java/org/apache/kafka/clients/producer/MetadataTest.java 743aa7e523dd476949f484bfa4c7fb8a3afd7bf8
> clients/src/test/java/org/apache/kafka/clients/producer/MockProducerTest.java 75513b0bdd439329c5771d87436ef83fda853bfb
> clients/src/test/java/org/apache/kafka/clients/producer/PartitionerTest.java 404bedb3dc4e44cc79251d71e1e3f8efdab60efa
> clients/src/test/java/org/apache/kafka/clients/producer/RecordAccumulatorTest.java 83338633717cfa4ef7cf2a590b5aa6b9c8cb1dd2
> clients/src/test/java/org/apache/kafka/clients/producer/SenderTest.java 558942aaecd1b9f7098435d39aa4b362cd16ff0a
> core/src/test/scala/integration/kafka/api/ConsumerTest.scala 2802a399bf599e9530f53b7df72f12702a10d3c4
> core/src/test/scala/integration/kafka/api/ProducerSendTest.scala b15237b76def3b234924280fa3fdb25dbb0cc0dc
> core/src/test/scala/unit/kafka/utils/TestUtils.scala 21d0ed2cb7c9459261d3cdc7c21dece5e2079698
>
> Diff: https://reviews.apache.org/r/30763/diff/
>
>
> Testing
> -------
>
> The latest patch uses Jiangjie's suggestion to remove the synchronization on flush.
>
> Fixed the boolean logic in the unit test as per Jun's suggestion.
>
>
> Thanks,
>
> Jay Kreps
>
>
Re: Review Request 30763: KAFKA-1865: add flush to producer
Posted by Jun Rao <ju...@gmail.com>.
> On Feb. 26, 2015, 7:15 p.m., Jun Rao wrote:
> > clients/src/test/java/org/apache/kafka/clients/producer/MetadataTest.java, line 87
> > <https://reviews.apache.org/r/30763/diff/6/?file=878560#file878560line87>
> >
> > Do we really want to print the stack trace?
>
> Jay Kreps wrote:
> I think so, we are not expecting an exception so we want to know if there is one rather than swallowing it, right?
If the test passes, people may not look at the output of the unit test. Perhaps we can set some state in this case and assert on it in the unit test thread?
- Jun
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/30763/#review74332
-----------------------------------------------------------
On Feb. 26, 2015, 6:40 p.m., Jay Kreps wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/30763/
> -----------------------------------------------------------
>
> (Updated Feb. 26, 2015, 6:40 p.m.)
>
>
> Review request for kafka.
>
>
> Bugs: KAFKA-1865
> https://issues.apache.org/jira/browse/KAFKA-1865
>
>
> Repository: kafka
>
>
> Description
> -------
>
> KAFKA-1865 Add a flush() method to the producer.
>
>
> Diffs
> -----
>
> clients/src/main/java/org/apache/kafka/clients/Metadata.java e8afecda956303a6ee116499fd443a54c018e17d
> clients/src/main/java/org/apache/kafka/clients/producer/KafkaProducer.java 1fd6917c8a5131254c740abad7f7228a47e3628c
> clients/src/main/java/org/apache/kafka/clients/producer/MockProducer.java 84530f2b948f9abd74203db48707e490dd9c81a5
> clients/src/main/java/org/apache/kafka/clients/producer/Producer.java 17fe541588d462c68c33f6209717cc4015e9b62f
> clients/src/main/java/org/apache/kafka/clients/producer/ProducerRecord.java 4990692efa6f01c62e1d7b05fbf31bec50e398c9
> clients/src/main/java/org/apache/kafka/clients/producer/internals/FutureRecordMetadata.java 4a2da41f47994f778109e3c4107ffd90195f0bae
> clients/src/main/java/org/apache/kafka/clients/producer/internals/RecordAccumulator.java ecfe2144d778a5d9b614df5278b9f0a15637f10b
> clients/src/main/java/org/apache/kafka/clients/producer/internals/RecordBatch.java dd0af8aee98abed5d4a0dc50989e37888bb353fe
> clients/src/main/java/org/apache/kafka/common/errors/InterruptException.java PRE-CREATION
> clients/src/main/java/org/apache/kafka/common/utils/SystemTime.java d682bd46ec3826f0a72388cc4ec30e1b1223d0f3
> clients/src/test/java/org/apache/kafka/clients/producer/BufferPoolTest.java 4ae43ed47e31ad8052b4348a731da11120968508
> clients/src/test/java/org/apache/kafka/clients/producer/MetadataTest.java 743aa7e523dd476949f484bfa4c7fb8a3afd7bf8
> clients/src/test/java/org/apache/kafka/clients/producer/MockProducerTest.java 75513b0bdd439329c5771d87436ef83fda853bfb
> clients/src/test/java/org/apache/kafka/clients/producer/PartitionerTest.java 404bedb3dc4e44cc79251d71e1e3f8efdab60efa
> clients/src/test/java/org/apache/kafka/clients/producer/RecordAccumulatorTest.java 83338633717cfa4ef7cf2a590b5aa6b9c8cb1dd2
> clients/src/test/java/org/apache/kafka/clients/producer/SenderTest.java 558942aaecd1b9f7098435d39aa4b362cd16ff0a
> core/src/test/scala/integration/kafka/api/ConsumerTest.scala 2802a399bf599e9530f53b7df72f12702a10d3c4
> core/src/test/scala/integration/kafka/api/ProducerSendTest.scala b15237b76def3b234924280fa3fdb25dbb0cc0dc
> core/src/test/scala/unit/kafka/utils/TestUtils.scala 21d0ed2cb7c9459261d3cdc7c21dece5e2079698
>
> Diff: https://reviews.apache.org/r/30763/diff/
>
>
> Testing
> -------
>
> The latest patch uses Jiangjie's suggestion to remove the synchronization on flush.
>
> Fixed the boolean logic in the unit test as per Jun's suggestion.
>
>
> Thanks,
>
> Jay Kreps
>
>
Re: Review Request 30763: KAFKA-1865: add flush to producer
Posted by Jay Kreps <bo...@gmail.com>.
> On Feb. 26, 2015, 7:15 p.m., Jun Rao wrote:
> > clients/src/test/java/org/apache/kafka/clients/producer/MetadataTest.java, line 87
> > <https://reviews.apache.org/r/30763/diff/6/?file=878560#file878560line87>
> >
> > Do we really want to print the stack trace?
>
> Jay Kreps wrote:
> I think so, we are not expecting an exception so we want to know if there is one rather than swallowing it, right?
>
> Jun Rao wrote:
> If the test passes, people may not look at the output of the unit test. Perhaps we can set some state in this case and assert on it in the unit test thread?
Cool, I'll do that.
- Jay
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/30763/#review74332
-----------------------------------------------------------
On Feb. 26, 2015, 6:40 p.m., Jay Kreps wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/30763/
> -----------------------------------------------------------
>
> (Updated Feb. 26, 2015, 6:40 p.m.)
>
>
> Review request for kafka.
>
>
> Bugs: KAFKA-1865
> https://issues.apache.org/jira/browse/KAFKA-1865
>
>
> Repository: kafka
>
>
> Description
> -------
>
> KAFKA-1865 Add a flush() method to the producer.
>
>
> Diffs
> -----
>
> clients/src/main/java/org/apache/kafka/clients/Metadata.java e8afecda956303a6ee116499fd443a54c018e17d
> clients/src/main/java/org/apache/kafka/clients/producer/KafkaProducer.java 1fd6917c8a5131254c740abad7f7228a47e3628c
> clients/src/main/java/org/apache/kafka/clients/producer/MockProducer.java 84530f2b948f9abd74203db48707e490dd9c81a5
> clients/src/main/java/org/apache/kafka/clients/producer/Producer.java 17fe541588d462c68c33f6209717cc4015e9b62f
> clients/src/main/java/org/apache/kafka/clients/producer/ProducerRecord.java 4990692efa6f01c62e1d7b05fbf31bec50e398c9
> clients/src/main/java/org/apache/kafka/clients/producer/internals/FutureRecordMetadata.java 4a2da41f47994f778109e3c4107ffd90195f0bae
> clients/src/main/java/org/apache/kafka/clients/producer/internals/RecordAccumulator.java ecfe2144d778a5d9b614df5278b9f0a15637f10b
> clients/src/main/java/org/apache/kafka/clients/producer/internals/RecordBatch.java dd0af8aee98abed5d4a0dc50989e37888bb353fe
> clients/src/main/java/org/apache/kafka/common/errors/InterruptException.java PRE-CREATION
> clients/src/main/java/org/apache/kafka/common/utils/SystemTime.java d682bd46ec3826f0a72388cc4ec30e1b1223d0f3
> clients/src/test/java/org/apache/kafka/clients/producer/BufferPoolTest.java 4ae43ed47e31ad8052b4348a731da11120968508
> clients/src/test/java/org/apache/kafka/clients/producer/MetadataTest.java 743aa7e523dd476949f484bfa4c7fb8a3afd7bf8
> clients/src/test/java/org/apache/kafka/clients/producer/MockProducerTest.java 75513b0bdd439329c5771d87436ef83fda853bfb
> clients/src/test/java/org/apache/kafka/clients/producer/PartitionerTest.java 404bedb3dc4e44cc79251d71e1e3f8efdab60efa
> clients/src/test/java/org/apache/kafka/clients/producer/RecordAccumulatorTest.java 83338633717cfa4ef7cf2a590b5aa6b9c8cb1dd2
> clients/src/test/java/org/apache/kafka/clients/producer/SenderTest.java 558942aaecd1b9f7098435d39aa4b362cd16ff0a
> core/src/test/scala/integration/kafka/api/ConsumerTest.scala 2802a399bf599e9530f53b7df72f12702a10d3c4
> core/src/test/scala/integration/kafka/api/ProducerSendTest.scala b15237b76def3b234924280fa3fdb25dbb0cc0dc
> core/src/test/scala/unit/kafka/utils/TestUtils.scala 21d0ed2cb7c9459261d3cdc7c21dece5e2079698
>
> Diff: https://reviews.apache.org/r/30763/diff/
>
>
> Testing
> -------
>
> The latest patch uses Jiangjie's suggestion to remove the synchronization on flush.
>
> Fixed the boolean logic in the unit test as per Jun's suggestion.
>
>
> Thanks,
>
> Jay Kreps
>
>
Re: Review Request 30763: KAFKA-1865: add flush to producer
Posted by Jun Rao <ju...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/30763/#review74332
-----------------------------------------------------------
Ship it!
Looks good to me. Just a couple of minor comments.
clients/src/main/java/org/apache/kafka/clients/producer/KafkaProducer.java
<https://reviews.apache.org/r/30763/#comment120899>
We should remove this comment, right?
clients/src/test/java/org/apache/kafka/clients/producer/MetadataTest.java
<https://reviews.apache.org/r/30763/#comment120901>
Do we really want to print the stack trace?
- Jun Rao
On Feb. 26, 2015, 6:40 p.m., Jay Kreps wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/30763/
> -----------------------------------------------------------
>
> (Updated Feb. 26, 2015, 6:40 p.m.)
>
>
> Review request for kafka.
>
>
> Bugs: KAFKA-1865
> https://issues.apache.org/jira/browse/KAFKA-1865
>
>
> Repository: kafka
>
>
> Description
> -------
>
> KAFKA-1865 Add a flush() method to the producer.
>
>
> Diffs
> -----
>
> clients/src/main/java/org/apache/kafka/clients/Metadata.java e8afecda956303a6ee116499fd443a54c018e17d
> clients/src/main/java/org/apache/kafka/clients/producer/KafkaProducer.java 1fd6917c8a5131254c740abad7f7228a47e3628c
> clients/src/main/java/org/apache/kafka/clients/producer/MockProducer.java 84530f2b948f9abd74203db48707e490dd9c81a5
> clients/src/main/java/org/apache/kafka/clients/producer/Producer.java 17fe541588d462c68c33f6209717cc4015e9b62f
> clients/src/main/java/org/apache/kafka/clients/producer/ProducerRecord.java 4990692efa6f01c62e1d7b05fbf31bec50e398c9
> clients/src/main/java/org/apache/kafka/clients/producer/internals/FutureRecordMetadata.java 4a2da41f47994f778109e3c4107ffd90195f0bae
> clients/src/main/java/org/apache/kafka/clients/producer/internals/RecordAccumulator.java ecfe2144d778a5d9b614df5278b9f0a15637f10b
> clients/src/main/java/org/apache/kafka/clients/producer/internals/RecordBatch.java dd0af8aee98abed5d4a0dc50989e37888bb353fe
> clients/src/main/java/org/apache/kafka/common/errors/InterruptException.java PRE-CREATION
> clients/src/main/java/org/apache/kafka/common/utils/SystemTime.java d682bd46ec3826f0a72388cc4ec30e1b1223d0f3
> clients/src/test/java/org/apache/kafka/clients/producer/BufferPoolTest.java 4ae43ed47e31ad8052b4348a731da11120968508
> clients/src/test/java/org/apache/kafka/clients/producer/MetadataTest.java 743aa7e523dd476949f484bfa4c7fb8a3afd7bf8
> clients/src/test/java/org/apache/kafka/clients/producer/MockProducerTest.java 75513b0bdd439329c5771d87436ef83fda853bfb
> clients/src/test/java/org/apache/kafka/clients/producer/PartitionerTest.java 404bedb3dc4e44cc79251d71e1e3f8efdab60efa
> clients/src/test/java/org/apache/kafka/clients/producer/RecordAccumulatorTest.java 83338633717cfa4ef7cf2a590b5aa6b9c8cb1dd2
> clients/src/test/java/org/apache/kafka/clients/producer/SenderTest.java 558942aaecd1b9f7098435d39aa4b362cd16ff0a
> core/src/test/scala/integration/kafka/api/ConsumerTest.scala 2802a399bf599e9530f53b7df72f12702a10d3c4
> core/src/test/scala/integration/kafka/api/ProducerSendTest.scala b15237b76def3b234924280fa3fdb25dbb0cc0dc
> core/src/test/scala/unit/kafka/utils/TestUtils.scala 21d0ed2cb7c9459261d3cdc7c21dece5e2079698
>
> Diff: https://reviews.apache.org/r/30763/diff/
>
>
> Testing
> -------
>
> The latest patch uses Jiangjie's suggestion to remove the synchronization on flush.
>
> Fixed the boolean logic in the unit test as per Jun's suggestion.
>
>
> Thanks,
>
> Jay Kreps
>
>
Re: Review Request 30763: KAFKA-1865: add flush to producer
Posted by Jay Kreps <bo...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/30763/
-----------------------------------------------------------
(Updated Feb. 26, 2015, 6:40 p.m.)
Review request for kafka.
Bugs: KAFKA-1865
https://issues.apache.org/jira/browse/KAFKA-1865
Repository: kafka
Description
-------
KAFKA-1865 Add a flush() method to the producer.
Diffs
-----
clients/src/main/java/org/apache/kafka/clients/Metadata.java e8afecda956303a6ee116499fd443a54c018e17d
clients/src/main/java/org/apache/kafka/clients/producer/KafkaProducer.java 1fd6917c8a5131254c740abad7f7228a47e3628c
clients/src/main/java/org/apache/kafka/clients/producer/MockProducer.java 84530f2b948f9abd74203db48707e490dd9c81a5
clients/src/main/java/org/apache/kafka/clients/producer/Producer.java 17fe541588d462c68c33f6209717cc4015e9b62f
clients/src/main/java/org/apache/kafka/clients/producer/ProducerRecord.java 4990692efa6f01c62e1d7b05fbf31bec50e398c9
clients/src/main/java/org/apache/kafka/clients/producer/internals/FutureRecordMetadata.java 4a2da41f47994f778109e3c4107ffd90195f0bae
clients/src/main/java/org/apache/kafka/clients/producer/internals/RecordAccumulator.java ecfe2144d778a5d9b614df5278b9f0a15637f10b
clients/src/main/java/org/apache/kafka/clients/producer/internals/RecordBatch.java dd0af8aee98abed5d4a0dc50989e37888bb353fe
clients/src/main/java/org/apache/kafka/common/errors/InterruptException.java PRE-CREATION
clients/src/main/java/org/apache/kafka/common/utils/SystemTime.java d682bd46ec3826f0a72388cc4ec30e1b1223d0f3
clients/src/test/java/org/apache/kafka/clients/producer/BufferPoolTest.java 4ae43ed47e31ad8052b4348a731da11120968508
clients/src/test/java/org/apache/kafka/clients/producer/MetadataTest.java 743aa7e523dd476949f484bfa4c7fb8a3afd7bf8
clients/src/test/java/org/apache/kafka/clients/producer/MockProducerTest.java 75513b0bdd439329c5771d87436ef83fda853bfb
clients/src/test/java/org/apache/kafka/clients/producer/PartitionerTest.java 404bedb3dc4e44cc79251d71e1e3f8efdab60efa
clients/src/test/java/org/apache/kafka/clients/producer/RecordAccumulatorTest.java 83338633717cfa4ef7cf2a590b5aa6b9c8cb1dd2
clients/src/test/java/org/apache/kafka/clients/producer/SenderTest.java 558942aaecd1b9f7098435d39aa4b362cd16ff0a
core/src/test/scala/integration/kafka/api/ConsumerTest.scala 2802a399bf599e9530f53b7df72f12702a10d3c4
core/src/test/scala/integration/kafka/api/ProducerSendTest.scala b15237b76def3b234924280fa3fdb25dbb0cc0dc
core/src/test/scala/unit/kafka/utils/TestUtils.scala 21d0ed2cb7c9459261d3cdc7c21dece5e2079698
Diff: https://reviews.apache.org/r/30763/diff/
Testing (updated)
-------
The latest patch uses Jiangjie's suggestion to remove the synchronization on flush.
Fixed the boolean logic in the unit test as per Jun's suggestion.
Thanks,
Jay Kreps