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 2014/02/04 02:41:49 UTC

Review Request 17688: API refactoring for new producer

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

Review request for kafka.


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


Repository: kafka


Description
-------

Implement a few of the API suggestions from the mailing list.


Diffs
-----

  clients/src/main/java/kafka/clients/producer/Callback.java 47e5af31515e6f9879f5c24749f3a795d30e4192 
  clients/src/main/java/kafka/clients/producer/DefaultPartitioner.java b82fcfbe1a00fed1cfe2bc9ba72e1d6e2b5f767b 
  clients/src/main/java/kafka/clients/producer/KafkaProducer.java 58eee0c3236179ddf86e9d04848a29caf050eabc 
  clients/src/main/java/kafka/clients/producer/MockProducer.java 2ea2030dc2b3f052f490f1c66adccfcab21619de 
  clients/src/main/java/kafka/clients/producer/Partitioner.java 1b8e51f6aef0e15c81668514623f44d58ea0e9d5 
  clients/src/main/java/kafka/clients/producer/Producer.java 6ba66339d741986faa4831e65082b4af683180c1 
  clients/src/main/java/kafka/clients/producer/ProducerConfig.java 97582933c8d7de31fdfabcfb1540a7941ae254c4 
  clients/src/main/java/kafka/clients/producer/ProducerRecord.java 5fddbef92e542b3cb830df74e88fd8ae3f808dee 
  clients/src/main/java/kafka/clients/producer/RecordMetadata.java PRE-CREATION 
  clients/src/main/java/kafka/clients/producer/RecordSend.java 1883dabc3a9830d362dc865112f20910881f9354 
  clients/src/main/java/kafka/clients/producer/internals/FutureRecordMetadata.java PRE-CREATION 
  clients/src/main/java/kafka/clients/producer/internals/Partitioner.java PRE-CREATION 
  clients/src/main/java/kafka/clients/producer/internals/ProduceRequestResult.java 1049b61625d486f48194370178486cc9f08e1605 
  clients/src/main/java/kafka/clients/producer/internals/RecordAccumulator.java a2b536c3447e69588fcd6b9c5f94df3806d330f9 
  clients/src/main/java/kafka/clients/producer/internals/RecordBatch.java 4a536a29408f898736fa3d08959adf42d4a53973 
  clients/src/main/java/kafka/clients/producer/internals/Sender.java effeb9c19e2dd004e6191956d4bf26da618a134b 
  clients/src/main/java/kafka/clients/tools/ProducerPerformance.java 7331b73a060465bc53d2af98ac58ba1f1579fd21 
  clients/src/main/java/kafka/common/ByteSerialization.java eca69f187537b692f7ec9c634a6a2a130a6246d0 
  clients/src/main/java/kafka/common/Cluster.java d0acd8d2801420d6c411e1113ad1451213843979 
  clients/src/main/java/kafka/common/Deserializer.java ad2e78466a3de921c476838c5b147bb34a2c3fe8 
  clients/src/main/java/kafka/common/PartitionInfo.java f3f08dd30d2fa6cd236d9afa66791fe752c57b6e 
  clients/src/main/java/kafka/common/Serializer.java 63353d8274497ba0a2aa52b13c9ace4671fac9cb 
  clients/src/main/java/kafka/common/StringSerialization.java c0ed5ca20e8685f16e593ac8f670d8d098e32607 
  clients/src/main/java/kafka/common/errors/CorruptMessageException.java faf62340178e74c1590539961dbbda4e8dd5152f 
  clients/src/main/java/kafka/common/errors/MessageTooLargeException.java 7417906fd9faa18783f7c2e0a17576496539ddb9 
  clients/src/main/java/kafka/common/errors/RecordTooLargeException.java PRE-CREATION 
  clients/src/main/java/kafka/common/network/ByteBufferReceive.java cb1aaae0e119ef2bf38a97fdae70f29f8a8b4dad 
  clients/src/main/java/kafka/common/protocol/Errors.java fb1a3e52f3daa74be6f508a96e7c99aed09c0b38 
  clients/src/main/java/kafka/common/protocol/ProtoUtils.java 83dad5306a33616b29618ea0623a0fe227c0dc06 
  clients/src/main/java/kafka/common/protocol/Protocol.java e191d6a143b5881d791c73344ea27c506fc8fbdf 
  clients/src/main/java/kafka/common/record/MemoryRecords.java ec98226df8f93de9f1cd83c1b19c2f7abe5b5bea 
  clients/src/main/java/kafka/common/record/Record.java 835a0a449fade155a0795cd738f97a9b7c36ab92 
  clients/src/test/java/kafka/clients/producer/MetadataTest.java 68e4bd7496e26d41a0f580837525ebb191b3c961 
  clients/src/test/java/kafka/clients/producer/MockProducerTest.java 61929a4fef9889375e00dbc34828fef31be1a324 
  clients/src/test/java/kafka/clients/producer/PartitionerTest.java PRE-CREATION 
  clients/src/test/java/kafka/clients/producer/RecordSendTest.java f8fd14b986be30e821cf3814940ba503425493a7 
  clients/src/test/java/kafka/clients/producer/SenderTest.java 73f1aba0deae610f56f32820d57dc8289187d7e0 
  clients/src/test/java/kafka/test/TestUtils.java a2ef3a222f46f57345560bd5d91650d9a036b56c 

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


Testing
-------


Thanks,

Jay Kreps


Re: Review Request 17688: API refactoring for new producer

Posted by Neha Narkhede <ne...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/17688/#review33556
-----------------------------------------------------------

Ship it!



clients/src/main/java/kafka/clients/producer/Callback.java
<https://reviews.apache.org/r/17688/#comment63077>

    I think Jun suggested this and I agree. We have a callback on the producer, one on the controller and possibly another one on the consumer. How do you feel about renaming this to something that will make it clear that it belongs to the producer, eg ProducerCallback?



clients/src/main/java/kafka/clients/producer/internals/Partitioner.java
<https://reviews.apache.org/r/17688/#comment63078>

    


- Neha Narkhede


On Feb. 4, 2014, 1:41 a.m., Jay Kreps wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/17688/
> -----------------------------------------------------------
> 
> (Updated Feb. 4, 2014, 1:41 a.m.)
> 
> 
> Review request for kafka.
> 
> 
> Bugs: KAFKA-1227
>     https://issues.apache.org/jira/browse/KAFKA-1227
> 
> 
> Repository: kafka
> 
> 
> Description
> -------
> 
> Implement a few of the API suggestions from the mailing list.
> 
> 
> Diffs
> -----
> 
>   clients/src/main/java/kafka/clients/producer/Callback.java 47e5af31515e6f9879f5c24749f3a795d30e4192 
>   clients/src/main/java/kafka/clients/producer/DefaultPartitioner.java b82fcfbe1a00fed1cfe2bc9ba72e1d6e2b5f767b 
>   clients/src/main/java/kafka/clients/producer/KafkaProducer.java 58eee0c3236179ddf86e9d04848a29caf050eabc 
>   clients/src/main/java/kafka/clients/producer/MockProducer.java 2ea2030dc2b3f052f490f1c66adccfcab21619de 
>   clients/src/main/java/kafka/clients/producer/Partitioner.java 1b8e51f6aef0e15c81668514623f44d58ea0e9d5 
>   clients/src/main/java/kafka/clients/producer/Producer.java 6ba66339d741986faa4831e65082b4af683180c1 
>   clients/src/main/java/kafka/clients/producer/ProducerConfig.java 97582933c8d7de31fdfabcfb1540a7941ae254c4 
>   clients/src/main/java/kafka/clients/producer/ProducerRecord.java 5fddbef92e542b3cb830df74e88fd8ae3f808dee 
>   clients/src/main/java/kafka/clients/producer/RecordMetadata.java PRE-CREATION 
>   clients/src/main/java/kafka/clients/producer/RecordSend.java 1883dabc3a9830d362dc865112f20910881f9354 
>   clients/src/main/java/kafka/clients/producer/internals/FutureRecordMetadata.java PRE-CREATION 
>   clients/src/main/java/kafka/clients/producer/internals/Partitioner.java PRE-CREATION 
>   clients/src/main/java/kafka/clients/producer/internals/ProduceRequestResult.java 1049b61625d486f48194370178486cc9f08e1605 
>   clients/src/main/java/kafka/clients/producer/internals/RecordAccumulator.java a2b536c3447e69588fcd6b9c5f94df3806d330f9 
>   clients/src/main/java/kafka/clients/producer/internals/RecordBatch.java 4a536a29408f898736fa3d08959adf42d4a53973 
>   clients/src/main/java/kafka/clients/producer/internals/Sender.java effeb9c19e2dd004e6191956d4bf26da618a134b 
>   clients/src/main/java/kafka/clients/tools/ProducerPerformance.java 7331b73a060465bc53d2af98ac58ba1f1579fd21 
>   clients/src/main/java/kafka/common/ByteSerialization.java eca69f187537b692f7ec9c634a6a2a130a6246d0 
>   clients/src/main/java/kafka/common/Cluster.java d0acd8d2801420d6c411e1113ad1451213843979 
>   clients/src/main/java/kafka/common/Deserializer.java ad2e78466a3de921c476838c5b147bb34a2c3fe8 
>   clients/src/main/java/kafka/common/PartitionInfo.java f3f08dd30d2fa6cd236d9afa66791fe752c57b6e 
>   clients/src/main/java/kafka/common/Serializer.java 63353d8274497ba0a2aa52b13c9ace4671fac9cb 
>   clients/src/main/java/kafka/common/StringSerialization.java c0ed5ca20e8685f16e593ac8f670d8d098e32607 
>   clients/src/main/java/kafka/common/errors/CorruptMessageException.java faf62340178e74c1590539961dbbda4e8dd5152f 
>   clients/src/main/java/kafka/common/errors/MessageTooLargeException.java 7417906fd9faa18783f7c2e0a17576496539ddb9 
>   clients/src/main/java/kafka/common/errors/RecordTooLargeException.java PRE-CREATION 
>   clients/src/main/java/kafka/common/network/ByteBufferReceive.java cb1aaae0e119ef2bf38a97fdae70f29f8a8b4dad 
>   clients/src/main/java/kafka/common/protocol/Errors.java fb1a3e52f3daa74be6f508a96e7c99aed09c0b38 
>   clients/src/main/java/kafka/common/protocol/ProtoUtils.java 83dad5306a33616b29618ea0623a0fe227c0dc06 
>   clients/src/main/java/kafka/common/protocol/Protocol.java e191d6a143b5881d791c73344ea27c506fc8fbdf 
>   clients/src/main/java/kafka/common/record/MemoryRecords.java ec98226df8f93de9f1cd83c1b19c2f7abe5b5bea 
>   clients/src/main/java/kafka/common/record/Record.java 835a0a449fade155a0795cd738f97a9b7c36ab92 
>   clients/src/test/java/kafka/clients/producer/MetadataTest.java 68e4bd7496e26d41a0f580837525ebb191b3c961 
>   clients/src/test/java/kafka/clients/producer/MockProducerTest.java 61929a4fef9889375e00dbc34828fef31be1a324 
>   clients/src/test/java/kafka/clients/producer/PartitionerTest.java PRE-CREATION 
>   clients/src/test/java/kafka/clients/producer/RecordSendTest.java f8fd14b986be30e821cf3814940ba503425493a7 
>   clients/src/test/java/kafka/clients/producer/SenderTest.java 73f1aba0deae610f56f32820d57dc8289187d7e0 
>   clients/src/test/java/kafka/test/TestUtils.java a2ef3a222f46f57345560bd5d91650d9a036b56c 
> 
> Diff: https://reviews.apache.org/r/17688/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Jay Kreps
> 
>


Re: Review Request 17688: API refactoring for new producer

Posted by Edward Ribeiro <ed...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/17688/#review33602
-----------------------------------------------------------



clients/src/main/java/kafka/common/Cluster.java
<https://reviews.apache.org/r/17688/#comment63134>

    Instead of using "new ArrayList<PartitionInfo>(0)" it's more advisable to resort to "Collections.<PartitionInfo>emptyList()". It's a more idiomatic Java way.


- Edward Ribeiro


On Feb. 4, 2014, 1:41 a.m., Jay Kreps wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/17688/
> -----------------------------------------------------------
> 
> (Updated Feb. 4, 2014, 1:41 a.m.)
> 
> 
> Review request for kafka.
> 
> 
> Bugs: KAFKA-1227
>     https://issues.apache.org/jira/browse/KAFKA-1227
> 
> 
> Repository: kafka
> 
> 
> Description
> -------
> 
> Implement a few of the API suggestions from the mailing list.
> 
> 
> Diffs
> -----
> 
>   clients/src/main/java/kafka/clients/producer/Callback.java 47e5af31515e6f9879f5c24749f3a795d30e4192 
>   clients/src/main/java/kafka/clients/producer/DefaultPartitioner.java b82fcfbe1a00fed1cfe2bc9ba72e1d6e2b5f767b 
>   clients/src/main/java/kafka/clients/producer/KafkaProducer.java 58eee0c3236179ddf86e9d04848a29caf050eabc 
>   clients/src/main/java/kafka/clients/producer/MockProducer.java 2ea2030dc2b3f052f490f1c66adccfcab21619de 
>   clients/src/main/java/kafka/clients/producer/Partitioner.java 1b8e51f6aef0e15c81668514623f44d58ea0e9d5 
>   clients/src/main/java/kafka/clients/producer/Producer.java 6ba66339d741986faa4831e65082b4af683180c1 
>   clients/src/main/java/kafka/clients/producer/ProducerConfig.java 97582933c8d7de31fdfabcfb1540a7941ae254c4 
>   clients/src/main/java/kafka/clients/producer/ProducerRecord.java 5fddbef92e542b3cb830df74e88fd8ae3f808dee 
>   clients/src/main/java/kafka/clients/producer/RecordMetadata.java PRE-CREATION 
>   clients/src/main/java/kafka/clients/producer/RecordSend.java 1883dabc3a9830d362dc865112f20910881f9354 
>   clients/src/main/java/kafka/clients/producer/internals/FutureRecordMetadata.java PRE-CREATION 
>   clients/src/main/java/kafka/clients/producer/internals/Partitioner.java PRE-CREATION 
>   clients/src/main/java/kafka/clients/producer/internals/ProduceRequestResult.java 1049b61625d486f48194370178486cc9f08e1605 
>   clients/src/main/java/kafka/clients/producer/internals/RecordAccumulator.java a2b536c3447e69588fcd6b9c5f94df3806d330f9 
>   clients/src/main/java/kafka/clients/producer/internals/RecordBatch.java 4a536a29408f898736fa3d08959adf42d4a53973 
>   clients/src/main/java/kafka/clients/producer/internals/Sender.java effeb9c19e2dd004e6191956d4bf26da618a134b 
>   clients/src/main/java/kafka/clients/tools/ProducerPerformance.java 7331b73a060465bc53d2af98ac58ba1f1579fd21 
>   clients/src/main/java/kafka/common/ByteSerialization.java eca69f187537b692f7ec9c634a6a2a130a6246d0 
>   clients/src/main/java/kafka/common/Cluster.java d0acd8d2801420d6c411e1113ad1451213843979 
>   clients/src/main/java/kafka/common/Deserializer.java ad2e78466a3de921c476838c5b147bb34a2c3fe8 
>   clients/src/main/java/kafka/common/PartitionInfo.java f3f08dd30d2fa6cd236d9afa66791fe752c57b6e 
>   clients/src/main/java/kafka/common/Serializer.java 63353d8274497ba0a2aa52b13c9ace4671fac9cb 
>   clients/src/main/java/kafka/common/StringSerialization.java c0ed5ca20e8685f16e593ac8f670d8d098e32607 
>   clients/src/main/java/kafka/common/errors/CorruptMessageException.java faf62340178e74c1590539961dbbda4e8dd5152f 
>   clients/src/main/java/kafka/common/errors/MessageTooLargeException.java 7417906fd9faa18783f7c2e0a17576496539ddb9 
>   clients/src/main/java/kafka/common/errors/RecordTooLargeException.java PRE-CREATION 
>   clients/src/main/java/kafka/common/network/ByteBufferReceive.java cb1aaae0e119ef2bf38a97fdae70f29f8a8b4dad 
>   clients/src/main/java/kafka/common/protocol/Errors.java fb1a3e52f3daa74be6f508a96e7c99aed09c0b38 
>   clients/src/main/java/kafka/common/protocol/ProtoUtils.java 83dad5306a33616b29618ea0623a0fe227c0dc06 
>   clients/src/main/java/kafka/common/protocol/Protocol.java e191d6a143b5881d791c73344ea27c506fc8fbdf 
>   clients/src/main/java/kafka/common/record/MemoryRecords.java ec98226df8f93de9f1cd83c1b19c2f7abe5b5bea 
>   clients/src/main/java/kafka/common/record/Record.java 835a0a449fade155a0795cd738f97a9b7c36ab92 
>   clients/src/test/java/kafka/clients/producer/MetadataTest.java 68e4bd7496e26d41a0f580837525ebb191b3c961 
>   clients/src/test/java/kafka/clients/producer/MockProducerTest.java 61929a4fef9889375e00dbc34828fef31be1a324 
>   clients/src/test/java/kafka/clients/producer/PartitionerTest.java PRE-CREATION 
>   clients/src/test/java/kafka/clients/producer/RecordSendTest.java f8fd14b986be30e821cf3814940ba503425493a7 
>   clients/src/test/java/kafka/clients/producer/SenderTest.java 73f1aba0deae610f56f32820d57dc8289187d7e0 
>   clients/src/test/java/kafka/test/TestUtils.java a2ef3a222f46f57345560bd5d91650d9a036b56c 
> 
> Diff: https://reviews.apache.org/r/17688/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Jay Kreps
> 
>


Re: Review Request 17688: API refactoring for new producer

Posted by Guozhang Wang <gu...@linkedin.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/17688/#review33622
-----------------------------------------------------------



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

    Comments needed for this public API.



clients/src/main/java/kafka/clients/producer/MockProducer.java
<https://reviews.apache.org/r/17688/#comment63161>

    Do you still need the offset and topicPartition given that you have RecordMetadata already?



clients/src/main/java/kafka/clients/producer/RecordMetadata.java
<https://reviews.apache.org/r/17688/#comment63160>

    Do we need to call super() here?



clients/src/main/java/kafka/clients/producer/internals/Partitioner.java
<https://reviews.apache.org/r/17688/#comment63162>

    If a key is specified, then we are unable to avoid the failure case where the computed partition is not available. We need either to make that clear in the javadoc/comments or fix it in the partitioner.



clients/src/test/java/kafka/clients/producer/PartitionerTest.java
<https://reviews.apache.org/r/17688/#comment63165>

    It will be better to also check the round-robin behavior, ie, with two brokers the partition id is always 0,1,0,1..


- Guozhang Wang


On Feb. 4, 2014, 1:41 a.m., Jay Kreps wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/17688/
> -----------------------------------------------------------
> 
> (Updated Feb. 4, 2014, 1:41 a.m.)
> 
> 
> Review request for kafka.
> 
> 
> Bugs: KAFKA-1227
>     https://issues.apache.org/jira/browse/KAFKA-1227
> 
> 
> Repository: kafka
> 
> 
> Description
> -------
> 
> Implement a few of the API suggestions from the mailing list.
> 
> 
> Diffs
> -----
> 
>   clients/src/main/java/kafka/clients/producer/Callback.java 47e5af31515e6f9879f5c24749f3a795d30e4192 
>   clients/src/main/java/kafka/clients/producer/DefaultPartitioner.java b82fcfbe1a00fed1cfe2bc9ba72e1d6e2b5f767b 
>   clients/src/main/java/kafka/clients/producer/KafkaProducer.java 58eee0c3236179ddf86e9d04848a29caf050eabc 
>   clients/src/main/java/kafka/clients/producer/MockProducer.java 2ea2030dc2b3f052f490f1c66adccfcab21619de 
>   clients/src/main/java/kafka/clients/producer/Partitioner.java 1b8e51f6aef0e15c81668514623f44d58ea0e9d5 
>   clients/src/main/java/kafka/clients/producer/Producer.java 6ba66339d741986faa4831e65082b4af683180c1 
>   clients/src/main/java/kafka/clients/producer/ProducerConfig.java 97582933c8d7de31fdfabcfb1540a7941ae254c4 
>   clients/src/main/java/kafka/clients/producer/ProducerRecord.java 5fddbef92e542b3cb830df74e88fd8ae3f808dee 
>   clients/src/main/java/kafka/clients/producer/RecordMetadata.java PRE-CREATION 
>   clients/src/main/java/kafka/clients/producer/RecordSend.java 1883dabc3a9830d362dc865112f20910881f9354 
>   clients/src/main/java/kafka/clients/producer/internals/FutureRecordMetadata.java PRE-CREATION 
>   clients/src/main/java/kafka/clients/producer/internals/Partitioner.java PRE-CREATION 
>   clients/src/main/java/kafka/clients/producer/internals/ProduceRequestResult.java 1049b61625d486f48194370178486cc9f08e1605 
>   clients/src/main/java/kafka/clients/producer/internals/RecordAccumulator.java a2b536c3447e69588fcd6b9c5f94df3806d330f9 
>   clients/src/main/java/kafka/clients/producer/internals/RecordBatch.java 4a536a29408f898736fa3d08959adf42d4a53973 
>   clients/src/main/java/kafka/clients/producer/internals/Sender.java effeb9c19e2dd004e6191956d4bf26da618a134b 
>   clients/src/main/java/kafka/clients/tools/ProducerPerformance.java 7331b73a060465bc53d2af98ac58ba1f1579fd21 
>   clients/src/main/java/kafka/common/ByteSerialization.java eca69f187537b692f7ec9c634a6a2a130a6246d0 
>   clients/src/main/java/kafka/common/Cluster.java d0acd8d2801420d6c411e1113ad1451213843979 
>   clients/src/main/java/kafka/common/Deserializer.java ad2e78466a3de921c476838c5b147bb34a2c3fe8 
>   clients/src/main/java/kafka/common/PartitionInfo.java f3f08dd30d2fa6cd236d9afa66791fe752c57b6e 
>   clients/src/main/java/kafka/common/Serializer.java 63353d8274497ba0a2aa52b13c9ace4671fac9cb 
>   clients/src/main/java/kafka/common/StringSerialization.java c0ed5ca20e8685f16e593ac8f670d8d098e32607 
>   clients/src/main/java/kafka/common/errors/CorruptMessageException.java faf62340178e74c1590539961dbbda4e8dd5152f 
>   clients/src/main/java/kafka/common/errors/MessageTooLargeException.java 7417906fd9faa18783f7c2e0a17576496539ddb9 
>   clients/src/main/java/kafka/common/errors/RecordTooLargeException.java PRE-CREATION 
>   clients/src/main/java/kafka/common/network/ByteBufferReceive.java cb1aaae0e119ef2bf38a97fdae70f29f8a8b4dad 
>   clients/src/main/java/kafka/common/protocol/Errors.java fb1a3e52f3daa74be6f508a96e7c99aed09c0b38 
>   clients/src/main/java/kafka/common/protocol/ProtoUtils.java 83dad5306a33616b29618ea0623a0fe227c0dc06 
>   clients/src/main/java/kafka/common/protocol/Protocol.java e191d6a143b5881d791c73344ea27c506fc8fbdf 
>   clients/src/main/java/kafka/common/record/MemoryRecords.java ec98226df8f93de9f1cd83c1b19c2f7abe5b5bea 
>   clients/src/main/java/kafka/common/record/Record.java 835a0a449fade155a0795cd738f97a9b7c36ab92 
>   clients/src/test/java/kafka/clients/producer/MetadataTest.java 68e4bd7496e26d41a0f580837525ebb191b3c961 
>   clients/src/test/java/kafka/clients/producer/MockProducerTest.java 61929a4fef9889375e00dbc34828fef31be1a324 
>   clients/src/test/java/kafka/clients/producer/PartitionerTest.java PRE-CREATION 
>   clients/src/test/java/kafka/clients/producer/RecordSendTest.java f8fd14b986be30e821cf3814940ba503425493a7 
>   clients/src/test/java/kafka/clients/producer/SenderTest.java 73f1aba0deae610f56f32820d57dc8289187d7e0 
>   clients/src/test/java/kafka/test/TestUtils.java a2ef3a222f46f57345560bd5d91650d9a036b56c 
> 
> Diff: https://reviews.apache.org/r/17688/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Jay Kreps
> 
>