You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kafka.apache.org by Gwen Shapira <gs...@cloudera.com> on 2015/01/05 23:24:08 UTC

Re: Review Request 28769: Patch for KAFKA-1809

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

(Updated Jan. 5, 2015, 10:24 p.m.)


Review request for kafka.


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


Repository: kafka


Description (updated)
-------

changed topicmetadata to include brokerendpoints and fixed few unit tests


fixing systest and support for binding to default address


fixed system tests


fix default address binding and ipv6 support


fix some issues regarding endpoint parsing. Also, larger segments for systest make the validation much faster


added link to security wiki in doc


fixing unit test after rename of ProtocolType to SecurityProtocol


Following Joe's advice, added security protocol enum on client side, and modified protocol to use ID instead of string.


validate producer config against enum


add a second protocol for testing and modify SocketServerTests to check on multi-ports


Reverted the metadata request changes and removed the explicit security protocol argument. Instead the socketserver will determine the protocol based on the port and add this to the request


bump version for UpdateMetadataRequest and added support for rolling upgrades with new config


following tests - fixed LeaderAndISR protocol and ZK registration for backward compatibility


Diffs (updated)
-----

  clients/src/main/java/org/apache/kafka/clients/NetworkClient.java 525b95e98010cd2053eacd8c321d079bcac2f910 
  clients/src/main/java/org/apache/kafka/clients/producer/KafkaProducer.java f61efb35db7e0de590556e6a94a7b5cb850cdae9 
  clients/src/main/java/org/apache/kafka/clients/producer/ProducerConfig.java a893d88c2f4e21509b6c70d6817b4b2cdd0fd657 
  clients/src/main/java/org/apache/kafka/common/protocol/Protocol.java 7517b879866fc5dad5f8d8ad30636da8bbe7784a 
  clients/src/main/java/org/apache/kafka/common/protocol/SecurityProtocol.java PRE-CREATION 
  clients/src/main/java/org/apache/kafka/common/requests/MetadataRequest.java b22ca1dce65f665d84c2a980fd82f816e93d9960 
  clients/src/main/java/org/apache/kafka/common/utils/Utils.java 527dd0f9c47fce7310b7a37a9b95bf87f1b9c292 
  clients/src/test/java/org/apache/kafka/clients/NetworkClientTest.java 1a55242e9399fa4669630b55110d530f954e1279 
  clients/src/test/java/org/apache/kafka/common/requests/RequestResponseTest.java df37fc6d8f0db0b8192a948426af603be3444da4 
  clients/src/test/java/org/apache/kafka/common/utils/ClientUtilsTest.java 6e37ea553f73d9c584641c48c56dbf6e62ba5f88 
  clients/src/test/java/org/apache/kafka/common/utils/UtilsTest.java a39fab532f73148316a56c0f8e9197f38ea66f79 
  config/server.properties b0e4496a8ca736b6abe965a430e8ce87b0e8287f 
  core/src/main/scala/kafka/admin/AdminUtils.scala 28b12c7b89a56c113b665fbde1b95f873f8624a3 
  core/src/main/scala/kafka/admin/TopicCommand.scala 285c0333ff43543d3e46444c1cd9374bb883bb59 
  core/src/main/scala/kafka/api/ConsumerMetadataRequest.scala 6d00ed090d76cd7925621a9c6db8fb00fb9d48f4 
  core/src/main/scala/kafka/api/ConsumerMetadataResponse.scala 84f60178f6ebae735c8aa3e79ed93fe21ac4aea7 
  core/src/main/scala/kafka/api/LeaderAndIsrRequest.scala 4ff7e8f8cc695551dd5d2fe65c74f6b6c571e340 
  core/src/main/scala/kafka/api/TopicMetadata.scala 0190076df0adf906ecd332284f222ff974b315fc 
  core/src/main/scala/kafka/api/TopicMetadataRequest.scala 7dca09ce637a40e125de05703dc42e8b611971ac 
  core/src/main/scala/kafka/api/TopicMetadataResponse.scala 92ac4e687be22e4800199c0666bfac5e0059e5bb 
  core/src/main/scala/kafka/api/UpdateMetadataRequest.scala 530982e36b17934b8cc5fb668075a5342e142c59 
  core/src/main/scala/kafka/client/ClientUtils.scala ebba87f0566684c796c26cb76c64b4640a5ccfde 
  core/src/main/scala/kafka/cluster/Broker.scala 0060add008bb3bc4b0092f2173c469fce0120be6 
  core/src/main/scala/kafka/cluster/BrokerEndPoint.scala PRE-CREATION 
  core/src/main/scala/kafka/cluster/EndPoint.scala PRE-CREATION 
  core/src/main/scala/kafka/cluster/SecurityProtocol.scala PRE-CREATION 
  core/src/main/scala/kafka/common/BrokerEndPointNotAvailableException.scala PRE-CREATION 
  core/src/main/scala/kafka/consumer/ConsumerConfig.scala 9ebbee6c16dc83767297c729d2d74ebbd063a993 
  core/src/main/scala/kafka/consumer/ConsumerFetcherManager.scala b9e2bea7b442a19bcebd1b350d39541a8c9dd068 
  core/src/main/scala/kafka/consumer/ConsumerFetcherThread.scala ee6139c901082358382c5ef892281386bf6fc91b 
  core/src/main/scala/kafka/consumer/ZookeeperConsumerConnector.scala 191a8677444e53b043e9ad6e94c5a9191c32599e 
  core/src/main/scala/kafka/controller/ControllerChannelManager.scala eb492f00449744bc8d63f55b393e2a1659d38454 
  core/src/main/scala/kafka/controller/KafkaController.scala 66df6d2fbdbdd556da6bea0df84f93e0472c8fbf 
  core/src/main/scala/kafka/javaapi/ConsumerMetadataResponse.scala 1b28861cdf7dfb30fc696b54f8f8f05f730f4ece 
  core/src/main/scala/kafka/javaapi/TopicMetadata.scala f384e04678df10a5b46a439f475c63371bf8e32b 
  core/src/main/scala/kafka/javaapi/TopicMetadataRequest.scala b0b7be14d494ae8c87f4443b52db69d273c20316 
  core/src/main/scala/kafka/network/BlockingChannel.scala 6e2a38eee8e568f9032f95c75fa5899e9715b433 
  core/src/main/scala/kafka/network/RequestChannel.scala 7b1db3dbbb2c0676f166890f566c14aa248467ab 
  core/src/main/scala/kafka/network/SocketServer.scala e451592fe358158548117f47a80e807007dd8b98 
  core/src/main/scala/kafka/producer/ProducerConfig.scala 3cdf23dce3407f1770b9c6543e3a8ae8ab3ff255 
  core/src/main/scala/kafka/producer/ProducerPool.scala 43df70bb461dd3e385e6b20396adef3c4016a3fc 
  core/src/main/scala/kafka/server/AbstractFetcherManager.scala 20c00cb8cc2351950edbc8cb1752905a0c26e79f 
  core/src/main/scala/kafka/server/AbstractFetcherThread.scala 8c281d4668f92eff95a4a5df3c03c4b5b20e7095 
  core/src/main/scala/kafka/server/KafkaApis.scala 2a1c0326b6e6966d8b8254bd6a1cb83ad98a3b80 
  core/src/main/scala/kafka/server/KafkaConfig.scala 6e26c5436feb4629d17f199011f3ebb674aa767f 
  core/src/main/scala/kafka/server/KafkaHealthcheck.scala 4acdd70fe9c1ee78d6510741006c2ece65450671 
  core/src/main/scala/kafka/server/KafkaServer.scala 1bf7d10cef23a77e716666eb16bf6d0e68bc4ebe 
  core/src/main/scala/kafka/server/MetadataCache.scala bf81a1ab88c14be8697b441eedbeb28fa0112643 
  core/src/main/scala/kafka/server/ReplicaFetcherManager.scala 351dbbad3bdb709937943b336a5b0a9e0162a5e2 
  core/src/main/scala/kafka/server/ReplicaFetcherThread.scala 6879e730282185bda3d6bc3659cb15af0672cecf 
  core/src/main/scala/kafka/server/ReplicaManager.scala e58fbb922e93b0c31dff04f187fcadb4ece986d7 
  core/src/main/scala/kafka/tools/ConsumerOffsetChecker.scala d1e7c434e77859d746b8dc68dd5d5a3740425e79 
  core/src/main/scala/kafka/tools/GetOffsetShell.scala 3d9293e4abbe3f4a4a2bc5833385747c604d5a95 
  core/src/main/scala/kafka/tools/ReplicaVerificationTool.scala ba6ddd7a909df79a0f7d45e8b4a2af94ea0fceb6 
  core/src/main/scala/kafka/tools/SimpleConsumerShell.scala b4f903b6c7c3bb725cac7c05eb1f885906413c4d 
  core/src/main/scala/kafka/tools/UpdateOffsetsInZK.scala 111c9a8b94ce45d95551482e9fd3f8c1cccbf548 
  core/src/main/scala/kafka/utils/Utils.scala 738c1af9ef5de16fdf5130daab69757a14c48b5c 
  core/src/main/scala/kafka/utils/ZkUtils.scala 56e3e88e0cc6d917b0ffd1254e173295c1c4aabd 
  core/src/test/resources/log4j.properties 1b7d5d8f7d5fae7d272849715714781cad05d77b 
  core/src/test/scala/integration/kafka/api/ProducerFailureHandlingTest.scala 5ec613cdb50b93bfe4477e89554dfc3768759b18 
  core/src/test/scala/integration/kafka/api/ProducerSendTest.scala 6196060edf9f1650720ec916f88933953a1daa2c 
  core/src/test/scala/other/kafka/TestOffsetManager.scala 41f334d48897b3027ed54c58bbf4811487d3b191 
  core/src/test/scala/unit/kafka/KafkaConfigTest.scala 4d36b8b1173f60d43463c13c9d8c1275a84c8c28 
  core/src/test/scala/unit/kafka/admin/AddPartitionsTest.scala 1bf2667f47853585bc33ffb3e28256ec5f24ae84 
  core/src/test/scala/unit/kafka/api/RequestResponseSerializationTest.scala cd16ced5465d098be7a60498326b2a98c248f343 
  core/src/test/scala/unit/kafka/cluster/BrokerTest.scala PRE-CREATION 
  core/src/test/scala/unit/kafka/consumer/ConsumerIteratorTest.scala c0355cc0135c6af2e346b4715659353a31723b86 
  core/src/test/scala/unit/kafka/integration/FetcherTest.scala 25845abbcad2e79f56f729e59239b738d3ddbc9d 
  core/src/test/scala/unit/kafka/integration/TopicMetadataTest.scala 35dc071b1056e775326981573c9618d8046e601d 
  core/src/test/scala/unit/kafka/network/SocketServerTest.scala 5f4d85254c384dcc27a5a84f0836ea225d3a901a 
  core/src/test/scala/unit/kafka/producer/AsyncProducerTest.scala 1db6ac329f7b54e600802c8a623f80d159d4e69b 
  core/src/test/scala/unit/kafka/producer/SyncProducerTest.scala d60d8e0f49443f4dc8bc2cad6e2f951eda28f5cb 
  core/src/test/scala/unit/kafka/server/AdvertiseBrokerTest.scala f0c4a56b61b4f081cf4bee799c6e9c523ff45e19 
  core/src/test/scala/unit/kafka/server/KafkaConfigTest.scala 2377abe4933e065d037828a214c3a87e1773a8ef 
  core/src/test/scala/unit/kafka/server/LeaderElectionTest.scala c2ba07c5fdbaf0e65ca033b2e4d88f45a8a15b2e 
  core/src/test/scala/unit/kafka/server/LogOffsetTest.scala c06ee756bf0fe07e5d3c92823a476c960b37afd6 
  core/src/test/scala/unit/kafka/server/ServerShutdownTest.scala ba1e48e4300c9fb32e36e7266cb05294f2a481e5 
  core/src/test/scala/unit/kafka/utils/TestUtils.scala 94d0028d8c4907e747aa8a74a13d719b974c97bf 
  system_test/replication_testsuite/testcase_1/testcase_1_properties.json 0c6d7a316cc6b51ac0755ca03558507db0706c31 
  system_test/utils/kafka_system_test_utils.py 41d511cbc310fa87e0f2cd2f772e479e8e3ae4e2 

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


Testing
-------


Thanks,

Gwen Shapira


Re: Review Request 28769: Patch for KAFKA-1809

Posted by Gwen Shapira <gs...@cloudera.com>.
Good idea :)

Fixed this, rebased the patch and uploaded a new diff.

Gwen

On Thu, Jan 29, 2015 at 9:27 AM, Don Bosco Durai <bo...@apache.org> wrote:
> +1
>
> I also feel, having security.* would be easy going forward.
>
> Thanks
>
> Bosco
>
>
> On 1/29/15, 6:08 AM, "Jeff Holoman" <je...@gmail.com> wrote:
>
>>
>>
>>> On Jan. 23, 2015, 1:57 a.m., Jun Rao wrote:
>>> > core/src/main/scala/kafka/server/KafkaConfig.scala, lines 182-183
>>> >
>>><https://reviews.apache.org/r/28769/diff/12/?file=820431#file820431line18
>>>2>
>>> >
>>> >     Since this is also used for communication btw the controller and
>>>the brokers, perhaps it's better named as sth like
>>>"intra.broker.security.protocol"?
>>
>>Maybe it makese sense to prepend all security related configs with
>>"security, eg: "security.intra.broker.protocol",
>>"security.new.param.for.future.jira" With all of the upcoming changes it
>>would make security realted configs easy to spot.
>>
>>
>>- Jeff
>>
>>
>>-----------------------------------------------------------
>>This is an automatically generated e-mail. To reply, visit:
>>https://reviews.apache.org/r/28769/#review69281
>>-----------------------------------------------------------
>>
>>
>>On Jan. 28, 2015, 6:26 p.m., Gwen Shapira wrote:
>>>
>>> -----------------------------------------------------------
>>> This is an automatically generated e-mail. To reply, visit:
>>> https://reviews.apache.org/r/28769/
>>> -----------------------------------------------------------
>>>
>>> (Updated Jan. 28, 2015, 6:26 p.m.)
>>>
>>>
>>> Review request for kafka.
>>>
>>>
>>> Bugs: KAFKA-1809
>>>     https://issues.apache.org/jira/browse/KAFKA-1809
>>>
>>>
>>> Repository: kafka
>>>
>>>
>>> Description
>>> -------
>>>
>>> KAFKA-1890 Fix bug preventing Mirror Maker from successful rebalance;
>>>reviewed by Gwen Shapira and Neha Narkhede
>>>
>>>
>>> first commit of refactoring.
>>>
>>>
>>> changed topicmetadata to include brokerendpoints and fixed few unit
>>>tests
>>>
>>>
>>> fixing systest and support for binding to default address
>>>
>>>
>>> fixed system tests
>>>
>>>
>>> fix default address binding and ipv6 support
>>>
>>>
>>> fix some issues regarding endpoint parsing. Also, larger segments for
>>>systest make the validation much faster
>>>
>>>
>>> added link to security wiki in doc
>>>
>>>
>>> fixing unit test after rename of ProtocolType to SecurityProtocol
>>>
>>>
>>> Following Joe's advice, added security protocol enum on client side,
>>>and modified protocol to use ID instead of string.
>>>
>>>
>>> validate producer config against enum
>>>
>>>
>>> add a second protocol for testing and modify SocketServerTests to check
>>>on multi-ports
>>>
>>>
>>> Reverted the metadata request changes and removed the explicit security
>>>protocol argument. Instead the socketserver will determine the protocol
>>>based on the port and add this to the request
>>>
>>>
>>> bump version for UpdateMetadataRequest and added support for rolling
>>>upgrades with new config
>>>
>>>
>>> following tests - fixed LeaderAndISR protocol and ZK registration for
>>>backward compatibility
>>>
>>>
>>> cleaned up some changes that were actually not necessary. hopefully
>>>making this patch slightly easier to review
>>>
>>>
>>> undoing some changes that don't belong here
>>>
>>>
>>> bring back config lost in cleanup
>>>
>>>
>>> fixes neccessary for an all non-plaintext cluster to work
>>>
>>>
>>> minor modifications following comments by Jun
>>>
>>>
>>> added missing license
>>>
>>>
>>> formatting
>>>
>>>
>>> clean up imports
>>>
>>>
>>> cleaned up V2 to not include host+port field. Using use.new.protocol
>>>flag to decide which version to serialize
>>>
>>>
>>> change endpoints collection in Broker to Map[protocol, endpoint],
>>>mostly to be clear that we intend to have one endpoint per protocol
>>>
>>>
>>> validate that listeners and advertised listeners have unique ports and
>>>protocols
>>>
>>>
>>> support legacy configs
>>>
>>>
>>> some fixes following rebase
>>>
>>>
>>> Reverted to backward compatible zk registration, changed
>>>use.new.protocol to support multiple versions and few minor fixes
>>>
>>>
>>> Diffs
>>> -----
>>>
>>>
>>>clients/src/main/java/org/apache/kafka/clients/producer/ProducerConfig.ja
>>>va 8b3e565edd1ae04d8d34bd9f1a41e9fa8c880a75
>>>
>>>clients/src/main/java/org/apache/kafka/common/protocol/ApiVersion.java
>>>PRE-CREATION
>>>
>>>clients/src/main/java/org/apache/kafka/common/protocol/SecurityProtocol.j
>>>ava PRE-CREATION
>>>   clients/src/main/java/org/apache/kafka/common/utils/Utils.java
>>>527dd0f9c47fce7310b7a37a9b95bf87f1b9c292
>>>   clients/src/test/java/org/apache/kafka/common/utils/UtilsTest.java
>>>a39fab532f73148316a56c0f8e9197f38ea66f79
>>>   config/server.properties 1614260b71a658b405bb24157c8f12b1f1031aa5
>>>   core/src/main/scala/kafka/admin/AdminUtils.scala
>>>28b12c7b89a56c113b665fbde1b95f873f8624a3
>>>   core/src/main/scala/kafka/admin/TopicCommand.scala
>>>285c0333ff43543d3e46444c1cd9374bb883bb59
>>>   core/src/main/scala/kafka/api/ConsumerMetadataResponse.scala
>>>84f60178f6ebae735c8aa3e79ed93fe21ac4aea7
>>>   core/src/main/scala/kafka/api/LeaderAndIsrRequest.scala
>>>4ff7e8f8cc695551dd5d2fe65c74f6b6c571e340
>>>   core/src/main/scala/kafka/api/TopicMetadata.scala
>>>0190076df0adf906ecd332284f222ff974b315fc
>>>   core/src/main/scala/kafka/api/TopicMetadataResponse.scala
>>>92ac4e687be22e4800199c0666bfac5e0059e5bb
>>>   core/src/main/scala/kafka/api/UpdateMetadataRequest.scala
>>>530982e36b17934b8cc5fb668075a5342e142c59
>>>   core/src/main/scala/kafka/client/ClientUtils.scala
>>>ebba87f0566684c796c26cb76c64b4640a5ccfde
>>>   core/src/main/scala/kafka/cluster/Broker.scala
>>>0060add008bb3bc4b0092f2173c469fce0120be6
>>>   core/src/main/scala/kafka/cluster/BrokerEndPoint.scala PRE-CREATION
>>>   core/src/main/scala/kafka/cluster/EndPoint.scala PRE-CREATION
>>>   core/src/main/scala/kafka/cluster/SecurityProtocol.scala PRE-CREATION
>>>
>>>core/src/main/scala/kafka/common/BrokerEndPointNotAvailableException.scal
>>>a PRE-CREATION
>>>   core/src/main/scala/kafka/consumer/ConsumerConfig.scala
>>>9ebbee6c16dc83767297c729d2d74ebbd063a993
>>>   core/src/main/scala/kafka/consumer/ConsumerFetcherManager.scala
>>>b9e2bea7b442a19bcebd1b350d39541a8c9dd068
>>>   core/src/main/scala/kafka/consumer/ConsumerFetcherThread.scala
>>>ee6139c901082358382c5ef892281386bf6fc91b
>>>   core/src/main/scala/kafka/consumer/ZookeeperConsumerConnector.scala
>>>5487259751ebe19f137948249aa1fd2637d2deb4
>>>   core/src/main/scala/kafka/controller/ControllerChannelManager.scala
>>>eb492f00449744bc8d63f55b393e2a1659d38454
>>>   core/src/main/scala/kafka/controller/KafkaController.scala
>>>66df6d2fbdbdd556da6bea0df84f93e0472c8fbf
>>>   core/src/main/scala/kafka/javaapi/ConsumerMetadataResponse.scala
>>>1b28861cdf7dfb30fc696b54f8f8f05f730f4ece
>>>   core/src/main/scala/kafka/javaapi/TopicMetadata.scala
>>>f384e04678df10a5b46a439f475c63371bf8e32b
>>>   core/src/main/scala/kafka/network/RequestChannel.scala
>>>7b1db3dbbb2c0676f166890f566c14aa248467ab
>>>   core/src/main/scala/kafka/network/SocketServer.scala
>>>39b1651b680b2995cedfde95d74c086d9c6219ef
>>>   core/src/main/scala/kafka/producer/ProducerPool.scala
>>>43df70bb461dd3e385e6b20396adef3c4016a3fc
>>>   core/src/main/scala/kafka/server/AbstractFetcherManager.scala
>>>20c00cb8cc2351950edbc8cb1752905a0c26e79f
>>>   core/src/main/scala/kafka/server/AbstractFetcherThread.scala
>>>8c281d4668f92eff95a4a5df3c03c4b5b20e7095
>>>   core/src/main/scala/kafka/server/KafkaApis.scala
>>>ec8d9f7ba44741db40875458bd524c4062ad6a26
>>>   core/src/main/scala/kafka/server/KafkaConfig.scala
>>>6d74983472249eac808d361344c58cc2858ec971
>>>   core/src/main/scala/kafka/server/KafkaHealthcheck.scala
>>>4acdd70fe9c1ee78d6510741006c2ece65450671
>>>   core/src/main/scala/kafka/server/KafkaServer.scala
>>>89200da30a04943f0b9befe84ab17e62b747c8c4
>>>   core/src/main/scala/kafka/server/MetadataCache.scala
>>>bf81a1ab88c14be8697b441eedbeb28fa0112643
>>>   core/src/main/scala/kafka/server/ReplicaFetcherManager.scala
>>>351dbbad3bdb709937943b336a5b0a9e0162a5e2
>>>   core/src/main/scala/kafka/server/ReplicaFetcherThread.scala
>>>6879e730282185bda3d6bc3659cb15af0672cecf
>>>   core/src/main/scala/kafka/server/ReplicaManager.scala
>>>e58fbb922e93b0c31dff04f187fcadb4ece986d7
>>>   core/src/main/scala/kafka/tools/ConsumerOffsetChecker.scala
>>>d1e7c434e77859d746b8dc68dd5d5a3740425e79
>>>   core/src/main/scala/kafka/tools/MirrorMaker.scala
>>>5cbc8103e33a0a234d158c048e5314e841da6249
>>>   core/src/main/scala/kafka/tools/ReplicaVerificationTool.scala
>>>ba6ddd7a909df79a0f7d45e8b4a2af94ea0fceb6
>>>   core/src/main/scala/kafka/tools/SimpleConsumerShell.scala
>>>b4f903b6c7c3bb725cac7c05eb1f885906413c4d
>>>   core/src/main/scala/kafka/tools/UpdateOffsetsInZK.scala
>>>111c9a8b94ce45d95551482e9fd3f8c1cccbf548
>>>   core/src/main/scala/kafka/utils/Utils.scala
>>>738c1af9ef5de16fdf5130daab69757a14c48b5c
>>>   core/src/main/scala/kafka/utils/ZkUtils.scala
>>>c14bd455b6642f5e6eb254670bef9f57ae41d6cb
>>>
>>>core/src/test/scala/integration/kafka/api/ProducerFailureHandlingTest.sca
>>>la 90c0b7a19c7af8e5416e4bdba62b9824f1abd5ab
>>>   core/src/test/scala/integration/kafka/api/ProducerSendTest.scala
>>>b15237b76def3b234924280fa3fdb25dbb0cc0dc
>>>   core/src/test/scala/other/kafka/TestOffsetManager.scala
>>>41f334d48897b3027ed54c58bbf4811487d3b191
>>>   core/src/test/scala/unit/kafka/KafkaConfigTest.scala
>>>4d36b8b1173f60d43463c13c9d8c1275a84c8c28
>>>   core/src/test/scala/unit/kafka/admin/AddPartitionsTest.scala
>>>1bf2667f47853585bc33ffb3e28256ec5f24ae84
>>>
>>>core/src/test/scala/unit/kafka/api/RequestResponseSerializationTest.scala
>>> cd16ced5465d098be7a60498326b2a98c248f343
>>>   core/src/test/scala/unit/kafka/cluster/BrokerTest.scala PRE-CREATION
>>>   core/src/test/scala/unit/kafka/consumer/ConsumerIteratorTest.scala
>>>c0355cc0135c6af2e346b4715659353a31723b86
>>>   core/src/test/scala/unit/kafka/integration/FetcherTest.scala
>>>25845abbcad2e79f56f729e59239b738d3ddbc9d
>>>   core/src/test/scala/unit/kafka/integration/TopicMetadataTest.scala
>>>35dc071b1056e775326981573c9618d8046e601d
>>>   core/src/test/scala/unit/kafka/log/LogTest.scala
>>>c2dd8eb69da8c0982a0dd20231c6f8bd58eb623e
>>>   core/src/test/scala/unit/kafka/network/SocketServerTest.scala
>>>78b431f9c88cca1bc5e430ffd41083d0e92b7e75
>>>   core/src/test/scala/unit/kafka/producer/AsyncProducerTest.scala
>>>1db6ac329f7b54e600802c8a623f80d159d4e69b
>>>   core/src/test/scala/unit/kafka/producer/SyncProducerTest.scala
>>>d60d8e0f49443f4dc8bc2cad6e2f951eda28f5cb
>>>   core/src/test/scala/unit/kafka/server/AdvertiseBrokerTest.scala
>>>f0c4a56b61b4f081cf4bee799c6e9c523ff45e19
>>>   core/src/test/scala/unit/kafka/server/KafkaConfigTest.scala
>>>82dce80d553957d8b5776a9e140c346d4e07f766
>>>   core/src/test/scala/unit/kafka/server/LeaderElectionTest.scala
>>>c2ba07c5fdbaf0e65ca033b2e4d88f45a8a15b2e
>>>   core/src/test/scala/unit/kafka/server/LogOffsetTest.scala
>>>c06ee756bf0fe07e5d3c92823a476c960b37afd6
>>>   core/src/test/scala/unit/kafka/utils/TestUtils.scala
>>>ac15d34425795d5be20c51b01fa1108bdcd66583
>>>
>>>system_test/replication_testsuite/testcase_1/testcase_1_properties.json
>>>0c6d7a316cc6b51ac0755ca03558507db0706c31
>>>   system_test/utils/kafka_system_test_utils.py
>>>41d511cbc310fa87e0f2cd2f772e479e8e3ae4e2
>>>
>>> Diff: https://reviews.apache.org/r/28769/diff/
>>>
>>>
>>> Testing
>>> -------
>>>
>>>
>>> Thanks,
>>>
>>> Gwen Shapira
>>>
>>>
>>
>
>

Re: Review Request 28769: Patch for KAFKA-1809

Posted by Don Bosco Durai <bo...@apache.org>.
+1

I also feel, having security.* would be easy going forward.

Thanks

Bosco


On 1/29/15, 6:08 AM, "Jeff Holoman" <je...@gmail.com> wrote:

>
>
>> On Jan. 23, 2015, 1:57 a.m., Jun Rao wrote:
>> > core/src/main/scala/kafka/server/KafkaConfig.scala, lines 182-183
>> > 
>><https://reviews.apache.org/r/28769/diff/12/?file=820431#file820431line18
>>2>
>> >
>> >     Since this is also used for communication btw the controller and
>>the brokers, perhaps it's better named as sth like
>>"intra.broker.security.protocol"?
>
>Maybe it makese sense to prepend all security related configs with
>"security, eg: "security.intra.broker.protocol",
>"security.new.param.for.future.jira" With all of the upcoming changes it
>would make security realted configs easy to spot.
>
>
>- Jeff
>
>
>-----------------------------------------------------------
>This is an automatically generated e-mail. To reply, visit:
>https://reviews.apache.org/r/28769/#review69281
>-----------------------------------------------------------
>
>
>On Jan. 28, 2015, 6:26 p.m., Gwen Shapira wrote:
>> 
>> -----------------------------------------------------------
>> This is an automatically generated e-mail. To reply, visit:
>> https://reviews.apache.org/r/28769/
>> -----------------------------------------------------------
>> 
>> (Updated Jan. 28, 2015, 6:26 p.m.)
>> 
>> 
>> Review request for kafka.
>> 
>> 
>> Bugs: KAFKA-1809
>>     https://issues.apache.org/jira/browse/KAFKA-1809
>> 
>> 
>> Repository: kafka
>> 
>> 
>> Description
>> -------
>> 
>> KAFKA-1890 Fix bug preventing Mirror Maker from successful rebalance;
>>reviewed by Gwen Shapira and Neha Narkhede
>> 
>> 
>> first commit of refactoring.
>> 
>> 
>> changed topicmetadata to include brokerendpoints and fixed few unit
>>tests
>> 
>> 
>> fixing systest and support for binding to default address
>> 
>> 
>> fixed system tests
>> 
>> 
>> fix default address binding and ipv6 support
>> 
>> 
>> fix some issues regarding endpoint parsing. Also, larger segments for
>>systest make the validation much faster
>> 
>> 
>> added link to security wiki in doc
>> 
>> 
>> fixing unit test after rename of ProtocolType to SecurityProtocol
>> 
>> 
>> Following Joe's advice, added security protocol enum on client side,
>>and modified protocol to use ID instead of string.
>> 
>> 
>> validate producer config against enum
>> 
>> 
>> add a second protocol for testing and modify SocketServerTests to check
>>on multi-ports
>> 
>> 
>> Reverted the metadata request changes and removed the explicit security
>>protocol argument. Instead the socketserver will determine the protocol
>>based on the port and add this to the request
>> 
>> 
>> bump version for UpdateMetadataRequest and added support for rolling
>>upgrades with new config
>> 
>> 
>> following tests - fixed LeaderAndISR protocol and ZK registration for
>>backward compatibility
>> 
>> 
>> cleaned up some changes that were actually not necessary. hopefully
>>making this patch slightly easier to review
>> 
>> 
>> undoing some changes that don't belong here
>> 
>> 
>> bring back config lost in cleanup
>> 
>> 
>> fixes neccessary for an all non-plaintext cluster to work
>> 
>> 
>> minor modifications following comments by Jun
>> 
>> 
>> added missing license
>> 
>> 
>> formatting
>> 
>> 
>> clean up imports
>> 
>> 
>> cleaned up V2 to not include host+port field. Using use.new.protocol
>>flag to decide which version to serialize
>> 
>> 
>> change endpoints collection in Broker to Map[protocol, endpoint],
>>mostly to be clear that we intend to have one endpoint per protocol
>> 
>> 
>> validate that listeners and advertised listeners have unique ports and
>>protocols
>> 
>> 
>> support legacy configs
>> 
>> 
>> some fixes following rebase
>> 
>> 
>> Reverted to backward compatible zk registration, changed
>>use.new.protocol to support multiple versions and few minor fixes
>> 
>> 
>> Diffs
>> -----
>> 
>>   
>>clients/src/main/java/org/apache/kafka/clients/producer/ProducerConfig.ja
>>va 8b3e565edd1ae04d8d34bd9f1a41e9fa8c880a75
>>   
>>clients/src/main/java/org/apache/kafka/common/protocol/ApiVersion.java
>>PRE-CREATION 
>>   
>>clients/src/main/java/org/apache/kafka/common/protocol/SecurityProtocol.j
>>ava PRE-CREATION 
>>   clients/src/main/java/org/apache/kafka/common/utils/Utils.java
>>527dd0f9c47fce7310b7a37a9b95bf87f1b9c292
>>   clients/src/test/java/org/apache/kafka/common/utils/UtilsTest.java
>>a39fab532f73148316a56c0f8e9197f38ea66f79
>>   config/server.properties 1614260b71a658b405bb24157c8f12b1f1031aa5
>>   core/src/main/scala/kafka/admin/AdminUtils.scala
>>28b12c7b89a56c113b665fbde1b95f873f8624a3
>>   core/src/main/scala/kafka/admin/TopicCommand.scala
>>285c0333ff43543d3e46444c1cd9374bb883bb59
>>   core/src/main/scala/kafka/api/ConsumerMetadataResponse.scala
>>84f60178f6ebae735c8aa3e79ed93fe21ac4aea7
>>   core/src/main/scala/kafka/api/LeaderAndIsrRequest.scala
>>4ff7e8f8cc695551dd5d2fe65c74f6b6c571e340
>>   core/src/main/scala/kafka/api/TopicMetadata.scala
>>0190076df0adf906ecd332284f222ff974b315fc
>>   core/src/main/scala/kafka/api/TopicMetadataResponse.scala
>>92ac4e687be22e4800199c0666bfac5e0059e5bb
>>   core/src/main/scala/kafka/api/UpdateMetadataRequest.scala
>>530982e36b17934b8cc5fb668075a5342e142c59
>>   core/src/main/scala/kafka/client/ClientUtils.scala
>>ebba87f0566684c796c26cb76c64b4640a5ccfde
>>   core/src/main/scala/kafka/cluster/Broker.scala
>>0060add008bb3bc4b0092f2173c469fce0120be6
>>   core/src/main/scala/kafka/cluster/BrokerEndPoint.scala PRE-CREATION
>>   core/src/main/scala/kafka/cluster/EndPoint.scala PRE-CREATION
>>   core/src/main/scala/kafka/cluster/SecurityProtocol.scala PRE-CREATION
>>   
>>core/src/main/scala/kafka/common/BrokerEndPointNotAvailableException.scal
>>a PRE-CREATION 
>>   core/src/main/scala/kafka/consumer/ConsumerConfig.scala
>>9ebbee6c16dc83767297c729d2d74ebbd063a993
>>   core/src/main/scala/kafka/consumer/ConsumerFetcherManager.scala
>>b9e2bea7b442a19bcebd1b350d39541a8c9dd068
>>   core/src/main/scala/kafka/consumer/ConsumerFetcherThread.scala
>>ee6139c901082358382c5ef892281386bf6fc91b
>>   core/src/main/scala/kafka/consumer/ZookeeperConsumerConnector.scala
>>5487259751ebe19f137948249aa1fd2637d2deb4
>>   core/src/main/scala/kafka/controller/ControllerChannelManager.scala
>>eb492f00449744bc8d63f55b393e2a1659d38454
>>   core/src/main/scala/kafka/controller/KafkaController.scala
>>66df6d2fbdbdd556da6bea0df84f93e0472c8fbf
>>   core/src/main/scala/kafka/javaapi/ConsumerMetadataResponse.scala
>>1b28861cdf7dfb30fc696b54f8f8f05f730f4ece
>>   core/src/main/scala/kafka/javaapi/TopicMetadata.scala
>>f384e04678df10a5b46a439f475c63371bf8e32b
>>   core/src/main/scala/kafka/network/RequestChannel.scala
>>7b1db3dbbb2c0676f166890f566c14aa248467ab
>>   core/src/main/scala/kafka/network/SocketServer.scala
>>39b1651b680b2995cedfde95d74c086d9c6219ef
>>   core/src/main/scala/kafka/producer/ProducerPool.scala
>>43df70bb461dd3e385e6b20396adef3c4016a3fc
>>   core/src/main/scala/kafka/server/AbstractFetcherManager.scala
>>20c00cb8cc2351950edbc8cb1752905a0c26e79f
>>   core/src/main/scala/kafka/server/AbstractFetcherThread.scala
>>8c281d4668f92eff95a4a5df3c03c4b5b20e7095
>>   core/src/main/scala/kafka/server/KafkaApis.scala
>>ec8d9f7ba44741db40875458bd524c4062ad6a26
>>   core/src/main/scala/kafka/server/KafkaConfig.scala
>>6d74983472249eac808d361344c58cc2858ec971
>>   core/src/main/scala/kafka/server/KafkaHealthcheck.scala
>>4acdd70fe9c1ee78d6510741006c2ece65450671
>>   core/src/main/scala/kafka/server/KafkaServer.scala
>>89200da30a04943f0b9befe84ab17e62b747c8c4
>>   core/src/main/scala/kafka/server/MetadataCache.scala
>>bf81a1ab88c14be8697b441eedbeb28fa0112643
>>   core/src/main/scala/kafka/server/ReplicaFetcherManager.scala
>>351dbbad3bdb709937943b336a5b0a9e0162a5e2
>>   core/src/main/scala/kafka/server/ReplicaFetcherThread.scala
>>6879e730282185bda3d6bc3659cb15af0672cecf
>>   core/src/main/scala/kafka/server/ReplicaManager.scala
>>e58fbb922e93b0c31dff04f187fcadb4ece986d7
>>   core/src/main/scala/kafka/tools/ConsumerOffsetChecker.scala
>>d1e7c434e77859d746b8dc68dd5d5a3740425e79
>>   core/src/main/scala/kafka/tools/MirrorMaker.scala
>>5cbc8103e33a0a234d158c048e5314e841da6249
>>   core/src/main/scala/kafka/tools/ReplicaVerificationTool.scala
>>ba6ddd7a909df79a0f7d45e8b4a2af94ea0fceb6
>>   core/src/main/scala/kafka/tools/SimpleConsumerShell.scala
>>b4f903b6c7c3bb725cac7c05eb1f885906413c4d
>>   core/src/main/scala/kafka/tools/UpdateOffsetsInZK.scala
>>111c9a8b94ce45d95551482e9fd3f8c1cccbf548
>>   core/src/main/scala/kafka/utils/Utils.scala
>>738c1af9ef5de16fdf5130daab69757a14c48b5c
>>   core/src/main/scala/kafka/utils/ZkUtils.scala
>>c14bd455b6642f5e6eb254670bef9f57ae41d6cb
>>   
>>core/src/test/scala/integration/kafka/api/ProducerFailureHandlingTest.sca
>>la 90c0b7a19c7af8e5416e4bdba62b9824f1abd5ab
>>   core/src/test/scala/integration/kafka/api/ProducerSendTest.scala
>>b15237b76def3b234924280fa3fdb25dbb0cc0dc
>>   core/src/test/scala/other/kafka/TestOffsetManager.scala
>>41f334d48897b3027ed54c58bbf4811487d3b191
>>   core/src/test/scala/unit/kafka/KafkaConfigTest.scala
>>4d36b8b1173f60d43463c13c9d8c1275a84c8c28
>>   core/src/test/scala/unit/kafka/admin/AddPartitionsTest.scala
>>1bf2667f47853585bc33ffb3e28256ec5f24ae84
>>   
>>core/src/test/scala/unit/kafka/api/RequestResponseSerializationTest.scala
>> cd16ced5465d098be7a60498326b2a98c248f343
>>   core/src/test/scala/unit/kafka/cluster/BrokerTest.scala PRE-CREATION
>>   core/src/test/scala/unit/kafka/consumer/ConsumerIteratorTest.scala
>>c0355cc0135c6af2e346b4715659353a31723b86
>>   core/src/test/scala/unit/kafka/integration/FetcherTest.scala
>>25845abbcad2e79f56f729e59239b738d3ddbc9d
>>   core/src/test/scala/unit/kafka/integration/TopicMetadataTest.scala
>>35dc071b1056e775326981573c9618d8046e601d
>>   core/src/test/scala/unit/kafka/log/LogTest.scala
>>c2dd8eb69da8c0982a0dd20231c6f8bd58eb623e
>>   core/src/test/scala/unit/kafka/network/SocketServerTest.scala
>>78b431f9c88cca1bc5e430ffd41083d0e92b7e75
>>   core/src/test/scala/unit/kafka/producer/AsyncProducerTest.scala
>>1db6ac329f7b54e600802c8a623f80d159d4e69b
>>   core/src/test/scala/unit/kafka/producer/SyncProducerTest.scala
>>d60d8e0f49443f4dc8bc2cad6e2f951eda28f5cb
>>   core/src/test/scala/unit/kafka/server/AdvertiseBrokerTest.scala
>>f0c4a56b61b4f081cf4bee799c6e9c523ff45e19
>>   core/src/test/scala/unit/kafka/server/KafkaConfigTest.scala
>>82dce80d553957d8b5776a9e140c346d4e07f766
>>   core/src/test/scala/unit/kafka/server/LeaderElectionTest.scala
>>c2ba07c5fdbaf0e65ca033b2e4d88f45a8a15b2e
>>   core/src/test/scala/unit/kafka/server/LogOffsetTest.scala
>>c06ee756bf0fe07e5d3c92823a476c960b37afd6
>>   core/src/test/scala/unit/kafka/utils/TestUtils.scala
>>ac15d34425795d5be20c51b01fa1108bdcd66583
>>   
>>system_test/replication_testsuite/testcase_1/testcase_1_properties.json
>>0c6d7a316cc6b51ac0755ca03558507db0706c31
>>   system_test/utils/kafka_system_test_utils.py
>>41d511cbc310fa87e0f2cd2f772e479e8e3ae4e2
>> 
>> Diff: https://reviews.apache.org/r/28769/diff/
>> 
>> 
>> Testing
>> -------
>> 
>> 
>> Thanks,
>> 
>> Gwen Shapira
>> 
>>
>



Re: Review Request 28769: Patch for KAFKA-1809

Posted by Jeff Holoman <je...@gmail.com>.

> On Jan. 23, 2015, 1:57 a.m., Jun Rao wrote:
> > core/src/main/scala/kafka/server/KafkaConfig.scala, lines 182-183
> > <https://reviews.apache.org/r/28769/diff/12/?file=820431#file820431line182>
> >
> >     Since this is also used for communication btw the controller and the brokers, perhaps it's better named as sth like "intra.broker.security.protocol"?

Maybe it makese sense to prepend all security related configs with "security, eg: "security.intra.broker.protocol", "security.new.param.for.future.jira" With all of the upcoming changes it would make security realted configs easy to spot.


- Jeff


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


On Jan. 28, 2015, 6:26 p.m., Gwen Shapira wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/28769/
> -----------------------------------------------------------
> 
> (Updated Jan. 28, 2015, 6:26 p.m.)
> 
> 
> Review request for kafka.
> 
> 
> Bugs: KAFKA-1809
>     https://issues.apache.org/jira/browse/KAFKA-1809
> 
> 
> Repository: kafka
> 
> 
> Description
> -------
> 
> KAFKA-1890 Fix bug preventing Mirror Maker from successful rebalance; reviewed by Gwen Shapira and Neha Narkhede
> 
> 
> first commit of refactoring.
> 
> 
> changed topicmetadata to include brokerendpoints and fixed few unit tests
> 
> 
> fixing systest and support for binding to default address
> 
> 
> fixed system tests
> 
> 
> fix default address binding and ipv6 support
> 
> 
> fix some issues regarding endpoint parsing. Also, larger segments for systest make the validation much faster
> 
> 
> added link to security wiki in doc
> 
> 
> fixing unit test after rename of ProtocolType to SecurityProtocol
> 
> 
> Following Joe's advice, added security protocol enum on client side, and modified protocol to use ID instead of string.
> 
> 
> validate producer config against enum
> 
> 
> add a second protocol for testing and modify SocketServerTests to check on multi-ports
> 
> 
> Reverted the metadata request changes and removed the explicit security protocol argument. Instead the socketserver will determine the protocol based on the port and add this to the request
> 
> 
> bump version for UpdateMetadataRequest and added support for rolling upgrades with new config
> 
> 
> following tests - fixed LeaderAndISR protocol and ZK registration for backward compatibility
> 
> 
> cleaned up some changes that were actually not necessary. hopefully making this patch slightly easier to review
> 
> 
> undoing some changes that don't belong here
> 
> 
> bring back config lost in cleanup
> 
> 
> fixes neccessary for an all non-plaintext cluster to work
> 
> 
> minor modifications following comments by Jun
> 
> 
> added missing license
> 
> 
> formatting
> 
> 
> clean up imports
> 
> 
> cleaned up V2 to not include host+port field. Using use.new.protocol flag to decide which version to serialize
> 
> 
> change endpoints collection in Broker to Map[protocol, endpoint], mostly to be clear that we intend to have one endpoint per protocol
> 
> 
> validate that listeners and advertised listeners have unique ports and protocols
> 
> 
> support legacy configs
> 
> 
> some fixes following rebase
> 
> 
> Reverted to backward compatible zk registration, changed use.new.protocol to support multiple versions and few minor fixes
> 
> 
> Diffs
> -----
> 
>   clients/src/main/java/org/apache/kafka/clients/producer/ProducerConfig.java 8b3e565edd1ae04d8d34bd9f1a41e9fa8c880a75 
>   clients/src/main/java/org/apache/kafka/common/protocol/ApiVersion.java PRE-CREATION 
>   clients/src/main/java/org/apache/kafka/common/protocol/SecurityProtocol.java PRE-CREATION 
>   clients/src/main/java/org/apache/kafka/common/utils/Utils.java 527dd0f9c47fce7310b7a37a9b95bf87f1b9c292 
>   clients/src/test/java/org/apache/kafka/common/utils/UtilsTest.java a39fab532f73148316a56c0f8e9197f38ea66f79 
>   config/server.properties 1614260b71a658b405bb24157c8f12b1f1031aa5 
>   core/src/main/scala/kafka/admin/AdminUtils.scala 28b12c7b89a56c113b665fbde1b95f873f8624a3 
>   core/src/main/scala/kafka/admin/TopicCommand.scala 285c0333ff43543d3e46444c1cd9374bb883bb59 
>   core/src/main/scala/kafka/api/ConsumerMetadataResponse.scala 84f60178f6ebae735c8aa3e79ed93fe21ac4aea7 
>   core/src/main/scala/kafka/api/LeaderAndIsrRequest.scala 4ff7e8f8cc695551dd5d2fe65c74f6b6c571e340 
>   core/src/main/scala/kafka/api/TopicMetadata.scala 0190076df0adf906ecd332284f222ff974b315fc 
>   core/src/main/scala/kafka/api/TopicMetadataResponse.scala 92ac4e687be22e4800199c0666bfac5e0059e5bb 
>   core/src/main/scala/kafka/api/UpdateMetadataRequest.scala 530982e36b17934b8cc5fb668075a5342e142c59 
>   core/src/main/scala/kafka/client/ClientUtils.scala ebba87f0566684c796c26cb76c64b4640a5ccfde 
>   core/src/main/scala/kafka/cluster/Broker.scala 0060add008bb3bc4b0092f2173c469fce0120be6 
>   core/src/main/scala/kafka/cluster/BrokerEndPoint.scala PRE-CREATION 
>   core/src/main/scala/kafka/cluster/EndPoint.scala PRE-CREATION 
>   core/src/main/scala/kafka/cluster/SecurityProtocol.scala PRE-CREATION 
>   core/src/main/scala/kafka/common/BrokerEndPointNotAvailableException.scala PRE-CREATION 
>   core/src/main/scala/kafka/consumer/ConsumerConfig.scala 9ebbee6c16dc83767297c729d2d74ebbd063a993 
>   core/src/main/scala/kafka/consumer/ConsumerFetcherManager.scala b9e2bea7b442a19bcebd1b350d39541a8c9dd068 
>   core/src/main/scala/kafka/consumer/ConsumerFetcherThread.scala ee6139c901082358382c5ef892281386bf6fc91b 
>   core/src/main/scala/kafka/consumer/ZookeeperConsumerConnector.scala 5487259751ebe19f137948249aa1fd2637d2deb4 
>   core/src/main/scala/kafka/controller/ControllerChannelManager.scala eb492f00449744bc8d63f55b393e2a1659d38454 
>   core/src/main/scala/kafka/controller/KafkaController.scala 66df6d2fbdbdd556da6bea0df84f93e0472c8fbf 
>   core/src/main/scala/kafka/javaapi/ConsumerMetadataResponse.scala 1b28861cdf7dfb30fc696b54f8f8f05f730f4ece 
>   core/src/main/scala/kafka/javaapi/TopicMetadata.scala f384e04678df10a5b46a439f475c63371bf8e32b 
>   core/src/main/scala/kafka/network/RequestChannel.scala 7b1db3dbbb2c0676f166890f566c14aa248467ab 
>   core/src/main/scala/kafka/network/SocketServer.scala 39b1651b680b2995cedfde95d74c086d9c6219ef 
>   core/src/main/scala/kafka/producer/ProducerPool.scala 43df70bb461dd3e385e6b20396adef3c4016a3fc 
>   core/src/main/scala/kafka/server/AbstractFetcherManager.scala 20c00cb8cc2351950edbc8cb1752905a0c26e79f 
>   core/src/main/scala/kafka/server/AbstractFetcherThread.scala 8c281d4668f92eff95a4a5df3c03c4b5b20e7095 
>   core/src/main/scala/kafka/server/KafkaApis.scala ec8d9f7ba44741db40875458bd524c4062ad6a26 
>   core/src/main/scala/kafka/server/KafkaConfig.scala 6d74983472249eac808d361344c58cc2858ec971 
>   core/src/main/scala/kafka/server/KafkaHealthcheck.scala 4acdd70fe9c1ee78d6510741006c2ece65450671 
>   core/src/main/scala/kafka/server/KafkaServer.scala 89200da30a04943f0b9befe84ab17e62b747c8c4 
>   core/src/main/scala/kafka/server/MetadataCache.scala bf81a1ab88c14be8697b441eedbeb28fa0112643 
>   core/src/main/scala/kafka/server/ReplicaFetcherManager.scala 351dbbad3bdb709937943b336a5b0a9e0162a5e2 
>   core/src/main/scala/kafka/server/ReplicaFetcherThread.scala 6879e730282185bda3d6bc3659cb15af0672cecf 
>   core/src/main/scala/kafka/server/ReplicaManager.scala e58fbb922e93b0c31dff04f187fcadb4ece986d7 
>   core/src/main/scala/kafka/tools/ConsumerOffsetChecker.scala d1e7c434e77859d746b8dc68dd5d5a3740425e79 
>   core/src/main/scala/kafka/tools/MirrorMaker.scala 5cbc8103e33a0a234d158c048e5314e841da6249 
>   core/src/main/scala/kafka/tools/ReplicaVerificationTool.scala ba6ddd7a909df79a0f7d45e8b4a2af94ea0fceb6 
>   core/src/main/scala/kafka/tools/SimpleConsumerShell.scala b4f903b6c7c3bb725cac7c05eb1f885906413c4d 
>   core/src/main/scala/kafka/tools/UpdateOffsetsInZK.scala 111c9a8b94ce45d95551482e9fd3f8c1cccbf548 
>   core/src/main/scala/kafka/utils/Utils.scala 738c1af9ef5de16fdf5130daab69757a14c48b5c 
>   core/src/main/scala/kafka/utils/ZkUtils.scala c14bd455b6642f5e6eb254670bef9f57ae41d6cb 
>   core/src/test/scala/integration/kafka/api/ProducerFailureHandlingTest.scala 90c0b7a19c7af8e5416e4bdba62b9824f1abd5ab 
>   core/src/test/scala/integration/kafka/api/ProducerSendTest.scala b15237b76def3b234924280fa3fdb25dbb0cc0dc 
>   core/src/test/scala/other/kafka/TestOffsetManager.scala 41f334d48897b3027ed54c58bbf4811487d3b191 
>   core/src/test/scala/unit/kafka/KafkaConfigTest.scala 4d36b8b1173f60d43463c13c9d8c1275a84c8c28 
>   core/src/test/scala/unit/kafka/admin/AddPartitionsTest.scala 1bf2667f47853585bc33ffb3e28256ec5f24ae84 
>   core/src/test/scala/unit/kafka/api/RequestResponseSerializationTest.scala cd16ced5465d098be7a60498326b2a98c248f343 
>   core/src/test/scala/unit/kafka/cluster/BrokerTest.scala PRE-CREATION 
>   core/src/test/scala/unit/kafka/consumer/ConsumerIteratorTest.scala c0355cc0135c6af2e346b4715659353a31723b86 
>   core/src/test/scala/unit/kafka/integration/FetcherTest.scala 25845abbcad2e79f56f729e59239b738d3ddbc9d 
>   core/src/test/scala/unit/kafka/integration/TopicMetadataTest.scala 35dc071b1056e775326981573c9618d8046e601d 
>   core/src/test/scala/unit/kafka/log/LogTest.scala c2dd8eb69da8c0982a0dd20231c6f8bd58eb623e 
>   core/src/test/scala/unit/kafka/network/SocketServerTest.scala 78b431f9c88cca1bc5e430ffd41083d0e92b7e75 
>   core/src/test/scala/unit/kafka/producer/AsyncProducerTest.scala 1db6ac329f7b54e600802c8a623f80d159d4e69b 
>   core/src/test/scala/unit/kafka/producer/SyncProducerTest.scala d60d8e0f49443f4dc8bc2cad6e2f951eda28f5cb 
>   core/src/test/scala/unit/kafka/server/AdvertiseBrokerTest.scala f0c4a56b61b4f081cf4bee799c6e9c523ff45e19 
>   core/src/test/scala/unit/kafka/server/KafkaConfigTest.scala 82dce80d553957d8b5776a9e140c346d4e07f766 
>   core/src/test/scala/unit/kafka/server/LeaderElectionTest.scala c2ba07c5fdbaf0e65ca033b2e4d88f45a8a15b2e 
>   core/src/test/scala/unit/kafka/server/LogOffsetTest.scala c06ee756bf0fe07e5d3c92823a476c960b37afd6 
>   core/src/test/scala/unit/kafka/utils/TestUtils.scala ac15d34425795d5be20c51b01fa1108bdcd66583 
>   system_test/replication_testsuite/testcase_1/testcase_1_properties.json 0c6d7a316cc6b51ac0755ca03558507db0706c31 
>   system_test/utils/kafka_system_test_utils.py 41d511cbc310fa87e0f2cd2f772e479e8e3ae4e2 
> 
> Diff: https://reviews.apache.org/r/28769/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Gwen Shapira
> 
>


Re: Review Request 28769: Patch for KAFKA-1809

Posted by Gwen Shapira <gs...@cloudera.com>.

> On Jan. 23, 2015, 1:57 a.m., Jun Rao wrote:
> > Thanks for the patch. Looks promising. Some comments.
> > 
> > 1. I overlooked this when I suggested the new broker format in ZK. This means that we will need to upgrade all consumer clients before we can turn on the flag of using the new protocol on the brokers, which may not be convenient. Now, I think your earlier approach is probably better because of this?

Yeah, this will break ZK consumer :(

I'm having second thoughts about the use.new.wire.protocol flag. After finishing the upgrade, it will have to be "true" on all brokers. Then during the next upgrade you'll need to set it back to "false", and then back to true again...

Perhaps we need something like:
wire.protocol.version
and accept values like 0.8.2, 0.8.3, 0.9, etc? This way you won't have to change it twice on each upgrade.

Thoughts?


> On Jan. 23, 2015, 1:57 a.m., Jun Rao wrote:
> > core/src/main/scala/kafka/javaapi/TopicMetadata.scala, lines 55-65
> > <https://reviews.apache.org/r/28769/diff/12/?file=820424#file820424line55>
> >
> >     Technically, this is an api change since it's used in javaapi.SimpleConsumer. The caller will now get a different type in the response. An alternative is to leave Broker as it is and create sth like BrokerProfile to include all endpoints. Perhaps, we need to discuss this in WIP a bit, whether it's better to break the api in order to use a more meaningingful class name, or not break the api and stick with a lousy name.

Yeah, I think I mentioned that at one of the discussions. 
We decided we don't want to support the new security protocols on the old clients (which will be deprecated by the time this is included in a release), we definitely don't want to demand upgrade of clients during broker upgrade - but this API breakage won't do it.

It just means that if you build a Simple Consumer, the highest version you can depend on is 0.8.2. Simple Consumers built on old versions will keep working (since we kept wire protocol compatible), and they will simple serialize the TopicMetadataResponse into Broker.

Upgrades will work as long as no one will change dependencies and rebuild clients, which sounds fairly reasonable to me.

I'll bring it up on the mailing list.


> On Jan. 23, 2015, 1:57 a.m., Jun Rao wrote:
> > core/src/main/scala/kafka/server/KafkaConfig.scala, lines 185-186
> > <https://reviews.apache.org/r/28769/diff/12/?file=820431#file820431line185>
> >
> >     I am thinking about how we should name this field. Since this is only needed for internal communication among brokers, perhaps we should name it as sth like use.new.intra.broker.wire.protocol. My next question is what happens if we have intra broker protocol changes in 2 releases. Do we want to use different names so that we can enable each change independantly? An alternative is to have the same property name and the meaning is to turn on intra broker changes introduced in this release only. The latter implies that one can't skip the upgrading of the intermediate release. So, my feeling is that probably the former will be better? Perhaps we can bring this up in the WIP discussion.

I also had thoughts about it (see my reply to first comment). Lets discuss on mailing list.


> On Jan. 23, 2015, 1:57 a.m., Jun Rao wrote:
> > kafka-patch-review.py, line 10
> > <https://reviews.apache.org/r/28769/diff/12/?file=820463#file820463line10>
> >
> >     Are the changes in this file intended?

I rebased and it looks like a bunch of stuff got included by mistake. Not sure if I did something wrong or its an issue in the patch review tool. 
Anyway, I'll clean it up.


> On Jan. 23, 2015, 1:57 a.m., Jun Rao wrote:
> > system_test/utils/kafka_system_test_utils.py, lines 389-396
> > <https://reviews.apache.org/r/28769/diff/12/?file=820465#file820465line389>
> >
> >     I thought protocol is specified separately, and not in broker.list?

yes, it is separate.
I think these properties are reused to start the brokers too (as "listeners"), but I'll have to double check here.


- Gwen


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


On Jan. 14, 2015, 2:16 a.m., Gwen Shapira wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/28769/
> -----------------------------------------------------------
> 
> (Updated Jan. 14, 2015, 2:16 a.m.)
> 
> 
> Review request for kafka.
> 
> 
> Bugs: KAFKA-1809
>     https://issues.apache.org/jira/browse/KAFKA-1809
> 
> 
> Repository: kafka
> 
> 
> Description
> -------
> 
> trivial change to add byte serializer to ProducerPerformance; patched by Jun Rao
> 
> 
> first commit of refactoring.
> 
> 
> changed topicmetadata to include brokerendpoints and fixed few unit tests
> 
> 
> fixing systest and support for binding to default address
> 
> 
> fixed system tests
> 
> 
> fix default address binding and ipv6 support
> 
> 
> fix some issues regarding endpoint parsing. Also, larger segments for systest make the validation much faster
> 
> 
> added link to security wiki in doc
> 
> 
> fixing unit test after rename of ProtocolType to SecurityProtocol
> 
> 
> Following Joe's advice, added security protocol enum on client side, and modified protocol to use ID instead of string.
> 
> 
> validate producer config against enum
> 
> 
> add a second protocol for testing and modify SocketServerTests to check on multi-ports
> 
> 
> Reverted the metadata request changes and removed the explicit security protocol argument. Instead the socketserver will determine the protocol based on the port and add this to the request
> 
> 
> bump version for UpdateMetadataRequest and added support for rolling upgrades with new config
> 
> 
> following tests - fixed LeaderAndISR protocol and ZK registration for backward compatibility
> 
> 
> cleaned up some changes that were actually not necessary. hopefully making this patch slightly easier to review
> 
> 
> undoing some changes that don't belong here
> 
> 
> bring back config lost in cleanup
> 
> 
> fixes neccessary for an all non-plaintext cluster to work
> 
> 
> minor modifications following comments by Jun
> 
> 
> added missing license
> 
> 
> formatting
> 
> 
> clean up imports
> 
> 
> cleaned up V2 to not include host+port field. Using use.new.protocol flag to decide which version to serialize
> 
> 
> change endpoints collection in Broker to Map[protocol, endpoint], mostly to be clear that we intend to have one endpoint per protocol
> 
> 
> validate that listeners and advertised listeners have unique ports and protocols
> 
> 
> support legacy configs
> 
> 
> some fixes following rebase
> 
> 
> Diffs
> -----
> 
>   clients/src/main/java/org/apache/kafka/clients/producer/ProducerConfig.java 8b3e565edd1ae04d8d34bd9f1a41e9fa8c880a75 
>   clients/src/main/java/org/apache/kafka/clients/tools/ProducerPerformance.java 1b828007975ef8893717b425ed96874d4ef7053f 
>   clients/src/main/java/org/apache/kafka/common/protocol/SecurityProtocol.java PRE-CREATION 
>   clients/src/main/java/org/apache/kafka/common/utils/Utils.java 527dd0f9c47fce7310b7a37a9b95bf87f1b9c292 
>   clients/src/test/java/org/apache/kafka/common/utils/ClientUtilsTest.java 6e37ea553f73d9c584641c48c56dbf6e62ba5f88 
>   clients/src/test/java/org/apache/kafka/common/utils/UtilsTest.java a39fab532f73148316a56c0f8e9197f38ea66f79 
>   config/server.properties b0e4496a8ca736b6abe965a430e8ce87b0e8287f 
>   core/src/main/scala/kafka/admin/AdminUtils.scala 28b12c7b89a56c113b665fbde1b95f873f8624a3 
>   core/src/main/scala/kafka/admin/TopicCommand.scala 285c0333ff43543d3e46444c1cd9374bb883bb59 
>   core/src/main/scala/kafka/api/ConsumerMetadataResponse.scala 84f60178f6ebae735c8aa3e79ed93fe21ac4aea7 
>   core/src/main/scala/kafka/api/LeaderAndIsrRequest.scala 4ff7e8f8cc695551dd5d2fe65c74f6b6c571e340 
>   core/src/main/scala/kafka/api/TopicMetadata.scala 0190076df0adf906ecd332284f222ff974b315fc 
>   core/src/main/scala/kafka/api/TopicMetadataResponse.scala 92ac4e687be22e4800199c0666bfac5e0059e5bb 
>   core/src/main/scala/kafka/api/UpdateMetadataRequest.scala 530982e36b17934b8cc5fb668075a5342e142c59 
>   core/src/main/scala/kafka/client/ClientUtils.scala ebba87f0566684c796c26cb76c64b4640a5ccfde 
>   core/src/main/scala/kafka/cluster/Broker.scala 0060add008bb3bc4b0092f2173c469fce0120be6 
>   core/src/main/scala/kafka/cluster/BrokerEndPoint.scala PRE-CREATION 
>   core/src/main/scala/kafka/cluster/EndPoint.scala PRE-CREATION 
>   core/src/main/scala/kafka/cluster/SecurityProtocol.scala PRE-CREATION 
>   core/src/main/scala/kafka/common/BrokerEndPointNotAvailableException.scala PRE-CREATION 
>   core/src/main/scala/kafka/consumer/ConsumerConfig.scala 9ebbee6c16dc83767297c729d2d74ebbd063a993 
>   core/src/main/scala/kafka/consumer/ConsumerFetcherManager.scala b9e2bea7b442a19bcebd1b350d39541a8c9dd068 
>   core/src/main/scala/kafka/consumer/ConsumerFetcherThread.scala ee6139c901082358382c5ef892281386bf6fc91b 
>   core/src/main/scala/kafka/consumer/ZookeeperConsumerConnector.scala 191a8677444e53b043e9ad6e94c5a9191c32599e 
>   core/src/main/scala/kafka/controller/ControllerChannelManager.scala eb492f00449744bc8d63f55b393e2a1659d38454 
>   core/src/main/scala/kafka/controller/KafkaController.scala 66df6d2fbdbdd556da6bea0df84f93e0472c8fbf 
>   core/src/main/scala/kafka/javaapi/ConsumerMetadataResponse.scala 1b28861cdf7dfb30fc696b54f8f8f05f730f4ece 
>   core/src/main/scala/kafka/javaapi/TopicMetadata.scala f384e04678df10a5b46a439f475c63371bf8e32b 
>   core/src/main/scala/kafka/network/RequestChannel.scala 7b1db3dbbb2c0676f166890f566c14aa248467ab 
>   core/src/main/scala/kafka/network/SocketServer.scala 39b1651b680b2995cedfde95d74c086d9c6219ef 
>   core/src/main/scala/kafka/producer/ProducerPool.scala 43df70bb461dd3e385e6b20396adef3c4016a3fc 
>   core/src/main/scala/kafka/server/AbstractFetcherManager.scala 20c00cb8cc2351950edbc8cb1752905a0c26e79f 
>   core/src/main/scala/kafka/server/AbstractFetcherThread.scala 8c281d4668f92eff95a4a5df3c03c4b5b20e7095 
>   core/src/main/scala/kafka/server/KafkaApis.scala c011a1b79bd6c4e832fe7d097daacb0d647d1cd4 
>   core/src/main/scala/kafka/server/KafkaConfig.scala bbd3fd75e83961c971e50cf83d48db79a3da8791 
>   core/src/main/scala/kafka/server/KafkaHealthcheck.scala 4acdd70fe9c1ee78d6510741006c2ece65450671 
>   core/src/main/scala/kafka/server/KafkaServer.scala a069eb9272c92ef62387304b60de1fe473d7ff49 
>   core/src/main/scala/kafka/server/MetadataCache.scala bf81a1ab88c14be8697b441eedbeb28fa0112643 
>   core/src/main/scala/kafka/server/ReplicaFetcherManager.scala 351dbbad3bdb709937943b336a5b0a9e0162a5e2 
>   core/src/main/scala/kafka/server/ReplicaFetcherThread.scala 6879e730282185bda3d6bc3659cb15af0672cecf 
>   core/src/main/scala/kafka/server/ReplicaManager.scala e58fbb922e93b0c31dff04f187fcadb4ece986d7 
>   core/src/main/scala/kafka/tools/ConsumerOffsetChecker.scala d1e7c434e77859d746b8dc68dd5d5a3740425e79 
>   core/src/main/scala/kafka/tools/ReplicaVerificationTool.scala ba6ddd7a909df79a0f7d45e8b4a2af94ea0fceb6 
>   core/src/main/scala/kafka/tools/SimpleConsumerShell.scala b4f903b6c7c3bb725cac7c05eb1f885906413c4d 
>   core/src/main/scala/kafka/tools/UpdateOffsetsInZK.scala 111c9a8b94ce45d95551482e9fd3f8c1cccbf548 
>   core/src/main/scala/kafka/utils/Utils.scala 738c1af9ef5de16fdf5130daab69757a14c48b5c 
>   core/src/main/scala/kafka/utils/ZkUtils.scala c14bd455b6642f5e6eb254670bef9f57ae41d6cb 
>   core/src/test/scala/integration/kafka/api/ProducerFailureHandlingTest.scala 5ec613cdb50b93bfe4477e89554dfc3768759b18 
>   core/src/test/scala/integration/kafka/api/ProducerSendTest.scala b15237b76def3b234924280fa3fdb25dbb0cc0dc 
>   core/src/test/scala/other/kafka/TestOffsetManager.scala 41f334d48897b3027ed54c58bbf4811487d3b191 
>   core/src/test/scala/unit/kafka/KafkaConfigTest.scala 4d36b8b1173f60d43463c13c9d8c1275a84c8c28 
>   core/src/test/scala/unit/kafka/admin/AddPartitionsTest.scala 1bf2667f47853585bc33ffb3e28256ec5f24ae84 
>   core/src/test/scala/unit/kafka/api/RequestResponseSerializationTest.scala cd16ced5465d098be7a60498326b2a98c248f343 
>   core/src/test/scala/unit/kafka/cluster/BrokerTest.scala PRE-CREATION 
>   core/src/test/scala/unit/kafka/consumer/ConsumerIteratorTest.scala c0355cc0135c6af2e346b4715659353a31723b86 
>   core/src/test/scala/unit/kafka/integration/FetcherTest.scala 25845abbcad2e79f56f729e59239b738d3ddbc9d 
>   core/src/test/scala/unit/kafka/integration/TopicMetadataTest.scala 35dc071b1056e775326981573c9618d8046e601d 
>   core/src/test/scala/unit/kafka/log/LogTest.scala c2dd8eb69da8c0982a0dd20231c6f8bd58eb623e 
>   core/src/test/scala/unit/kafka/network/SocketServerTest.scala 78b431f9c88cca1bc5e430ffd41083d0e92b7e75 
>   core/src/test/scala/unit/kafka/producer/AsyncProducerTest.scala 1db6ac329f7b54e600802c8a623f80d159d4e69b 
>   core/src/test/scala/unit/kafka/producer/SyncProducerTest.scala d60d8e0f49443f4dc8bc2cad6e2f951eda28f5cb 
>   core/src/test/scala/unit/kafka/server/AdvertiseBrokerTest.scala f0c4a56b61b4f081cf4bee799c6e9c523ff45e19 
>   core/src/test/scala/unit/kafka/server/KafkaConfigTest.scala 2377abe4933e065d037828a214c3a87e1773a8ef 
>   core/src/test/scala/unit/kafka/server/LeaderElectionTest.scala c2ba07c5fdbaf0e65ca033b2e4d88f45a8a15b2e 
>   core/src/test/scala/unit/kafka/server/LogOffsetTest.scala c06ee756bf0fe07e5d3c92823a476c960b37afd6 
>   core/src/test/scala/unit/kafka/utils/TestUtils.scala ac15d34425795d5be20c51b01fa1108bdcd66583 
>   kafka-patch-review.py b7f132f9d210b8648859ab8f9c89f30ec128ab38 
>   system_test/replication_testsuite/testcase_1/testcase_1_properties.json 0c6d7a316cc6b51ac0755ca03558507db0706c31 
>   system_test/utils/kafka_system_test_utils.py 41d511cbc310fa87e0f2cd2f772e479e8e3ae4e2 
> 
> Diff: https://reviews.apache.org/r/28769/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Gwen Shapira
> 
>


Re: Review Request 28769: Patch for KAFKA-1809

Posted by Jun Rao <ju...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/28769/#review69281
-----------------------------------------------------------


Thanks for the patch. Looks promising. Some comments.

1. I overlooked this when I suggested the new broker format in ZK. This means that we will need to upgrade all consumer clients before we can turn on the flag of using the new protocol on the brokers, which may not be convenient. Now, I think your earlier approach is probably better because of this?


clients/src/main/java/org/apache/kafka/clients/tools/ProducerPerformance.java
<https://reviews.apache.org/r/28769/#comment113925>

    This is probably not intended.



clients/src/test/java/org/apache/kafka/common/utils/UtilsTest.java
<https://reviews.apache.org/r/28769/#comment113940>

    I thought the security protocol is a seperate config in the client and not part of the broker.list. Do we need to specify the protocol here?



core/src/main/scala/kafka/cluster/Broker.scala
<https://reviews.apache.org/r/28769/#comment113963>

    channel -> protocol?



core/src/main/scala/kafka/cluster/Broker.scala
<https://reviews.apache.org/r/28769/#comment113975>

    The implementation seems to represent the endpoints as a single string in csv, not a map?



core/src/main/scala/kafka/javaapi/TopicMetadata.scala
<https://reviews.apache.org/r/28769/#comment113978>

    Technically, this is an api change since it's used in javaapi.SimpleConsumer. The caller will now get a different type in the response. An alternative is to leave Broker as it is and create sth like BrokerProfile to include all endpoints. Perhaps, we need to discuss this in WIP a bit, whether it's better to break the api in order to use a more meaningingful class name, or not break the api and stick with a lousy name.



core/src/main/scala/kafka/network/SocketServer.scala
<https://reviews.apache.org/r/28769/#comment113981>

    KAFKA-1683



core/src/main/scala/kafka/network/SocketServer.scala
<https://reviews.apache.org/r/28769/#comment113983>

    It seems that we should always be able to find the port in the map. So, perhaps we should just do portToProtocol(port).



core/src/main/scala/kafka/server/KafkaConfig.scala
<https://reviews.apache.org/r/28769/#comment113985>

    Perhaps we can give an example URI.



core/src/main/scala/kafka/server/KafkaConfig.scala
<https://reviews.apache.org/r/28769/#comment113969>

    Since this is also used for communication btw the controller and the brokers, perhaps it's better named as sth like "intra.broker.security.protocol"?



core/src/main/scala/kafka/server/KafkaConfig.scala
<https://reviews.apache.org/r/28769/#comment113949>

    I am thinking about how we should name this field. Since this is only needed for internal communication among brokers, perhaps we should name it as sth like use.new.intra.broker.wire.protocol. My next question is what happens if we have intra broker protocol changes in 2 releases. Do we want to use different names so that we can enable each change independantly? An alternative is to have the same property name and the meaning is to turn on intra broker changes introduced in this release only. The latter implies that one can't skip the upgrading of the intermediate release. So, my feeling is that probably the former will be better? Perhaps we can bring this up in the WIP discussion.



core/src/test/scala/unit/kafka/producer/SyncProducerTest.scala
<https://reviews.apache.org/r/28769/#comment113990>

    This can be just endpoints(SecurityProtocol.PLAINTEXT).



kafka-patch-review.py
<https://reviews.apache.org/r/28769/#comment113920>

    Are the changes in this file intended?



system_test/utils/kafka_system_test_utils.py
<https://reviews.apache.org/r/28769/#comment113996>

    I thought protocol is specified separately, and not in broker.list?


- Jun Rao


On Jan. 14, 2015, 2:16 a.m., Gwen Shapira wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/28769/
> -----------------------------------------------------------
> 
> (Updated Jan. 14, 2015, 2:16 a.m.)
> 
> 
> Review request for kafka.
> 
> 
> Bugs: KAFKA-1809
>     https://issues.apache.org/jira/browse/KAFKA-1809
> 
> 
> Repository: kafka
> 
> 
> Description
> -------
> 
> trivial change to add byte serializer to ProducerPerformance; patched by Jun Rao
> 
> 
> first commit of refactoring.
> 
> 
> changed topicmetadata to include brokerendpoints and fixed few unit tests
> 
> 
> fixing systest and support for binding to default address
> 
> 
> fixed system tests
> 
> 
> fix default address binding and ipv6 support
> 
> 
> fix some issues regarding endpoint parsing. Also, larger segments for systest make the validation much faster
> 
> 
> added link to security wiki in doc
> 
> 
> fixing unit test after rename of ProtocolType to SecurityProtocol
> 
> 
> Following Joe's advice, added security protocol enum on client side, and modified protocol to use ID instead of string.
> 
> 
> validate producer config against enum
> 
> 
> add a second protocol for testing and modify SocketServerTests to check on multi-ports
> 
> 
> Reverted the metadata request changes and removed the explicit security protocol argument. Instead the socketserver will determine the protocol based on the port and add this to the request
> 
> 
> bump version for UpdateMetadataRequest and added support for rolling upgrades with new config
> 
> 
> following tests - fixed LeaderAndISR protocol and ZK registration for backward compatibility
> 
> 
> cleaned up some changes that were actually not necessary. hopefully making this patch slightly easier to review
> 
> 
> undoing some changes that don't belong here
> 
> 
> bring back config lost in cleanup
> 
> 
> fixes neccessary for an all non-plaintext cluster to work
> 
> 
> minor modifications following comments by Jun
> 
> 
> added missing license
> 
> 
> formatting
> 
> 
> clean up imports
> 
> 
> cleaned up V2 to not include host+port field. Using use.new.protocol flag to decide which version to serialize
> 
> 
> change endpoints collection in Broker to Map[protocol, endpoint], mostly to be clear that we intend to have one endpoint per protocol
> 
> 
> validate that listeners and advertised listeners have unique ports and protocols
> 
> 
> support legacy configs
> 
> 
> some fixes following rebase
> 
> 
> Diffs
> -----
> 
>   clients/src/main/java/org/apache/kafka/clients/producer/ProducerConfig.java 8b3e565edd1ae04d8d34bd9f1a41e9fa8c880a75 
>   clients/src/main/java/org/apache/kafka/clients/tools/ProducerPerformance.java 1b828007975ef8893717b425ed96874d4ef7053f 
>   clients/src/main/java/org/apache/kafka/common/protocol/SecurityProtocol.java PRE-CREATION 
>   clients/src/main/java/org/apache/kafka/common/utils/Utils.java 527dd0f9c47fce7310b7a37a9b95bf87f1b9c292 
>   clients/src/test/java/org/apache/kafka/common/utils/ClientUtilsTest.java 6e37ea553f73d9c584641c48c56dbf6e62ba5f88 
>   clients/src/test/java/org/apache/kafka/common/utils/UtilsTest.java a39fab532f73148316a56c0f8e9197f38ea66f79 
>   config/server.properties b0e4496a8ca736b6abe965a430e8ce87b0e8287f 
>   core/src/main/scala/kafka/admin/AdminUtils.scala 28b12c7b89a56c113b665fbde1b95f873f8624a3 
>   core/src/main/scala/kafka/admin/TopicCommand.scala 285c0333ff43543d3e46444c1cd9374bb883bb59 
>   core/src/main/scala/kafka/api/ConsumerMetadataResponse.scala 84f60178f6ebae735c8aa3e79ed93fe21ac4aea7 
>   core/src/main/scala/kafka/api/LeaderAndIsrRequest.scala 4ff7e8f8cc695551dd5d2fe65c74f6b6c571e340 
>   core/src/main/scala/kafka/api/TopicMetadata.scala 0190076df0adf906ecd332284f222ff974b315fc 
>   core/src/main/scala/kafka/api/TopicMetadataResponse.scala 92ac4e687be22e4800199c0666bfac5e0059e5bb 
>   core/src/main/scala/kafka/api/UpdateMetadataRequest.scala 530982e36b17934b8cc5fb668075a5342e142c59 
>   core/src/main/scala/kafka/client/ClientUtils.scala ebba87f0566684c796c26cb76c64b4640a5ccfde 
>   core/src/main/scala/kafka/cluster/Broker.scala 0060add008bb3bc4b0092f2173c469fce0120be6 
>   core/src/main/scala/kafka/cluster/BrokerEndPoint.scala PRE-CREATION 
>   core/src/main/scala/kafka/cluster/EndPoint.scala PRE-CREATION 
>   core/src/main/scala/kafka/cluster/SecurityProtocol.scala PRE-CREATION 
>   core/src/main/scala/kafka/common/BrokerEndPointNotAvailableException.scala PRE-CREATION 
>   core/src/main/scala/kafka/consumer/ConsumerConfig.scala 9ebbee6c16dc83767297c729d2d74ebbd063a993 
>   core/src/main/scala/kafka/consumer/ConsumerFetcherManager.scala b9e2bea7b442a19bcebd1b350d39541a8c9dd068 
>   core/src/main/scala/kafka/consumer/ConsumerFetcherThread.scala ee6139c901082358382c5ef892281386bf6fc91b 
>   core/src/main/scala/kafka/consumer/ZookeeperConsumerConnector.scala 191a8677444e53b043e9ad6e94c5a9191c32599e 
>   core/src/main/scala/kafka/controller/ControllerChannelManager.scala eb492f00449744bc8d63f55b393e2a1659d38454 
>   core/src/main/scala/kafka/controller/KafkaController.scala 66df6d2fbdbdd556da6bea0df84f93e0472c8fbf 
>   core/src/main/scala/kafka/javaapi/ConsumerMetadataResponse.scala 1b28861cdf7dfb30fc696b54f8f8f05f730f4ece 
>   core/src/main/scala/kafka/javaapi/TopicMetadata.scala f384e04678df10a5b46a439f475c63371bf8e32b 
>   core/src/main/scala/kafka/network/RequestChannel.scala 7b1db3dbbb2c0676f166890f566c14aa248467ab 
>   core/src/main/scala/kafka/network/SocketServer.scala 39b1651b680b2995cedfde95d74c086d9c6219ef 
>   core/src/main/scala/kafka/producer/ProducerPool.scala 43df70bb461dd3e385e6b20396adef3c4016a3fc 
>   core/src/main/scala/kafka/server/AbstractFetcherManager.scala 20c00cb8cc2351950edbc8cb1752905a0c26e79f 
>   core/src/main/scala/kafka/server/AbstractFetcherThread.scala 8c281d4668f92eff95a4a5df3c03c4b5b20e7095 
>   core/src/main/scala/kafka/server/KafkaApis.scala c011a1b79bd6c4e832fe7d097daacb0d647d1cd4 
>   core/src/main/scala/kafka/server/KafkaConfig.scala bbd3fd75e83961c971e50cf83d48db79a3da8791 
>   core/src/main/scala/kafka/server/KafkaHealthcheck.scala 4acdd70fe9c1ee78d6510741006c2ece65450671 
>   core/src/main/scala/kafka/server/KafkaServer.scala a069eb9272c92ef62387304b60de1fe473d7ff49 
>   core/src/main/scala/kafka/server/MetadataCache.scala bf81a1ab88c14be8697b441eedbeb28fa0112643 
>   core/src/main/scala/kafka/server/ReplicaFetcherManager.scala 351dbbad3bdb709937943b336a5b0a9e0162a5e2 
>   core/src/main/scala/kafka/server/ReplicaFetcherThread.scala 6879e730282185bda3d6bc3659cb15af0672cecf 
>   core/src/main/scala/kafka/server/ReplicaManager.scala e58fbb922e93b0c31dff04f187fcadb4ece986d7 
>   core/src/main/scala/kafka/tools/ConsumerOffsetChecker.scala d1e7c434e77859d746b8dc68dd5d5a3740425e79 
>   core/src/main/scala/kafka/tools/ReplicaVerificationTool.scala ba6ddd7a909df79a0f7d45e8b4a2af94ea0fceb6 
>   core/src/main/scala/kafka/tools/SimpleConsumerShell.scala b4f903b6c7c3bb725cac7c05eb1f885906413c4d 
>   core/src/main/scala/kafka/tools/UpdateOffsetsInZK.scala 111c9a8b94ce45d95551482e9fd3f8c1cccbf548 
>   core/src/main/scala/kafka/utils/Utils.scala 738c1af9ef5de16fdf5130daab69757a14c48b5c 
>   core/src/main/scala/kafka/utils/ZkUtils.scala c14bd455b6642f5e6eb254670bef9f57ae41d6cb 
>   core/src/test/scala/integration/kafka/api/ProducerFailureHandlingTest.scala 5ec613cdb50b93bfe4477e89554dfc3768759b18 
>   core/src/test/scala/integration/kafka/api/ProducerSendTest.scala b15237b76def3b234924280fa3fdb25dbb0cc0dc 
>   core/src/test/scala/other/kafka/TestOffsetManager.scala 41f334d48897b3027ed54c58bbf4811487d3b191 
>   core/src/test/scala/unit/kafka/KafkaConfigTest.scala 4d36b8b1173f60d43463c13c9d8c1275a84c8c28 
>   core/src/test/scala/unit/kafka/admin/AddPartitionsTest.scala 1bf2667f47853585bc33ffb3e28256ec5f24ae84 
>   core/src/test/scala/unit/kafka/api/RequestResponseSerializationTest.scala cd16ced5465d098be7a60498326b2a98c248f343 
>   core/src/test/scala/unit/kafka/cluster/BrokerTest.scala PRE-CREATION 
>   core/src/test/scala/unit/kafka/consumer/ConsumerIteratorTest.scala c0355cc0135c6af2e346b4715659353a31723b86 
>   core/src/test/scala/unit/kafka/integration/FetcherTest.scala 25845abbcad2e79f56f729e59239b738d3ddbc9d 
>   core/src/test/scala/unit/kafka/integration/TopicMetadataTest.scala 35dc071b1056e775326981573c9618d8046e601d 
>   core/src/test/scala/unit/kafka/log/LogTest.scala c2dd8eb69da8c0982a0dd20231c6f8bd58eb623e 
>   core/src/test/scala/unit/kafka/network/SocketServerTest.scala 78b431f9c88cca1bc5e430ffd41083d0e92b7e75 
>   core/src/test/scala/unit/kafka/producer/AsyncProducerTest.scala 1db6ac329f7b54e600802c8a623f80d159d4e69b 
>   core/src/test/scala/unit/kafka/producer/SyncProducerTest.scala d60d8e0f49443f4dc8bc2cad6e2f951eda28f5cb 
>   core/src/test/scala/unit/kafka/server/AdvertiseBrokerTest.scala f0c4a56b61b4f081cf4bee799c6e9c523ff45e19 
>   core/src/test/scala/unit/kafka/server/KafkaConfigTest.scala 2377abe4933e065d037828a214c3a87e1773a8ef 
>   core/src/test/scala/unit/kafka/server/LeaderElectionTest.scala c2ba07c5fdbaf0e65ca033b2e4d88f45a8a15b2e 
>   core/src/test/scala/unit/kafka/server/LogOffsetTest.scala c06ee756bf0fe07e5d3c92823a476c960b37afd6 
>   core/src/test/scala/unit/kafka/utils/TestUtils.scala ac15d34425795d5be20c51b01fa1108bdcd66583 
>   kafka-patch-review.py b7f132f9d210b8648859ab8f9c89f30ec128ab38 
>   system_test/replication_testsuite/testcase_1/testcase_1_properties.json 0c6d7a316cc6b51ac0755ca03558507db0706c31 
>   system_test/utils/kafka_system_test_utils.py 41d511cbc310fa87e0f2cd2f772e479e8e3ae4e2 
> 
> Diff: https://reviews.apache.org/r/28769/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Gwen Shapira
> 
>


Re: Review Request 28769: Patch for KAFKA-1809

Posted by Jun Rao <ju...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/28769/#review78867
-----------------------------------------------------------


Could you also make a pass of unused imports? I saw unused imports at least in Broker.scala.

- Jun Rao


On April 3, 2015, 2:04 a.m., Gwen Shapira wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/28769/
> -----------------------------------------------------------
> 
> (Updated April 3, 2015, 2:04 a.m.)
> 
> 
> Review request for kafka.
> 
> 
> Bugs: KAFKA-1809
>     https://issues.apache.org/jira/browse/KAFKA-1809
> 
> 
> Repository: kafka
> 
> 
> Description
> -------
> 
> forgot rest of patch
> 
> 
> merge with trunk
> 
> 
> moved ApiVersion to core, fixed SocketServer concurrency issue and other minor things
> 
> 
> Merge branch 'trunk' of http://git-wip-us.apache.org/repos/asf/kafka into broker_ref2
> 
> Conflicts:
> 	core/src/main/scala/kafka/server/KafkaApis.scala
> 	core/src/test/scala/unit/kafka/api/RequestResponseSerializationTest.scala
> 
> addressing Joel's comments and added support for older versions in inter.broker.protocol.version to make upgrades from older versions a bit clearer.
> 
> 
> Diffs
> -----
> 
>   clients/src/main/java/org/apache/kafka/clients/producer/ProducerConfig.java fa9daaef66ff7961e1c46cd0cd8fed18a53bccd8 
>   clients/src/main/java/org/apache/kafka/common/protocol/SecurityProtocol.java PRE-CREATION 
>   clients/src/main/java/org/apache/kafka/common/utils/Utils.java 920b51a6c3c99639fbc9dc065637eeee3c19fabd 
>   clients/src/test/java/org/apache/kafka/common/utils/UtilsTest.java c899813d55b9c4786adde3d840f040d6645d27c8 
>   config/server.properties 1614260b71a658b405bb24157c8f12b1f1031aa5 
>   core/src/main/scala/kafka/admin/AdminUtils.scala b700110f2d7f1ede235af55d8e37e1b5592c6c7d 
>   core/src/main/scala/kafka/admin/TopicCommand.scala f400b71f8444fffd3fc1d8398a283682390eba4e 
>   core/src/main/scala/kafka/api/ApiVersion.scala PRE-CREATION 
>   core/src/main/scala/kafka/api/ConsumerMetadataResponse.scala 24aaf954dc42e2084454fa5fc9e8f388ea95c756 
>   core/src/main/scala/kafka/api/LeaderAndIsrRequest.scala 4ff7e8f8cc695551dd5d2fe65c74f6b6c571e340 
>   core/src/main/scala/kafka/api/TopicMetadata.scala 0190076df0adf906ecd332284f222ff974b315fc 
>   core/src/main/scala/kafka/api/TopicMetadataResponse.scala 92ac4e687be22e4800199c0666bfac5e0059e5bb 
>   core/src/main/scala/kafka/api/UpdateMetadataRequest.scala 530982e36b17934b8cc5fb668075a5342e142c59 
>   core/src/main/scala/kafka/client/ClientUtils.scala ebba87f0566684c796c26cb76c64b4640a5ccfde 
>   core/src/main/scala/kafka/cluster/Broker.scala 0060add008bb3bc4b0092f2173c469fce0120be6 
>   core/src/main/scala/kafka/cluster/BrokerEndPoint.scala PRE-CREATION 
>   core/src/main/scala/kafka/cluster/EndPoint.scala PRE-CREATION 
>   core/src/main/scala/kafka/cluster/SecurityProtocol.scala PRE-CREATION 
>   core/src/main/scala/kafka/common/BrokerEndPointNotAvailableException.scala PRE-CREATION 
>   core/src/main/scala/kafka/consumer/ConsumerConfig.scala 9ebbee6c16dc83767297c729d2d74ebbd063a993 
>   core/src/main/scala/kafka/consumer/ConsumerFetcherManager.scala b9e2bea7b442a19bcebd1b350d39541a8c9dd068 
>   core/src/main/scala/kafka/consumer/ConsumerFetcherThread.scala 152fda5d1dcdf319399fdeeb8457006090ebe56c 
>   core/src/main/scala/kafka/consumer/ZookeeperConsumerConnector.scala b1cf0db8741e384e4e4119751058ea87b2589e57 
>   core/src/main/scala/kafka/controller/ControllerChannelManager.scala c582191636f6188c25d62a67ff0315b56f163133 
>   core/src/main/scala/kafka/controller/KafkaController.scala 09fc46d759b74bcdad2d2a610d9c5a93ff02423f 
>   core/src/main/scala/kafka/javaapi/ConsumerMetadataResponse.scala d281bb31a66fd749ecddfbe38479b6903f436831 
>   core/src/main/scala/kafka/javaapi/TopicMetadata.scala f384e04678df10a5b46a439f475c63371bf8e32b 
>   core/src/main/scala/kafka/network/RequestChannel.scala bc73540acb1ceb303cb30e58dfa903822f7a8a6c 
>   core/src/main/scala/kafka/network/SocketServer.scala 76ce41aed6e04ac5ba88395c4d5008aca17f9a73 
>   core/src/main/scala/kafka/producer/ProducerPool.scala 43df70bb461dd3e385e6b20396adef3c4016a3fc 
>   core/src/main/scala/kafka/server/AbstractFetcherManager.scala 20c00cb8cc2351950edbc8cb1752905a0c26e79f 
>   core/src/main/scala/kafka/server/AbstractFetcherThread.scala 5d5cf5897cc37b3595f14bfe9d7cde43456bcc4b 
>   core/src/main/scala/kafka/server/KafkaApis.scala f372af77f58aacee7981caa361e13eefecee2278 
>   core/src/main/scala/kafka/server/KafkaConfig.scala 422451aec5ea0442eb2e4c1ae772885b813904a9 
>   core/src/main/scala/kafka/server/KafkaHealthcheck.scala 7907987e43404487382de7f4cc294f0d01ac15a7 
>   core/src/main/scala/kafka/server/KafkaServer.scala 4db3384545be8c237d6fc9646716ab67d5193ec5 
>   core/src/main/scala/kafka/server/MetadataCache.scala 6aef6e4508ecadbbcc1e12bed2054547b7aa333e 
>   core/src/main/scala/kafka/server/ReplicaFetcherManager.scala 351dbbad3bdb709937943b336a5b0a9e0162a5e2 
>   core/src/main/scala/kafka/server/ReplicaFetcherThread.scala 96faa7b4ed7c9ba8a3f6f9f114bd94e19b3a7ac0 
>   core/src/main/scala/kafka/server/ReplicaManager.scala 44f0026e6676d8d764dd59dbcc6bb7bb727a3ba6 
>   core/src/main/scala/kafka/tools/ConsumerOffsetChecker.scala d1e7c434e77859d746b8dc68dd5d5a3740425e79 
>   core/src/main/scala/kafka/tools/ReplicaVerificationTool.scala ba6ddd7a909df79a0f7d45e8b4a2af94ea0fceb6 
>   core/src/main/scala/kafka/tools/SimpleConsumerShell.scala b4f903b6c7c3bb725cac7c05eb1f885906413c4d 
>   core/src/main/scala/kafka/tools/UpdateOffsetsInZK.scala 111c9a8b94ce45d95551482e9fd3f8c1cccbf548 
>   core/src/main/scala/kafka/utils/Utils.scala 738c1af9ef5de16fdf5130daab69757a14c48b5c 
>   core/src/main/scala/kafka/utils/ZkUtils.scala 7ae999ec619443d35a9cb8fbcd531fca0c51c8c0 
>   core/src/test/scala/integration/kafka/api/ProducerFailureHandlingTest.scala 7eb6d05b66b16f8b0ab64eb43dcc1a25168fa5be 
>   core/src/test/scala/integration/kafka/api/ProducerSendTest.scala 3df450784592b894008e7507b2737f9bb07f7bd2 
>   core/src/test/scala/other/kafka/TestOffsetManager.scala a106379d96ab3cbdf54a9f162db44a6df177e733 
>   core/src/test/scala/unit/kafka/KafkaConfigTest.scala 4d36b8b1173f60d43463c13c9d8c1275a84c8c28 
>   core/src/test/scala/unit/kafka/admin/AddPartitionsTest.scala 8bc178505e00932a316c46ed1d904bd57b5b3f75 
>   core/src/test/scala/unit/kafka/api/RequestResponseSerializationTest.scala 030faacf278e7040ca7f9f2c1fac518008f7ae42 
>   core/src/test/scala/unit/kafka/cluster/BrokerEndPointTest.scala PRE-CREATION 
>   core/src/test/scala/unit/kafka/consumer/ConsumerIteratorTest.scala 995397ba2e2dfc6fadd9d5c5efd90f2c4ac0d59c 
>   core/src/test/scala/unit/kafka/integration/FetcherTest.scala 3093e459935ecf8e5b34fca34a422674562a7034 
>   core/src/test/scala/unit/kafka/integration/KafkaServerTestHarness.scala 062790f15d4ab6e0ee7a98bef12aaa2b22da3bfa 
>   core/src/test/scala/unit/kafka/integration/TopicMetadataTest.scala a671af4a87d5c2fb42ff48c553bca7cae6538231 
>   core/src/test/scala/unit/kafka/log/LogTest.scala 3c0599cc2ea12566fbec8233e3a73b31854b3b38 
>   core/src/test/scala/unit/kafka/network/SocketServerTest.scala 0af23abf146d99e3d6cf31e5d6b95a9e63318ddb 
>   core/src/test/scala/unit/kafka/producer/AsyncProducerTest.scala be90c5bc7f1f5ba8a237d1c7176f27029727c918 
>   core/src/test/scala/unit/kafka/producer/SyncProducerTest.scala 812df5989940095c1a347066136ab55153bdad21 
>   core/src/test/scala/unit/kafka/server/AdvertiseBrokerTest.scala 296e2b563041318d360db4037411879613a63968 
>   core/src/test/scala/unit/kafka/server/KafkaConfigConfigDefTest.scala 191251d1340b5e5b2d649b37af3c6c1896d07e6e 
>   core/src/test/scala/unit/kafka/server/KafkaConfigTest.scala 7f47e6f9a74314ed9e9f19d0c97931f3f2e49259 
>   core/src/test/scala/unit/kafka/server/LeaderElectionTest.scala f2528059dd86bb051d1ce9d72039cde3b78b8817 
>   core/src/test/scala/unit/kafka/server/LogOffsetTest.scala 8c9f9e748e888da6035755c9f4241ac3aa0500c9 
>   core/src/test/scala/unit/kafka/utils/TestUtils.scala 1682a77362123449de6bb1d54a55887409990a24 
>   system_test/README.txt 0e469e373c9d91e6394a513ec581ef1cc92fa44c 
>   system_test/replication_testsuite/testcase_0001/testcase_0001_properties.json 250ffe08ae4c2d35f7c79c883f47bbc27d5361b5 
>   system_test/replication_testsuite/testcase_0002/testcase_0002_properties.json 3f9e7d05db17e170aea4fee5a13ab5534dd5db2e 
>   system_test/replication_testsuite/testcase_0003/testcase_0003_properties.json b10c6266a786acf0c4b1accb63f9727486d09fd9 
>   system_test/replication_testsuite/testcase_0004/testcase_0004_properties.json 22c08023f3d9e7678fdb990518bdb7931b64b6ac 
>   system_test/replication_testsuite/testcase_0005/testcase_0005_properties.json 1317d8460f82c3ff09d5a13a1277d695ba71d6e7 
>   system_test/replication_testsuite/testcase_0006/testcase_0006_properties.json d31346506a19dd066519303a19a191f70599918d 
>   system_test/replication_testsuite/testcase_0007/testcase_0007_properties.json bd00f130d7fc69dc43cf088e298abc43e51bf765 
>   system_test/replication_testsuite/testcase_0008/testcase_0008_properties.json ac5c13b09a84f975e345b635cf44a76935251244 
>   system_test/replication_testsuite/testcase_0009/testcase_0009_properties.json 6dadd7a288664ebdc7d023c54d9cdb5a54d0c2e7 
>   system_test/replication_testsuite/testcase_0101/testcase_0101_properties.json 614cb1cf01d3c76d8a97c2b52fb52bd83ec80c4b 
>   system_test/replication_testsuite/testcase_0102/testcase_0102_properties.json fbf01772545f016c28448235a5859429a3a83780 
>   system_test/replication_testsuite/testcase_0103/testcase_0103_properties.json 317a6e3d3384009668e822e6c7e38b3fa34fcd6e 
>   system_test/replication_testsuite/testcase_0104/testcase_0104_properties.json d1a790b34fa5b42fe9fce2dabf6833048f9905ea 
>   system_test/replication_testsuite/testcase_0105/testcase_0105_properties.json 8f4f8bfac71463bbe52906ee7a127d8b0b5f48a3 
>   system_test/replication_testsuite/testcase_0106/testcase_0106_properties.json a307f855c944946724cf3a91a9c07cc7b57b71f6 
>   system_test/replication_testsuite/testcase_0107/testcase_0107_properties.json 827319eb6c6dbba0c8000b6e5e5a657a112deb21 
>   system_test/replication_testsuite/testcase_0108/testcase_0108_properties.json ae015cd0eb82b3d3f04e14c808b66dad702f7bf0 
>   system_test/replication_testsuite/testcase_0109/testcase_0109_properties.json 1951a1220956f931032e8fcd214784d76472054b 
>   system_test/replication_testsuite/testcase_1/testcase_1_properties.json 0c6d7a316cc6b51ac0755ca03558507db0706c31 
>   system_test/run_all.sh PRE-CREATION 
>   system_test/run_all_replica.sh PRE-CREATION 
>   system_test/testcase_to_run.json c6cf17ea690732bccbf4d60da6593f507c6da979 
>   system_test/testcase_to_run_all_replica.json PRE-CREATION 
>   system_test/utils/kafka_system_test_utils.py 41d511cbc310fa87e0f2cd2f772e479e8e3ae4e2 
> 
> Diff: https://reviews.apache.org/r/28769/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Gwen Shapira
> 
>


Re: Review Request 28769: Patch for KAFKA-1809

Posted by Jun Rao <ju...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/28769/#review78897
-----------------------------------------------------------

Ship it!


Thanks for the patch. +1. Committed to trunk after fixing the following minor issues.


core/src/main/scala/kafka/consumer/ConsumerConfig.scala
<https://reviews.apache.org/r/28769/#comment127998>

    No need to change this file.



core/src/main/scala/kafka/network/SocketServer.scala
<https://reviews.apache.org/r/28769/#comment127993>

    No need for the null check since acceptors can't be null.



core/src/main/scala/kafka/network/SocketServer.scala
<https://reviews.apache.org/r/28769/#comment127994>

    No need for the null test.



core/src/main/scala/kafka/utils/ZkUtils.scala
<https://reviews.apache.org/r/28769/#comment127995>

    This can be private now.



core/src/test/scala/integration/kafka/api/ProducerSendTest.scala
<https://reviews.apache.org/r/28769/#comment127996>

    These changes are not needed.


- Jun Rao


On April 5, 2015, 5 a.m., Gwen Shapira wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/28769/
> -----------------------------------------------------------
> 
> (Updated April 5, 2015, 5 a.m.)
> 
> 
> Review request for kafka.
> 
> 
> Bugs: KAFKA-1809
>     https://issues.apache.org/jira/browse/KAFKA-1809
> 
> 
> Repository: kafka
> 
> 
> Description
> -------
> 
> forgot rest of patch
> 
> 
> merge with trunk
> 
> 
> moved ApiVersion to core, fixed SocketServer concurrency issue and other minor things
> 
> 
> Merge branch 'trunk' of http://git-wip-us.apache.org/repos/asf/kafka into broker_ref2
> 
> Conflicts:
> 	core/src/main/scala/kafka/server/KafkaApis.scala
> 	core/src/test/scala/unit/kafka/api/RequestResponseSerializationTest.scala
> 
> addressing Joel's comments and added support for older versions in inter.broker.protocol.version to make upgrades from older versions a bit clearer.
> 
> 
> removed SecurityProtocol from core and reused implementation in o.a.k.common plus other small cleanup fixes
> 
> 
> Merge branch 'trunk' of http://git-wip-us.apache.org/repos/asf/kafka into broker_ref2
> 
> 
> removed security.protocol config from clients - it is unused at this point. Fixed issue with ZK registration when PLAINTEXT is not configured
> 
> 
> Merge branch 'trunk' of http://git-wip-us.apache.org/repos/asf/kafka into broker_ref2
> 
> Conflicts:
> 	core/src/main/scala/kafka/network/SocketServer.scala
> 	core/src/main/scala/kafka/server/KafkaServer.scala
> 	core/src/test/scala/integration/kafka/api/ProducerFailureHandlingTest.scala
> 	core/src/test/scala/integration/kafka/api/ProducerSendTest.scala
> 	core/src/test/scala/unit/kafka/admin/AddPartitionsTest.scala
> 	core/src/test/scala/unit/kafka/consumer/ConsumerIteratorTest.scala
> 	core/src/test/scala/unit/kafka/integration/FetcherTest.scala
> 	core/src/test/scala/unit/kafka/integration/KafkaServerTestHarness.scala
> 	core/src/test/scala/unit/kafka/integration/TopicMetadataTest.scala
> 	core/src/test/scala/unit/kafka/log/LogTest.scala
> 	core/src/test/scala/unit/kafka/network/SocketServerTest.scala
> 	core/src/test/scala/unit/kafka/producer/AsyncProducerTest.scala
> 	core/src/test/scala/unit/kafka/producer/SyncProducerTest.scala
> 	core/src/test/scala/unit/kafka/server/AdvertiseBrokerTest.scala
> 	core/src/test/scala/unit/kafka/server/KafkaConfigTest.scala
> 	core/src/test/scala/unit/kafka/server/LeaderElectionTest.scala
> 	core/src/test/scala/unit/kafka/server/LogOffsetTest.scala
> 	core/src/test/scala/unit/kafka/utils/TestUtils.scala
> 
> Merge branch 'trunk' of http://git-wip-us.apache.org/repos/asf/kafka into broker_ref2
> 
> 
> Diffs
> -----
> 
>   clients/src/main/java/org/apache/kafka/clients/producer/ProducerConfig.java fa9daaef66ff7961e1c46cd0cd8fed18a53bccd8 
>   clients/src/main/java/org/apache/kafka/common/protocol/SecurityProtocol.java PRE-CREATION 
>   clients/src/main/java/org/apache/kafka/common/utils/Utils.java 920b51a6c3c99639fbc9dc065637eeee3c19fabd 
>   clients/src/test/java/org/apache/kafka/common/utils/UtilsTest.java c899813d55b9c4786adde3d840f040d6645d27c8 
>   config/server.properties 1614260b71a658b405bb24157c8f12b1f1031aa5 
>   core/src/main/scala/kafka/admin/AdminUtils.scala b700110f2d7f1ede235af55d8e37e1b5592c6c7d 
>   core/src/main/scala/kafka/admin/TopicCommand.scala d430e1d342ea35e06863d6a2bc98653fac897db9 
>   core/src/main/scala/kafka/api/ApiVersion.scala PRE-CREATION 
>   core/src/main/scala/kafka/api/ConsumerMetadataResponse.scala 24aaf954dc42e2084454fa5fc9e8f388ea95c756 
>   core/src/main/scala/kafka/api/LeaderAndIsrRequest.scala 4ff7e8f8cc695551dd5d2fe65c74f6b6c571e340 
>   core/src/main/scala/kafka/api/TopicMetadata.scala 0190076df0adf906ecd332284f222ff974b315fc 
>   core/src/main/scala/kafka/api/TopicMetadataResponse.scala 92ac4e687be22e4800199c0666bfac5e0059e5bb 
>   core/src/main/scala/kafka/api/UpdateMetadataRequest.scala 530982e36b17934b8cc5fb668075a5342e142c59 
>   core/src/main/scala/kafka/client/ClientUtils.scala ebba87f0566684c796c26cb76c64b4640a5ccfde 
>   core/src/main/scala/kafka/cluster/Broker.scala 0060add008bb3bc4b0092f2173c469fce0120be6 
>   core/src/main/scala/kafka/cluster/BrokerEndPoint.scala PRE-CREATION 
>   core/src/main/scala/kafka/cluster/EndPoint.scala PRE-CREATION 
>   core/src/main/scala/kafka/common/BrokerEndPointNotAvailableException.scala PRE-CREATION 
>   core/src/main/scala/kafka/consumer/ConsumerConfig.scala 9ebbee6c16dc83767297c729d2d74ebbd063a993 
>   core/src/main/scala/kafka/consumer/ConsumerFetcherManager.scala b9e2bea7b442a19bcebd1b350d39541a8c9dd068 
>   core/src/main/scala/kafka/consumer/ConsumerFetcherThread.scala 152fda5d1dcdf319399fdeeb8457006090ebe56c 
>   core/src/main/scala/kafka/consumer/ZookeeperConsumerConnector.scala b1cf0db8741e384e4e4119751058ea87b2589e57 
>   core/src/main/scala/kafka/controller/ControllerChannelManager.scala c582191636f6188c25d62a67ff0315b56f163133 
>   core/src/main/scala/kafka/controller/KafkaController.scala 09fc46d759b74bcdad2d2a610d9c5a93ff02423f 
>   core/src/main/scala/kafka/javaapi/ConsumerMetadataResponse.scala d281bb31a66fd749ecddfbe38479b6903f436831 
>   core/src/main/scala/kafka/javaapi/TopicMetadata.scala f384e04678df10a5b46a439f475c63371bf8e32b 
>   core/src/main/scala/kafka/network/RequestChannel.scala bc73540acb1ceb303cb30e58dfa903822f7a8a6c 
>   core/src/main/scala/kafka/network/SocketServer.scala 578283b34d218ff5b8a30e2c5d0e3383a28caea4 
>   core/src/main/scala/kafka/producer/ProducerPool.scala 43df70bb461dd3e385e6b20396adef3c4016a3fc 
>   core/src/main/scala/kafka/server/AbstractFetcherManager.scala 20c00cb8cc2351950edbc8cb1752905a0c26e79f 
>   core/src/main/scala/kafka/server/AbstractFetcherThread.scala 5d5cf5897cc37b3595f14bfe9d7cde43456bcc4b 
>   core/src/main/scala/kafka/server/KafkaApis.scala f372af77f58aacee7981caa361e13eefecee2278 
>   core/src/main/scala/kafka/server/KafkaConfig.scala 62173020ea47114dc7f5ae7c813c5b243c63a485 
>   core/src/main/scala/kafka/server/KafkaHealthcheck.scala 7907987e43404487382de7f4cc294f0d01ac15a7 
>   core/src/main/scala/kafka/server/KafkaServer.scala 10ea77ad9e8e44d7400a18f2d3fa301ec1cd0800 
>   core/src/main/scala/kafka/server/MetadataCache.scala 6aef6e4508ecadbbcc1e12bed2054547b7aa333e 
>   core/src/main/scala/kafka/server/ReplicaFetcherManager.scala 351dbbad3bdb709937943b336a5b0a9e0162a5e2 
>   core/src/main/scala/kafka/server/ReplicaFetcherThread.scala 96faa7b4ed7c9ba8a3f6f9f114bd94e19b3a7ac0 
>   core/src/main/scala/kafka/server/ReplicaManager.scala 6e436227b1eb1d6e3d8354c546eb8329a9fc2034 
>   core/src/main/scala/kafka/tools/ConsumerOffsetChecker.scala d1e7c434e77859d746b8dc68dd5d5a3740425e79 
>   core/src/main/scala/kafka/tools/ReplicaVerificationTool.scala ba6ddd7a909df79a0f7d45e8b4a2af94ea0fceb6 
>   core/src/main/scala/kafka/tools/SimpleConsumerShell.scala b4f903b6c7c3bb725cac7c05eb1f885906413c4d 
>   core/src/main/scala/kafka/tools/UpdateOffsetsInZK.scala 111c9a8b94ce45d95551482e9fd3f8c1cccbf548 
>   core/src/main/scala/kafka/utils/Utils.scala 894a6a6ee98993325afb2fd9e1808cd7e5600101 
>   core/src/main/scala/kafka/utils/ZkUtils.scala 7ae999ec619443d35a9cb8fbcd531fca0c51c8c0 
>   core/src/test/scala/integration/kafka/api/ProducerSendTest.scala aba256d67f393885150e927a58cc330e2b9ffd2a 
>   core/src/test/scala/other/kafka/TestOffsetManager.scala a106379d96ab3cbdf54a9f162db44a6df177e733 
>   core/src/test/scala/unit/kafka/KafkaConfigTest.scala 4d36b8b1173f60d43463c13c9d8c1275a84c8c28 
>   core/src/test/scala/unit/kafka/admin/AddPartitionsTest.scala 99ac9230f63105a2942bec8fe2febde8a7e48b2e 
>   core/src/test/scala/unit/kafka/api/RequestResponseSerializationTest.scala 030faacf278e7040ca7f9f2c1fac518008f7ae42 
>   core/src/test/scala/unit/kafka/cluster/BrokerEndPointTest.scala PRE-CREATION 
>   core/src/test/scala/unit/kafka/integration/FetcherTest.scala ecb5a3389458bbf80114c52b453288e8cc1ed1ac 
>   core/src/test/scala/unit/kafka/integration/KafkaServerTestHarness.scala 28e3122b71ca26c2fdf81649b0586ebc94e105fe 
>   core/src/test/scala/unit/kafka/integration/TopicMetadataTest.scala 56b1b8c004b1719c45b1e7bc9580e3638e3438ac 
>   core/src/test/scala/unit/kafka/log/LogTest.scala ac4c5b91727fd58e30de639914be1154a5a89793 
>   core/src/test/scala/unit/kafka/network/SocketServerTest.scala 79a806c7717f309eccc6241501c644f6f579bd24 
>   core/src/test/scala/unit/kafka/producer/AsyncProducerTest.scala d2ab683a63a5848bcb255fd82b8c53541b9d6c95 
>   core/src/test/scala/unit/kafka/producer/SyncProducerTest.scala 7d6f655eea400a09c1083f71a1b3dbc126072346 
>   core/src/test/scala/unit/kafka/server/AdvertiseBrokerTest.scala b0112402e7813cf4f5247e90af87482c340bd000 
>   core/src/test/scala/unit/kafka/server/KafkaConfigConfigDefTest.scala 150c311f29b81aad295016f44deaaf08dc4b84bf 
>   core/src/test/scala/unit/kafka/server/KafkaConfigTest.scala 852fa3b1decafb84c0f7281dbdcbe8f80597118e 
>   core/src/test/scala/unit/kafka/server/LeaderElectionTest.scala 3d4258f8b31c1f2c7e0351fb6df9a96234e11d1d 
>   core/src/test/scala/unit/kafka/utils/TestUtils.scala f4518255a2bcf3ae3ccb19b9e2ff0b70c613966a 
>   system_test/README.txt 0e469e373c9d91e6394a513ec581ef1cc92fa44c 
>   system_test/replication_testsuite/testcase_0001/testcase_0001_properties.json 250ffe08ae4c2d35f7c79c883f47bbc27d5361b5 
>   system_test/replication_testsuite/testcase_0002/testcase_0002_properties.json 3f9e7d05db17e170aea4fee5a13ab5534dd5db2e 
>   system_test/replication_testsuite/testcase_0003/testcase_0003_properties.json b10c6266a786acf0c4b1accb63f9727486d09fd9 
>   system_test/replication_testsuite/testcase_0004/testcase_0004_properties.json 22c08023f3d9e7678fdb990518bdb7931b64b6ac 
>   system_test/replication_testsuite/testcase_0005/testcase_0005_properties.json 1317d8460f82c3ff09d5a13a1277d695ba71d6e7 
>   system_test/replication_testsuite/testcase_0006/testcase_0006_properties.json d31346506a19dd066519303a19a191f70599918d 
>   system_test/replication_testsuite/testcase_0007/testcase_0007_properties.json bd00f130d7fc69dc43cf088e298abc43e51bf765 
>   system_test/replication_testsuite/testcase_0008/testcase_0008_properties.json ac5c13b09a84f975e345b635cf44a76935251244 
>   system_test/replication_testsuite/testcase_0009/testcase_0009_properties.json 6dadd7a288664ebdc7d023c54d9cdb5a54d0c2e7 
>   system_test/replication_testsuite/testcase_0101/testcase_0101_properties.json 614cb1cf01d3c76d8a97c2b52fb52bd83ec80c4b 
>   system_test/replication_testsuite/testcase_0102/testcase_0102_properties.json fbf01772545f016c28448235a5859429a3a83780 
>   system_test/replication_testsuite/testcase_0103/testcase_0103_properties.json 317a6e3d3384009668e822e6c7e38b3fa34fcd6e 
>   system_test/replication_testsuite/testcase_0104/testcase_0104_properties.json d1a790b34fa5b42fe9fce2dabf6833048f9905ea 
>   system_test/replication_testsuite/testcase_0105/testcase_0105_properties.json 8f4f8bfac71463bbe52906ee7a127d8b0b5f48a3 
>   system_test/replication_testsuite/testcase_0106/testcase_0106_properties.json a307f855c944946724cf3a91a9c07cc7b57b71f6 
>   system_test/replication_testsuite/testcase_0107/testcase_0107_properties.json 827319eb6c6dbba0c8000b6e5e5a657a112deb21 
>   system_test/replication_testsuite/testcase_0108/testcase_0108_properties.json ae015cd0eb82b3d3f04e14c808b66dad702f7bf0 
>   system_test/replication_testsuite/testcase_0109/testcase_0109_properties.json 1951a1220956f931032e8fcd214784d76472054b 
>   system_test/replication_testsuite/testcase_1/testcase_1_properties.json 0c6d7a316cc6b51ac0755ca03558507db0706c31 
>   system_test/run_all.sh PRE-CREATION 
>   system_test/run_all_replica.sh PRE-CREATION 
>   system_test/run_sanity.sh 9e8042a23b9359a5ad57b89540052ae7fadb6a55 
>   system_test/testcase_to_run.json c6cf17ea690732bccbf4d60da6593f507c6da979 
>   system_test/testcase_to_run_all_replica.json PRE-CREATION 
>   system_test/utils/kafka_system_test_utils.py 41d511cbc310fa87e0f2cd2f772e479e8e3ae4e2 
> 
> Diff: https://reviews.apache.org/r/28769/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Gwen Shapira
> 
>


Re: Review Request 28769: Patch for KAFKA-1809

Posted by Gwen Shapira <gs...@cloudera.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/28769/
-----------------------------------------------------------

(Updated April 5, 2015, 5 a.m.)


Review request for kafka.


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


Repository: kafka


Description (updated)
-------

forgot rest of patch


merge with trunk


moved ApiVersion to core, fixed SocketServer concurrency issue and other minor things


Merge branch 'trunk' of http://git-wip-us.apache.org/repos/asf/kafka into broker_ref2

Conflicts:
	core/src/main/scala/kafka/server/KafkaApis.scala
	core/src/test/scala/unit/kafka/api/RequestResponseSerializationTest.scala

addressing Joel's comments and added support for older versions in inter.broker.protocol.version to make upgrades from older versions a bit clearer.


removed SecurityProtocol from core and reused implementation in o.a.k.common plus other small cleanup fixes


Merge branch 'trunk' of http://git-wip-us.apache.org/repos/asf/kafka into broker_ref2


removed security.protocol config from clients - it is unused at this point. Fixed issue with ZK registration when PLAINTEXT is not configured


Merge branch 'trunk' of http://git-wip-us.apache.org/repos/asf/kafka into broker_ref2

Conflicts:
	core/src/main/scala/kafka/network/SocketServer.scala
	core/src/main/scala/kafka/server/KafkaServer.scala
	core/src/test/scala/integration/kafka/api/ProducerFailureHandlingTest.scala
	core/src/test/scala/integration/kafka/api/ProducerSendTest.scala
	core/src/test/scala/unit/kafka/admin/AddPartitionsTest.scala
	core/src/test/scala/unit/kafka/consumer/ConsumerIteratorTest.scala
	core/src/test/scala/unit/kafka/integration/FetcherTest.scala
	core/src/test/scala/unit/kafka/integration/KafkaServerTestHarness.scala
	core/src/test/scala/unit/kafka/integration/TopicMetadataTest.scala
	core/src/test/scala/unit/kafka/log/LogTest.scala
	core/src/test/scala/unit/kafka/network/SocketServerTest.scala
	core/src/test/scala/unit/kafka/producer/AsyncProducerTest.scala
	core/src/test/scala/unit/kafka/producer/SyncProducerTest.scala
	core/src/test/scala/unit/kafka/server/AdvertiseBrokerTest.scala
	core/src/test/scala/unit/kafka/server/KafkaConfigTest.scala
	core/src/test/scala/unit/kafka/server/LeaderElectionTest.scala
	core/src/test/scala/unit/kafka/server/LogOffsetTest.scala
	core/src/test/scala/unit/kafka/utils/TestUtils.scala

Merge branch 'trunk' of http://git-wip-us.apache.org/repos/asf/kafka into broker_ref2


Diffs (updated)
-----

  clients/src/main/java/org/apache/kafka/clients/producer/ProducerConfig.java fa9daaef66ff7961e1c46cd0cd8fed18a53bccd8 
  clients/src/main/java/org/apache/kafka/common/protocol/SecurityProtocol.java PRE-CREATION 
  clients/src/main/java/org/apache/kafka/common/utils/Utils.java 920b51a6c3c99639fbc9dc065637eeee3c19fabd 
  clients/src/test/java/org/apache/kafka/common/utils/UtilsTest.java c899813d55b9c4786adde3d840f040d6645d27c8 
  config/server.properties 1614260b71a658b405bb24157c8f12b1f1031aa5 
  core/src/main/scala/kafka/admin/AdminUtils.scala b700110f2d7f1ede235af55d8e37e1b5592c6c7d 
  core/src/main/scala/kafka/admin/TopicCommand.scala d430e1d342ea35e06863d6a2bc98653fac897db9 
  core/src/main/scala/kafka/api/ApiVersion.scala PRE-CREATION 
  core/src/main/scala/kafka/api/ConsumerMetadataResponse.scala 24aaf954dc42e2084454fa5fc9e8f388ea95c756 
  core/src/main/scala/kafka/api/LeaderAndIsrRequest.scala 4ff7e8f8cc695551dd5d2fe65c74f6b6c571e340 
  core/src/main/scala/kafka/api/TopicMetadata.scala 0190076df0adf906ecd332284f222ff974b315fc 
  core/src/main/scala/kafka/api/TopicMetadataResponse.scala 92ac4e687be22e4800199c0666bfac5e0059e5bb 
  core/src/main/scala/kafka/api/UpdateMetadataRequest.scala 530982e36b17934b8cc5fb668075a5342e142c59 
  core/src/main/scala/kafka/client/ClientUtils.scala ebba87f0566684c796c26cb76c64b4640a5ccfde 
  core/src/main/scala/kafka/cluster/Broker.scala 0060add008bb3bc4b0092f2173c469fce0120be6 
  core/src/main/scala/kafka/cluster/BrokerEndPoint.scala PRE-CREATION 
  core/src/main/scala/kafka/cluster/EndPoint.scala PRE-CREATION 
  core/src/main/scala/kafka/common/BrokerEndPointNotAvailableException.scala PRE-CREATION 
  core/src/main/scala/kafka/consumer/ConsumerConfig.scala 9ebbee6c16dc83767297c729d2d74ebbd063a993 
  core/src/main/scala/kafka/consumer/ConsumerFetcherManager.scala b9e2bea7b442a19bcebd1b350d39541a8c9dd068 
  core/src/main/scala/kafka/consumer/ConsumerFetcherThread.scala 152fda5d1dcdf319399fdeeb8457006090ebe56c 
  core/src/main/scala/kafka/consumer/ZookeeperConsumerConnector.scala b1cf0db8741e384e4e4119751058ea87b2589e57 
  core/src/main/scala/kafka/controller/ControllerChannelManager.scala c582191636f6188c25d62a67ff0315b56f163133 
  core/src/main/scala/kafka/controller/KafkaController.scala 09fc46d759b74bcdad2d2a610d9c5a93ff02423f 
  core/src/main/scala/kafka/javaapi/ConsumerMetadataResponse.scala d281bb31a66fd749ecddfbe38479b6903f436831 
  core/src/main/scala/kafka/javaapi/TopicMetadata.scala f384e04678df10a5b46a439f475c63371bf8e32b 
  core/src/main/scala/kafka/network/RequestChannel.scala bc73540acb1ceb303cb30e58dfa903822f7a8a6c 
  core/src/main/scala/kafka/network/SocketServer.scala 578283b34d218ff5b8a30e2c5d0e3383a28caea4 
  core/src/main/scala/kafka/producer/ProducerPool.scala 43df70bb461dd3e385e6b20396adef3c4016a3fc 
  core/src/main/scala/kafka/server/AbstractFetcherManager.scala 20c00cb8cc2351950edbc8cb1752905a0c26e79f 
  core/src/main/scala/kafka/server/AbstractFetcherThread.scala 5d5cf5897cc37b3595f14bfe9d7cde43456bcc4b 
  core/src/main/scala/kafka/server/KafkaApis.scala f372af77f58aacee7981caa361e13eefecee2278 
  core/src/main/scala/kafka/server/KafkaConfig.scala 62173020ea47114dc7f5ae7c813c5b243c63a485 
  core/src/main/scala/kafka/server/KafkaHealthcheck.scala 7907987e43404487382de7f4cc294f0d01ac15a7 
  core/src/main/scala/kafka/server/KafkaServer.scala 10ea77ad9e8e44d7400a18f2d3fa301ec1cd0800 
  core/src/main/scala/kafka/server/MetadataCache.scala 6aef6e4508ecadbbcc1e12bed2054547b7aa333e 
  core/src/main/scala/kafka/server/ReplicaFetcherManager.scala 351dbbad3bdb709937943b336a5b0a9e0162a5e2 
  core/src/main/scala/kafka/server/ReplicaFetcherThread.scala 96faa7b4ed7c9ba8a3f6f9f114bd94e19b3a7ac0 
  core/src/main/scala/kafka/server/ReplicaManager.scala 6e436227b1eb1d6e3d8354c546eb8329a9fc2034 
  core/src/main/scala/kafka/tools/ConsumerOffsetChecker.scala d1e7c434e77859d746b8dc68dd5d5a3740425e79 
  core/src/main/scala/kafka/tools/ReplicaVerificationTool.scala ba6ddd7a909df79a0f7d45e8b4a2af94ea0fceb6 
  core/src/main/scala/kafka/tools/SimpleConsumerShell.scala b4f903b6c7c3bb725cac7c05eb1f885906413c4d 
  core/src/main/scala/kafka/tools/UpdateOffsetsInZK.scala 111c9a8b94ce45d95551482e9fd3f8c1cccbf548 
  core/src/main/scala/kafka/utils/Utils.scala 894a6a6ee98993325afb2fd9e1808cd7e5600101 
  core/src/main/scala/kafka/utils/ZkUtils.scala 7ae999ec619443d35a9cb8fbcd531fca0c51c8c0 
  core/src/test/scala/integration/kafka/api/ProducerSendTest.scala aba256d67f393885150e927a58cc330e2b9ffd2a 
  core/src/test/scala/other/kafka/TestOffsetManager.scala a106379d96ab3cbdf54a9f162db44a6df177e733 
  core/src/test/scala/unit/kafka/KafkaConfigTest.scala 4d36b8b1173f60d43463c13c9d8c1275a84c8c28 
  core/src/test/scala/unit/kafka/admin/AddPartitionsTest.scala 99ac9230f63105a2942bec8fe2febde8a7e48b2e 
  core/src/test/scala/unit/kafka/api/RequestResponseSerializationTest.scala 030faacf278e7040ca7f9f2c1fac518008f7ae42 
  core/src/test/scala/unit/kafka/cluster/BrokerEndPointTest.scala PRE-CREATION 
  core/src/test/scala/unit/kafka/integration/FetcherTest.scala ecb5a3389458bbf80114c52b453288e8cc1ed1ac 
  core/src/test/scala/unit/kafka/integration/KafkaServerTestHarness.scala 28e3122b71ca26c2fdf81649b0586ebc94e105fe 
  core/src/test/scala/unit/kafka/integration/TopicMetadataTest.scala 56b1b8c004b1719c45b1e7bc9580e3638e3438ac 
  core/src/test/scala/unit/kafka/log/LogTest.scala ac4c5b91727fd58e30de639914be1154a5a89793 
  core/src/test/scala/unit/kafka/network/SocketServerTest.scala 79a806c7717f309eccc6241501c644f6f579bd24 
  core/src/test/scala/unit/kafka/producer/AsyncProducerTest.scala d2ab683a63a5848bcb255fd82b8c53541b9d6c95 
  core/src/test/scala/unit/kafka/producer/SyncProducerTest.scala 7d6f655eea400a09c1083f71a1b3dbc126072346 
  core/src/test/scala/unit/kafka/server/AdvertiseBrokerTest.scala b0112402e7813cf4f5247e90af87482c340bd000 
  core/src/test/scala/unit/kafka/server/KafkaConfigConfigDefTest.scala 150c311f29b81aad295016f44deaaf08dc4b84bf 
  core/src/test/scala/unit/kafka/server/KafkaConfigTest.scala 852fa3b1decafb84c0f7281dbdcbe8f80597118e 
  core/src/test/scala/unit/kafka/server/LeaderElectionTest.scala 3d4258f8b31c1f2c7e0351fb6df9a96234e11d1d 
  core/src/test/scala/unit/kafka/utils/TestUtils.scala f4518255a2bcf3ae3ccb19b9e2ff0b70c613966a 
  system_test/README.txt 0e469e373c9d91e6394a513ec581ef1cc92fa44c 
  system_test/replication_testsuite/testcase_0001/testcase_0001_properties.json 250ffe08ae4c2d35f7c79c883f47bbc27d5361b5 
  system_test/replication_testsuite/testcase_0002/testcase_0002_properties.json 3f9e7d05db17e170aea4fee5a13ab5534dd5db2e 
  system_test/replication_testsuite/testcase_0003/testcase_0003_properties.json b10c6266a786acf0c4b1accb63f9727486d09fd9 
  system_test/replication_testsuite/testcase_0004/testcase_0004_properties.json 22c08023f3d9e7678fdb990518bdb7931b64b6ac 
  system_test/replication_testsuite/testcase_0005/testcase_0005_properties.json 1317d8460f82c3ff09d5a13a1277d695ba71d6e7 
  system_test/replication_testsuite/testcase_0006/testcase_0006_properties.json d31346506a19dd066519303a19a191f70599918d 
  system_test/replication_testsuite/testcase_0007/testcase_0007_properties.json bd00f130d7fc69dc43cf088e298abc43e51bf765 
  system_test/replication_testsuite/testcase_0008/testcase_0008_properties.json ac5c13b09a84f975e345b635cf44a76935251244 
  system_test/replication_testsuite/testcase_0009/testcase_0009_properties.json 6dadd7a288664ebdc7d023c54d9cdb5a54d0c2e7 
  system_test/replication_testsuite/testcase_0101/testcase_0101_properties.json 614cb1cf01d3c76d8a97c2b52fb52bd83ec80c4b 
  system_test/replication_testsuite/testcase_0102/testcase_0102_properties.json fbf01772545f016c28448235a5859429a3a83780 
  system_test/replication_testsuite/testcase_0103/testcase_0103_properties.json 317a6e3d3384009668e822e6c7e38b3fa34fcd6e 
  system_test/replication_testsuite/testcase_0104/testcase_0104_properties.json d1a790b34fa5b42fe9fce2dabf6833048f9905ea 
  system_test/replication_testsuite/testcase_0105/testcase_0105_properties.json 8f4f8bfac71463bbe52906ee7a127d8b0b5f48a3 
  system_test/replication_testsuite/testcase_0106/testcase_0106_properties.json a307f855c944946724cf3a91a9c07cc7b57b71f6 
  system_test/replication_testsuite/testcase_0107/testcase_0107_properties.json 827319eb6c6dbba0c8000b6e5e5a657a112deb21 
  system_test/replication_testsuite/testcase_0108/testcase_0108_properties.json ae015cd0eb82b3d3f04e14c808b66dad702f7bf0 
  system_test/replication_testsuite/testcase_0109/testcase_0109_properties.json 1951a1220956f931032e8fcd214784d76472054b 
  system_test/replication_testsuite/testcase_1/testcase_1_properties.json 0c6d7a316cc6b51ac0755ca03558507db0706c31 
  system_test/run_all.sh PRE-CREATION 
  system_test/run_all_replica.sh PRE-CREATION 
  system_test/run_sanity.sh 9e8042a23b9359a5ad57b89540052ae7fadb6a55 
  system_test/testcase_to_run.json c6cf17ea690732bccbf4d60da6593f507c6da979 
  system_test/testcase_to_run_all_replica.json PRE-CREATION 
  system_test/utils/kafka_system_test_utils.py 41d511cbc310fa87e0f2cd2f772e479e8e3ae4e2 

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


Testing
-------


Thanks,

Gwen Shapira


Re: Review Request 28769: Patch for KAFKA-1809

Posted by Joel Koshy <jj...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/28769/#review78842
-----------------------------------------------------------


Other than the comment from Jun and the question about the security protocol enum in core, I think this looks good. Jun, do you want to review again?

- Joel Koshy


On April 3, 2015, 2:04 a.m., Gwen Shapira wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/28769/
> -----------------------------------------------------------
> 
> (Updated April 3, 2015, 2:04 a.m.)
> 
> 
> Review request for kafka.
> 
> 
> Bugs: KAFKA-1809
>     https://issues.apache.org/jira/browse/KAFKA-1809
> 
> 
> Repository: kafka
> 
> 
> Description
> -------
> 
> forgot rest of patch
> 
> 
> merge with trunk
> 
> 
> moved ApiVersion to core, fixed SocketServer concurrency issue and other minor things
> 
> 
> Merge branch 'trunk' of http://git-wip-us.apache.org/repos/asf/kafka into broker_ref2
> 
> Conflicts:
> 	core/src/main/scala/kafka/server/KafkaApis.scala
> 	core/src/test/scala/unit/kafka/api/RequestResponseSerializationTest.scala
> 
> addressing Joel's comments and added support for older versions in inter.broker.protocol.version to make upgrades from older versions a bit clearer.
> 
> 
> Diffs
> -----
> 
>   clients/src/main/java/org/apache/kafka/clients/producer/ProducerConfig.java fa9daaef66ff7961e1c46cd0cd8fed18a53bccd8 
>   clients/src/main/java/org/apache/kafka/common/protocol/SecurityProtocol.java PRE-CREATION 
>   clients/src/main/java/org/apache/kafka/common/utils/Utils.java 920b51a6c3c99639fbc9dc065637eeee3c19fabd 
>   clients/src/test/java/org/apache/kafka/common/utils/UtilsTest.java c899813d55b9c4786adde3d840f040d6645d27c8 
>   config/server.properties 1614260b71a658b405bb24157c8f12b1f1031aa5 
>   core/src/main/scala/kafka/admin/AdminUtils.scala b700110f2d7f1ede235af55d8e37e1b5592c6c7d 
>   core/src/main/scala/kafka/admin/TopicCommand.scala f400b71f8444fffd3fc1d8398a283682390eba4e 
>   core/src/main/scala/kafka/api/ApiVersion.scala PRE-CREATION 
>   core/src/main/scala/kafka/api/ConsumerMetadataResponse.scala 24aaf954dc42e2084454fa5fc9e8f388ea95c756 
>   core/src/main/scala/kafka/api/LeaderAndIsrRequest.scala 4ff7e8f8cc695551dd5d2fe65c74f6b6c571e340 
>   core/src/main/scala/kafka/api/TopicMetadata.scala 0190076df0adf906ecd332284f222ff974b315fc 
>   core/src/main/scala/kafka/api/TopicMetadataResponse.scala 92ac4e687be22e4800199c0666bfac5e0059e5bb 
>   core/src/main/scala/kafka/api/UpdateMetadataRequest.scala 530982e36b17934b8cc5fb668075a5342e142c59 
>   core/src/main/scala/kafka/client/ClientUtils.scala ebba87f0566684c796c26cb76c64b4640a5ccfde 
>   core/src/main/scala/kafka/cluster/Broker.scala 0060add008bb3bc4b0092f2173c469fce0120be6 
>   core/src/main/scala/kafka/cluster/BrokerEndPoint.scala PRE-CREATION 
>   core/src/main/scala/kafka/cluster/EndPoint.scala PRE-CREATION 
>   core/src/main/scala/kafka/cluster/SecurityProtocol.scala PRE-CREATION 
>   core/src/main/scala/kafka/common/BrokerEndPointNotAvailableException.scala PRE-CREATION 
>   core/src/main/scala/kafka/consumer/ConsumerConfig.scala 9ebbee6c16dc83767297c729d2d74ebbd063a993 
>   core/src/main/scala/kafka/consumer/ConsumerFetcherManager.scala b9e2bea7b442a19bcebd1b350d39541a8c9dd068 
>   core/src/main/scala/kafka/consumer/ConsumerFetcherThread.scala 152fda5d1dcdf319399fdeeb8457006090ebe56c 
>   core/src/main/scala/kafka/consumer/ZookeeperConsumerConnector.scala b1cf0db8741e384e4e4119751058ea87b2589e57 
>   core/src/main/scala/kafka/controller/ControllerChannelManager.scala c582191636f6188c25d62a67ff0315b56f163133 
>   core/src/main/scala/kafka/controller/KafkaController.scala 09fc46d759b74bcdad2d2a610d9c5a93ff02423f 
>   core/src/main/scala/kafka/javaapi/ConsumerMetadataResponse.scala d281bb31a66fd749ecddfbe38479b6903f436831 
>   core/src/main/scala/kafka/javaapi/TopicMetadata.scala f384e04678df10a5b46a439f475c63371bf8e32b 
>   core/src/main/scala/kafka/network/RequestChannel.scala bc73540acb1ceb303cb30e58dfa903822f7a8a6c 
>   core/src/main/scala/kafka/network/SocketServer.scala 76ce41aed6e04ac5ba88395c4d5008aca17f9a73 
>   core/src/main/scala/kafka/producer/ProducerPool.scala 43df70bb461dd3e385e6b20396adef3c4016a3fc 
>   core/src/main/scala/kafka/server/AbstractFetcherManager.scala 20c00cb8cc2351950edbc8cb1752905a0c26e79f 
>   core/src/main/scala/kafka/server/AbstractFetcherThread.scala 5d5cf5897cc37b3595f14bfe9d7cde43456bcc4b 
>   core/src/main/scala/kafka/server/KafkaApis.scala f372af77f58aacee7981caa361e13eefecee2278 
>   core/src/main/scala/kafka/server/KafkaConfig.scala 422451aec5ea0442eb2e4c1ae772885b813904a9 
>   core/src/main/scala/kafka/server/KafkaHealthcheck.scala 7907987e43404487382de7f4cc294f0d01ac15a7 
>   core/src/main/scala/kafka/server/KafkaServer.scala 4db3384545be8c237d6fc9646716ab67d5193ec5 
>   core/src/main/scala/kafka/server/MetadataCache.scala 6aef6e4508ecadbbcc1e12bed2054547b7aa333e 
>   core/src/main/scala/kafka/server/ReplicaFetcherManager.scala 351dbbad3bdb709937943b336a5b0a9e0162a5e2 
>   core/src/main/scala/kafka/server/ReplicaFetcherThread.scala 96faa7b4ed7c9ba8a3f6f9f114bd94e19b3a7ac0 
>   core/src/main/scala/kafka/server/ReplicaManager.scala 44f0026e6676d8d764dd59dbcc6bb7bb727a3ba6 
>   core/src/main/scala/kafka/tools/ConsumerOffsetChecker.scala d1e7c434e77859d746b8dc68dd5d5a3740425e79 
>   core/src/main/scala/kafka/tools/ReplicaVerificationTool.scala ba6ddd7a909df79a0f7d45e8b4a2af94ea0fceb6 
>   core/src/main/scala/kafka/tools/SimpleConsumerShell.scala b4f903b6c7c3bb725cac7c05eb1f885906413c4d 
>   core/src/main/scala/kafka/tools/UpdateOffsetsInZK.scala 111c9a8b94ce45d95551482e9fd3f8c1cccbf548 
>   core/src/main/scala/kafka/utils/Utils.scala 738c1af9ef5de16fdf5130daab69757a14c48b5c 
>   core/src/main/scala/kafka/utils/ZkUtils.scala 7ae999ec619443d35a9cb8fbcd531fca0c51c8c0 
>   core/src/test/scala/integration/kafka/api/ProducerFailureHandlingTest.scala 7eb6d05b66b16f8b0ab64eb43dcc1a25168fa5be 
>   core/src/test/scala/integration/kafka/api/ProducerSendTest.scala 3df450784592b894008e7507b2737f9bb07f7bd2 
>   core/src/test/scala/other/kafka/TestOffsetManager.scala a106379d96ab3cbdf54a9f162db44a6df177e733 
>   core/src/test/scala/unit/kafka/KafkaConfigTest.scala 4d36b8b1173f60d43463c13c9d8c1275a84c8c28 
>   core/src/test/scala/unit/kafka/admin/AddPartitionsTest.scala 8bc178505e00932a316c46ed1d904bd57b5b3f75 
>   core/src/test/scala/unit/kafka/api/RequestResponseSerializationTest.scala 030faacf278e7040ca7f9f2c1fac518008f7ae42 
>   core/src/test/scala/unit/kafka/cluster/BrokerEndPointTest.scala PRE-CREATION 
>   core/src/test/scala/unit/kafka/consumer/ConsumerIteratorTest.scala 995397ba2e2dfc6fadd9d5c5efd90f2c4ac0d59c 
>   core/src/test/scala/unit/kafka/integration/FetcherTest.scala 3093e459935ecf8e5b34fca34a422674562a7034 
>   core/src/test/scala/unit/kafka/integration/KafkaServerTestHarness.scala 062790f15d4ab6e0ee7a98bef12aaa2b22da3bfa 
>   core/src/test/scala/unit/kafka/integration/TopicMetadataTest.scala a671af4a87d5c2fb42ff48c553bca7cae6538231 
>   core/src/test/scala/unit/kafka/log/LogTest.scala 3c0599cc2ea12566fbec8233e3a73b31854b3b38 
>   core/src/test/scala/unit/kafka/network/SocketServerTest.scala 0af23abf146d99e3d6cf31e5d6b95a9e63318ddb 
>   core/src/test/scala/unit/kafka/producer/AsyncProducerTest.scala be90c5bc7f1f5ba8a237d1c7176f27029727c918 
>   core/src/test/scala/unit/kafka/producer/SyncProducerTest.scala 812df5989940095c1a347066136ab55153bdad21 
>   core/src/test/scala/unit/kafka/server/AdvertiseBrokerTest.scala 296e2b563041318d360db4037411879613a63968 
>   core/src/test/scala/unit/kafka/server/KafkaConfigConfigDefTest.scala 191251d1340b5e5b2d649b37af3c6c1896d07e6e 
>   core/src/test/scala/unit/kafka/server/KafkaConfigTest.scala 7f47e6f9a74314ed9e9f19d0c97931f3f2e49259 
>   core/src/test/scala/unit/kafka/server/LeaderElectionTest.scala f2528059dd86bb051d1ce9d72039cde3b78b8817 
>   core/src/test/scala/unit/kafka/server/LogOffsetTest.scala 8c9f9e748e888da6035755c9f4241ac3aa0500c9 
>   core/src/test/scala/unit/kafka/utils/TestUtils.scala 1682a77362123449de6bb1d54a55887409990a24 
>   system_test/README.txt 0e469e373c9d91e6394a513ec581ef1cc92fa44c 
>   system_test/replication_testsuite/testcase_0001/testcase_0001_properties.json 250ffe08ae4c2d35f7c79c883f47bbc27d5361b5 
>   system_test/replication_testsuite/testcase_0002/testcase_0002_properties.json 3f9e7d05db17e170aea4fee5a13ab5534dd5db2e 
>   system_test/replication_testsuite/testcase_0003/testcase_0003_properties.json b10c6266a786acf0c4b1accb63f9727486d09fd9 
>   system_test/replication_testsuite/testcase_0004/testcase_0004_properties.json 22c08023f3d9e7678fdb990518bdb7931b64b6ac 
>   system_test/replication_testsuite/testcase_0005/testcase_0005_properties.json 1317d8460f82c3ff09d5a13a1277d695ba71d6e7 
>   system_test/replication_testsuite/testcase_0006/testcase_0006_properties.json d31346506a19dd066519303a19a191f70599918d 
>   system_test/replication_testsuite/testcase_0007/testcase_0007_properties.json bd00f130d7fc69dc43cf088e298abc43e51bf765 
>   system_test/replication_testsuite/testcase_0008/testcase_0008_properties.json ac5c13b09a84f975e345b635cf44a76935251244 
>   system_test/replication_testsuite/testcase_0009/testcase_0009_properties.json 6dadd7a288664ebdc7d023c54d9cdb5a54d0c2e7 
>   system_test/replication_testsuite/testcase_0101/testcase_0101_properties.json 614cb1cf01d3c76d8a97c2b52fb52bd83ec80c4b 
>   system_test/replication_testsuite/testcase_0102/testcase_0102_properties.json fbf01772545f016c28448235a5859429a3a83780 
>   system_test/replication_testsuite/testcase_0103/testcase_0103_properties.json 317a6e3d3384009668e822e6c7e38b3fa34fcd6e 
>   system_test/replication_testsuite/testcase_0104/testcase_0104_properties.json d1a790b34fa5b42fe9fce2dabf6833048f9905ea 
>   system_test/replication_testsuite/testcase_0105/testcase_0105_properties.json 8f4f8bfac71463bbe52906ee7a127d8b0b5f48a3 
>   system_test/replication_testsuite/testcase_0106/testcase_0106_properties.json a307f855c944946724cf3a91a9c07cc7b57b71f6 
>   system_test/replication_testsuite/testcase_0107/testcase_0107_properties.json 827319eb6c6dbba0c8000b6e5e5a657a112deb21 
>   system_test/replication_testsuite/testcase_0108/testcase_0108_properties.json ae015cd0eb82b3d3f04e14c808b66dad702f7bf0 
>   system_test/replication_testsuite/testcase_0109/testcase_0109_properties.json 1951a1220956f931032e8fcd214784d76472054b 
>   system_test/replication_testsuite/testcase_1/testcase_1_properties.json 0c6d7a316cc6b51ac0755ca03558507db0706c31 
>   system_test/run_all.sh PRE-CREATION 
>   system_test/run_all_replica.sh PRE-CREATION 
>   system_test/testcase_to_run.json c6cf17ea690732bccbf4d60da6593f507c6da979 
>   system_test/testcase_to_run_all_replica.json PRE-CREATION 
>   system_test/utils/kafka_system_test_utils.py 41d511cbc310fa87e0f2cd2f772e479e8e3ae4e2 
> 
> Diff: https://reviews.apache.org/r/28769/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Gwen Shapira
> 
>


Re: Review Request 28769: Patch for KAFKA-1809

Posted by Jun Rao <ju...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/28769/#review78839
-----------------------------------------------------------


Thanks for the patch. Looks good. Just a few more minor comments below.


core/src/main/scala/kafka/api/ApiVersion.scala
<https://reviews.apache.org/r/28769/#comment127902>

    Do we need to repeat the comment here and the next one?



core/src/main/scala/kafka/cluster/Broker.scala
<https://reviews.apache.org/r/28769/#comment127903>

    Remove "a host".



core/src/main/scala/kafka/cluster/Broker.scala
<https://reviews.apache.org/r/28769/#comment127904>

    brokerInfo("endpoints").asInstanceOf[List[String]]



core/src/main/scala/kafka/cluster/Broker.scala
<https://reviews.apache.org/r/28769/#comment127906>

    This is incorrect. The host part is no longer in the serialized data.



core/src/test/scala/unit/kafka/cluster/BrokerEndPointTest.scala
<https://reviews.apache.org/r/28769/#comment127925>

    These can be removed.



core/src/test/scala/unit/kafka/producer/SyncProducerTest.scala
<https://reviews.apache.org/r/28769/#comment127926>

    endpoints.(SecurityProtocol.PLAINTEXT).port



core/src/test/scala/unit/kafka/producer/SyncProducerTest.scala
<https://reviews.apache.org/r/28769/#comment127927>

    endpoints.(SecurityProtocol.PLAINTEXT).port



system_test/run_all.sh
<https://reviews.apache.org/r/28769/#comment127928>

    Perhaps we can just remove testcase_to_run.json from git repo and just copy the right json over. Then, we don't need to create testcase_to_run.json_${my_ts}. We probably can do that in run_all, run_all_replica and run_sanity.


- Jun Rao


On April 3, 2015, 2:04 a.m., Gwen Shapira wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/28769/
> -----------------------------------------------------------
> 
> (Updated April 3, 2015, 2:04 a.m.)
> 
> 
> Review request for kafka.
> 
> 
> Bugs: KAFKA-1809
>     https://issues.apache.org/jira/browse/KAFKA-1809
> 
> 
> Repository: kafka
> 
> 
> Description
> -------
> 
> forgot rest of patch
> 
> 
> merge with trunk
> 
> 
> moved ApiVersion to core, fixed SocketServer concurrency issue and other minor things
> 
> 
> Merge branch 'trunk' of http://git-wip-us.apache.org/repos/asf/kafka into broker_ref2
> 
> Conflicts:
> 	core/src/main/scala/kafka/server/KafkaApis.scala
> 	core/src/test/scala/unit/kafka/api/RequestResponseSerializationTest.scala
> 
> addressing Joel's comments and added support for older versions in inter.broker.protocol.version to make upgrades from older versions a bit clearer.
> 
> 
> Diffs
> -----
> 
>   clients/src/main/java/org/apache/kafka/clients/producer/ProducerConfig.java fa9daaef66ff7961e1c46cd0cd8fed18a53bccd8 
>   clients/src/main/java/org/apache/kafka/common/protocol/SecurityProtocol.java PRE-CREATION 
>   clients/src/main/java/org/apache/kafka/common/utils/Utils.java 920b51a6c3c99639fbc9dc065637eeee3c19fabd 
>   clients/src/test/java/org/apache/kafka/common/utils/UtilsTest.java c899813d55b9c4786adde3d840f040d6645d27c8 
>   config/server.properties 1614260b71a658b405bb24157c8f12b1f1031aa5 
>   core/src/main/scala/kafka/admin/AdminUtils.scala b700110f2d7f1ede235af55d8e37e1b5592c6c7d 
>   core/src/main/scala/kafka/admin/TopicCommand.scala f400b71f8444fffd3fc1d8398a283682390eba4e 
>   core/src/main/scala/kafka/api/ApiVersion.scala PRE-CREATION 
>   core/src/main/scala/kafka/api/ConsumerMetadataResponse.scala 24aaf954dc42e2084454fa5fc9e8f388ea95c756 
>   core/src/main/scala/kafka/api/LeaderAndIsrRequest.scala 4ff7e8f8cc695551dd5d2fe65c74f6b6c571e340 
>   core/src/main/scala/kafka/api/TopicMetadata.scala 0190076df0adf906ecd332284f222ff974b315fc 
>   core/src/main/scala/kafka/api/TopicMetadataResponse.scala 92ac4e687be22e4800199c0666bfac5e0059e5bb 
>   core/src/main/scala/kafka/api/UpdateMetadataRequest.scala 530982e36b17934b8cc5fb668075a5342e142c59 
>   core/src/main/scala/kafka/client/ClientUtils.scala ebba87f0566684c796c26cb76c64b4640a5ccfde 
>   core/src/main/scala/kafka/cluster/Broker.scala 0060add008bb3bc4b0092f2173c469fce0120be6 
>   core/src/main/scala/kafka/cluster/BrokerEndPoint.scala PRE-CREATION 
>   core/src/main/scala/kafka/cluster/EndPoint.scala PRE-CREATION 
>   core/src/main/scala/kafka/cluster/SecurityProtocol.scala PRE-CREATION 
>   core/src/main/scala/kafka/common/BrokerEndPointNotAvailableException.scala PRE-CREATION 
>   core/src/main/scala/kafka/consumer/ConsumerConfig.scala 9ebbee6c16dc83767297c729d2d74ebbd063a993 
>   core/src/main/scala/kafka/consumer/ConsumerFetcherManager.scala b9e2bea7b442a19bcebd1b350d39541a8c9dd068 
>   core/src/main/scala/kafka/consumer/ConsumerFetcherThread.scala 152fda5d1dcdf319399fdeeb8457006090ebe56c 
>   core/src/main/scala/kafka/consumer/ZookeeperConsumerConnector.scala b1cf0db8741e384e4e4119751058ea87b2589e57 
>   core/src/main/scala/kafka/controller/ControllerChannelManager.scala c582191636f6188c25d62a67ff0315b56f163133 
>   core/src/main/scala/kafka/controller/KafkaController.scala 09fc46d759b74bcdad2d2a610d9c5a93ff02423f 
>   core/src/main/scala/kafka/javaapi/ConsumerMetadataResponse.scala d281bb31a66fd749ecddfbe38479b6903f436831 
>   core/src/main/scala/kafka/javaapi/TopicMetadata.scala f384e04678df10a5b46a439f475c63371bf8e32b 
>   core/src/main/scala/kafka/network/RequestChannel.scala bc73540acb1ceb303cb30e58dfa903822f7a8a6c 
>   core/src/main/scala/kafka/network/SocketServer.scala 76ce41aed6e04ac5ba88395c4d5008aca17f9a73 
>   core/src/main/scala/kafka/producer/ProducerPool.scala 43df70bb461dd3e385e6b20396adef3c4016a3fc 
>   core/src/main/scala/kafka/server/AbstractFetcherManager.scala 20c00cb8cc2351950edbc8cb1752905a0c26e79f 
>   core/src/main/scala/kafka/server/AbstractFetcherThread.scala 5d5cf5897cc37b3595f14bfe9d7cde43456bcc4b 
>   core/src/main/scala/kafka/server/KafkaApis.scala f372af77f58aacee7981caa361e13eefecee2278 
>   core/src/main/scala/kafka/server/KafkaConfig.scala 422451aec5ea0442eb2e4c1ae772885b813904a9 
>   core/src/main/scala/kafka/server/KafkaHealthcheck.scala 7907987e43404487382de7f4cc294f0d01ac15a7 
>   core/src/main/scala/kafka/server/KafkaServer.scala 4db3384545be8c237d6fc9646716ab67d5193ec5 
>   core/src/main/scala/kafka/server/MetadataCache.scala 6aef6e4508ecadbbcc1e12bed2054547b7aa333e 
>   core/src/main/scala/kafka/server/ReplicaFetcherManager.scala 351dbbad3bdb709937943b336a5b0a9e0162a5e2 
>   core/src/main/scala/kafka/server/ReplicaFetcherThread.scala 96faa7b4ed7c9ba8a3f6f9f114bd94e19b3a7ac0 
>   core/src/main/scala/kafka/server/ReplicaManager.scala 44f0026e6676d8d764dd59dbcc6bb7bb727a3ba6 
>   core/src/main/scala/kafka/tools/ConsumerOffsetChecker.scala d1e7c434e77859d746b8dc68dd5d5a3740425e79 
>   core/src/main/scala/kafka/tools/ReplicaVerificationTool.scala ba6ddd7a909df79a0f7d45e8b4a2af94ea0fceb6 
>   core/src/main/scala/kafka/tools/SimpleConsumerShell.scala b4f903b6c7c3bb725cac7c05eb1f885906413c4d 
>   core/src/main/scala/kafka/tools/UpdateOffsetsInZK.scala 111c9a8b94ce45d95551482e9fd3f8c1cccbf548 
>   core/src/main/scala/kafka/utils/Utils.scala 738c1af9ef5de16fdf5130daab69757a14c48b5c 
>   core/src/main/scala/kafka/utils/ZkUtils.scala 7ae999ec619443d35a9cb8fbcd531fca0c51c8c0 
>   core/src/test/scala/integration/kafka/api/ProducerFailureHandlingTest.scala 7eb6d05b66b16f8b0ab64eb43dcc1a25168fa5be 
>   core/src/test/scala/integration/kafka/api/ProducerSendTest.scala 3df450784592b894008e7507b2737f9bb07f7bd2 
>   core/src/test/scala/other/kafka/TestOffsetManager.scala a106379d96ab3cbdf54a9f162db44a6df177e733 
>   core/src/test/scala/unit/kafka/KafkaConfigTest.scala 4d36b8b1173f60d43463c13c9d8c1275a84c8c28 
>   core/src/test/scala/unit/kafka/admin/AddPartitionsTest.scala 8bc178505e00932a316c46ed1d904bd57b5b3f75 
>   core/src/test/scala/unit/kafka/api/RequestResponseSerializationTest.scala 030faacf278e7040ca7f9f2c1fac518008f7ae42 
>   core/src/test/scala/unit/kafka/cluster/BrokerEndPointTest.scala PRE-CREATION 
>   core/src/test/scala/unit/kafka/consumer/ConsumerIteratorTest.scala 995397ba2e2dfc6fadd9d5c5efd90f2c4ac0d59c 
>   core/src/test/scala/unit/kafka/integration/FetcherTest.scala 3093e459935ecf8e5b34fca34a422674562a7034 
>   core/src/test/scala/unit/kafka/integration/KafkaServerTestHarness.scala 062790f15d4ab6e0ee7a98bef12aaa2b22da3bfa 
>   core/src/test/scala/unit/kafka/integration/TopicMetadataTest.scala a671af4a87d5c2fb42ff48c553bca7cae6538231 
>   core/src/test/scala/unit/kafka/log/LogTest.scala 3c0599cc2ea12566fbec8233e3a73b31854b3b38 
>   core/src/test/scala/unit/kafka/network/SocketServerTest.scala 0af23abf146d99e3d6cf31e5d6b95a9e63318ddb 
>   core/src/test/scala/unit/kafka/producer/AsyncProducerTest.scala be90c5bc7f1f5ba8a237d1c7176f27029727c918 
>   core/src/test/scala/unit/kafka/producer/SyncProducerTest.scala 812df5989940095c1a347066136ab55153bdad21 
>   core/src/test/scala/unit/kafka/server/AdvertiseBrokerTest.scala 296e2b563041318d360db4037411879613a63968 
>   core/src/test/scala/unit/kafka/server/KafkaConfigConfigDefTest.scala 191251d1340b5e5b2d649b37af3c6c1896d07e6e 
>   core/src/test/scala/unit/kafka/server/KafkaConfigTest.scala 7f47e6f9a74314ed9e9f19d0c97931f3f2e49259 
>   core/src/test/scala/unit/kafka/server/LeaderElectionTest.scala f2528059dd86bb051d1ce9d72039cde3b78b8817 
>   core/src/test/scala/unit/kafka/server/LogOffsetTest.scala 8c9f9e748e888da6035755c9f4241ac3aa0500c9 
>   core/src/test/scala/unit/kafka/utils/TestUtils.scala 1682a77362123449de6bb1d54a55887409990a24 
>   system_test/README.txt 0e469e373c9d91e6394a513ec581ef1cc92fa44c 
>   system_test/replication_testsuite/testcase_0001/testcase_0001_properties.json 250ffe08ae4c2d35f7c79c883f47bbc27d5361b5 
>   system_test/replication_testsuite/testcase_0002/testcase_0002_properties.json 3f9e7d05db17e170aea4fee5a13ab5534dd5db2e 
>   system_test/replication_testsuite/testcase_0003/testcase_0003_properties.json b10c6266a786acf0c4b1accb63f9727486d09fd9 
>   system_test/replication_testsuite/testcase_0004/testcase_0004_properties.json 22c08023f3d9e7678fdb990518bdb7931b64b6ac 
>   system_test/replication_testsuite/testcase_0005/testcase_0005_properties.json 1317d8460f82c3ff09d5a13a1277d695ba71d6e7 
>   system_test/replication_testsuite/testcase_0006/testcase_0006_properties.json d31346506a19dd066519303a19a191f70599918d 
>   system_test/replication_testsuite/testcase_0007/testcase_0007_properties.json bd00f130d7fc69dc43cf088e298abc43e51bf765 
>   system_test/replication_testsuite/testcase_0008/testcase_0008_properties.json ac5c13b09a84f975e345b635cf44a76935251244 
>   system_test/replication_testsuite/testcase_0009/testcase_0009_properties.json 6dadd7a288664ebdc7d023c54d9cdb5a54d0c2e7 
>   system_test/replication_testsuite/testcase_0101/testcase_0101_properties.json 614cb1cf01d3c76d8a97c2b52fb52bd83ec80c4b 
>   system_test/replication_testsuite/testcase_0102/testcase_0102_properties.json fbf01772545f016c28448235a5859429a3a83780 
>   system_test/replication_testsuite/testcase_0103/testcase_0103_properties.json 317a6e3d3384009668e822e6c7e38b3fa34fcd6e 
>   system_test/replication_testsuite/testcase_0104/testcase_0104_properties.json d1a790b34fa5b42fe9fce2dabf6833048f9905ea 
>   system_test/replication_testsuite/testcase_0105/testcase_0105_properties.json 8f4f8bfac71463bbe52906ee7a127d8b0b5f48a3 
>   system_test/replication_testsuite/testcase_0106/testcase_0106_properties.json a307f855c944946724cf3a91a9c07cc7b57b71f6 
>   system_test/replication_testsuite/testcase_0107/testcase_0107_properties.json 827319eb6c6dbba0c8000b6e5e5a657a112deb21 
>   system_test/replication_testsuite/testcase_0108/testcase_0108_properties.json ae015cd0eb82b3d3f04e14c808b66dad702f7bf0 
>   system_test/replication_testsuite/testcase_0109/testcase_0109_properties.json 1951a1220956f931032e8fcd214784d76472054b 
>   system_test/replication_testsuite/testcase_1/testcase_1_properties.json 0c6d7a316cc6b51ac0755ca03558507db0706c31 
>   system_test/run_all.sh PRE-CREATION 
>   system_test/run_all_replica.sh PRE-CREATION 
>   system_test/testcase_to_run.json c6cf17ea690732bccbf4d60da6593f507c6da979 
>   system_test/testcase_to_run_all_replica.json PRE-CREATION 
>   system_test/utils/kafka_system_test_utils.py 41d511cbc310fa87e0f2cd2f772e479e8e3ae4e2 
> 
> Diff: https://reviews.apache.org/r/28769/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Gwen Shapira
> 
>


Re: Review Request 28769: Patch for KAFKA-1809

Posted by Gwen Shapira <gs...@cloudera.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/28769/
-----------------------------------------------------------

(Updated April 3, 2015, 2:04 a.m.)


Review request for kafka.


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


Repository: kafka


Description (updated)
-------

forgot rest of patch


merge with trunk


moved ApiVersion to core, fixed SocketServer concurrency issue and other minor things


Merge branch 'trunk' of http://git-wip-us.apache.org/repos/asf/kafka into broker_ref2

Conflicts:
	core/src/main/scala/kafka/server/KafkaApis.scala
	core/src/test/scala/unit/kafka/api/RequestResponseSerializationTest.scala

addressing Joel's comments and added support for older versions in inter.broker.protocol.version to make upgrades from older versions a bit clearer.


Diffs (updated)
-----

  clients/src/main/java/org/apache/kafka/clients/producer/ProducerConfig.java fa9daaef66ff7961e1c46cd0cd8fed18a53bccd8 
  clients/src/main/java/org/apache/kafka/common/protocol/SecurityProtocol.java PRE-CREATION 
  clients/src/main/java/org/apache/kafka/common/utils/Utils.java 920b51a6c3c99639fbc9dc065637eeee3c19fabd 
  clients/src/test/java/org/apache/kafka/common/utils/UtilsTest.java c899813d55b9c4786adde3d840f040d6645d27c8 
  config/server.properties 1614260b71a658b405bb24157c8f12b1f1031aa5 
  core/src/main/scala/kafka/admin/AdminUtils.scala b700110f2d7f1ede235af55d8e37e1b5592c6c7d 
  core/src/main/scala/kafka/admin/TopicCommand.scala f400b71f8444fffd3fc1d8398a283682390eba4e 
  core/src/main/scala/kafka/api/ApiVersion.scala PRE-CREATION 
  core/src/main/scala/kafka/api/ConsumerMetadataResponse.scala 24aaf954dc42e2084454fa5fc9e8f388ea95c756 
  core/src/main/scala/kafka/api/LeaderAndIsrRequest.scala 4ff7e8f8cc695551dd5d2fe65c74f6b6c571e340 
  core/src/main/scala/kafka/api/TopicMetadata.scala 0190076df0adf906ecd332284f222ff974b315fc 
  core/src/main/scala/kafka/api/TopicMetadataResponse.scala 92ac4e687be22e4800199c0666bfac5e0059e5bb 
  core/src/main/scala/kafka/api/UpdateMetadataRequest.scala 530982e36b17934b8cc5fb668075a5342e142c59 
  core/src/main/scala/kafka/client/ClientUtils.scala ebba87f0566684c796c26cb76c64b4640a5ccfde 
  core/src/main/scala/kafka/cluster/Broker.scala 0060add008bb3bc4b0092f2173c469fce0120be6 
  core/src/main/scala/kafka/cluster/BrokerEndPoint.scala PRE-CREATION 
  core/src/main/scala/kafka/cluster/EndPoint.scala PRE-CREATION 
  core/src/main/scala/kafka/cluster/SecurityProtocol.scala PRE-CREATION 
  core/src/main/scala/kafka/common/BrokerEndPointNotAvailableException.scala PRE-CREATION 
  core/src/main/scala/kafka/consumer/ConsumerConfig.scala 9ebbee6c16dc83767297c729d2d74ebbd063a993 
  core/src/main/scala/kafka/consumer/ConsumerFetcherManager.scala b9e2bea7b442a19bcebd1b350d39541a8c9dd068 
  core/src/main/scala/kafka/consumer/ConsumerFetcherThread.scala 152fda5d1dcdf319399fdeeb8457006090ebe56c 
  core/src/main/scala/kafka/consumer/ZookeeperConsumerConnector.scala b1cf0db8741e384e4e4119751058ea87b2589e57 
  core/src/main/scala/kafka/controller/ControllerChannelManager.scala c582191636f6188c25d62a67ff0315b56f163133 
  core/src/main/scala/kafka/controller/KafkaController.scala 09fc46d759b74bcdad2d2a610d9c5a93ff02423f 
  core/src/main/scala/kafka/javaapi/ConsumerMetadataResponse.scala d281bb31a66fd749ecddfbe38479b6903f436831 
  core/src/main/scala/kafka/javaapi/TopicMetadata.scala f384e04678df10a5b46a439f475c63371bf8e32b 
  core/src/main/scala/kafka/network/RequestChannel.scala bc73540acb1ceb303cb30e58dfa903822f7a8a6c 
  core/src/main/scala/kafka/network/SocketServer.scala 76ce41aed6e04ac5ba88395c4d5008aca17f9a73 
  core/src/main/scala/kafka/producer/ProducerPool.scala 43df70bb461dd3e385e6b20396adef3c4016a3fc 
  core/src/main/scala/kafka/server/AbstractFetcherManager.scala 20c00cb8cc2351950edbc8cb1752905a0c26e79f 
  core/src/main/scala/kafka/server/AbstractFetcherThread.scala 5d5cf5897cc37b3595f14bfe9d7cde43456bcc4b 
  core/src/main/scala/kafka/server/KafkaApis.scala f372af77f58aacee7981caa361e13eefecee2278 
  core/src/main/scala/kafka/server/KafkaConfig.scala 422451aec5ea0442eb2e4c1ae772885b813904a9 
  core/src/main/scala/kafka/server/KafkaHealthcheck.scala 7907987e43404487382de7f4cc294f0d01ac15a7 
  core/src/main/scala/kafka/server/KafkaServer.scala 4db3384545be8c237d6fc9646716ab67d5193ec5 
  core/src/main/scala/kafka/server/MetadataCache.scala 6aef6e4508ecadbbcc1e12bed2054547b7aa333e 
  core/src/main/scala/kafka/server/ReplicaFetcherManager.scala 351dbbad3bdb709937943b336a5b0a9e0162a5e2 
  core/src/main/scala/kafka/server/ReplicaFetcherThread.scala 96faa7b4ed7c9ba8a3f6f9f114bd94e19b3a7ac0 
  core/src/main/scala/kafka/server/ReplicaManager.scala 44f0026e6676d8d764dd59dbcc6bb7bb727a3ba6 
  core/src/main/scala/kafka/tools/ConsumerOffsetChecker.scala d1e7c434e77859d746b8dc68dd5d5a3740425e79 
  core/src/main/scala/kafka/tools/ReplicaVerificationTool.scala ba6ddd7a909df79a0f7d45e8b4a2af94ea0fceb6 
  core/src/main/scala/kafka/tools/SimpleConsumerShell.scala b4f903b6c7c3bb725cac7c05eb1f885906413c4d 
  core/src/main/scala/kafka/tools/UpdateOffsetsInZK.scala 111c9a8b94ce45d95551482e9fd3f8c1cccbf548 
  core/src/main/scala/kafka/utils/Utils.scala 738c1af9ef5de16fdf5130daab69757a14c48b5c 
  core/src/main/scala/kafka/utils/ZkUtils.scala 7ae999ec619443d35a9cb8fbcd531fca0c51c8c0 
  core/src/test/scala/integration/kafka/api/ProducerFailureHandlingTest.scala 7eb6d05b66b16f8b0ab64eb43dcc1a25168fa5be 
  core/src/test/scala/integration/kafka/api/ProducerSendTest.scala 3df450784592b894008e7507b2737f9bb07f7bd2 
  core/src/test/scala/other/kafka/TestOffsetManager.scala a106379d96ab3cbdf54a9f162db44a6df177e733 
  core/src/test/scala/unit/kafka/KafkaConfigTest.scala 4d36b8b1173f60d43463c13c9d8c1275a84c8c28 
  core/src/test/scala/unit/kafka/admin/AddPartitionsTest.scala 8bc178505e00932a316c46ed1d904bd57b5b3f75 
  core/src/test/scala/unit/kafka/api/RequestResponseSerializationTest.scala 030faacf278e7040ca7f9f2c1fac518008f7ae42 
  core/src/test/scala/unit/kafka/cluster/BrokerEndPointTest.scala PRE-CREATION 
  core/src/test/scala/unit/kafka/consumer/ConsumerIteratorTest.scala 995397ba2e2dfc6fadd9d5c5efd90f2c4ac0d59c 
  core/src/test/scala/unit/kafka/integration/FetcherTest.scala 3093e459935ecf8e5b34fca34a422674562a7034 
  core/src/test/scala/unit/kafka/integration/KafkaServerTestHarness.scala 062790f15d4ab6e0ee7a98bef12aaa2b22da3bfa 
  core/src/test/scala/unit/kafka/integration/TopicMetadataTest.scala a671af4a87d5c2fb42ff48c553bca7cae6538231 
  core/src/test/scala/unit/kafka/log/LogTest.scala 3c0599cc2ea12566fbec8233e3a73b31854b3b38 
  core/src/test/scala/unit/kafka/network/SocketServerTest.scala 0af23abf146d99e3d6cf31e5d6b95a9e63318ddb 
  core/src/test/scala/unit/kafka/producer/AsyncProducerTest.scala be90c5bc7f1f5ba8a237d1c7176f27029727c918 
  core/src/test/scala/unit/kafka/producer/SyncProducerTest.scala 812df5989940095c1a347066136ab55153bdad21 
  core/src/test/scala/unit/kafka/server/AdvertiseBrokerTest.scala 296e2b563041318d360db4037411879613a63968 
  core/src/test/scala/unit/kafka/server/KafkaConfigConfigDefTest.scala 191251d1340b5e5b2d649b37af3c6c1896d07e6e 
  core/src/test/scala/unit/kafka/server/KafkaConfigTest.scala 7f47e6f9a74314ed9e9f19d0c97931f3f2e49259 
  core/src/test/scala/unit/kafka/server/LeaderElectionTest.scala f2528059dd86bb051d1ce9d72039cde3b78b8817 
  core/src/test/scala/unit/kafka/server/LogOffsetTest.scala 8c9f9e748e888da6035755c9f4241ac3aa0500c9 
  core/src/test/scala/unit/kafka/utils/TestUtils.scala 1682a77362123449de6bb1d54a55887409990a24 
  system_test/README.txt 0e469e373c9d91e6394a513ec581ef1cc92fa44c 
  system_test/replication_testsuite/testcase_0001/testcase_0001_properties.json 250ffe08ae4c2d35f7c79c883f47bbc27d5361b5 
  system_test/replication_testsuite/testcase_0002/testcase_0002_properties.json 3f9e7d05db17e170aea4fee5a13ab5534dd5db2e 
  system_test/replication_testsuite/testcase_0003/testcase_0003_properties.json b10c6266a786acf0c4b1accb63f9727486d09fd9 
  system_test/replication_testsuite/testcase_0004/testcase_0004_properties.json 22c08023f3d9e7678fdb990518bdb7931b64b6ac 
  system_test/replication_testsuite/testcase_0005/testcase_0005_properties.json 1317d8460f82c3ff09d5a13a1277d695ba71d6e7 
  system_test/replication_testsuite/testcase_0006/testcase_0006_properties.json d31346506a19dd066519303a19a191f70599918d 
  system_test/replication_testsuite/testcase_0007/testcase_0007_properties.json bd00f130d7fc69dc43cf088e298abc43e51bf765 
  system_test/replication_testsuite/testcase_0008/testcase_0008_properties.json ac5c13b09a84f975e345b635cf44a76935251244 
  system_test/replication_testsuite/testcase_0009/testcase_0009_properties.json 6dadd7a288664ebdc7d023c54d9cdb5a54d0c2e7 
  system_test/replication_testsuite/testcase_0101/testcase_0101_properties.json 614cb1cf01d3c76d8a97c2b52fb52bd83ec80c4b 
  system_test/replication_testsuite/testcase_0102/testcase_0102_properties.json fbf01772545f016c28448235a5859429a3a83780 
  system_test/replication_testsuite/testcase_0103/testcase_0103_properties.json 317a6e3d3384009668e822e6c7e38b3fa34fcd6e 
  system_test/replication_testsuite/testcase_0104/testcase_0104_properties.json d1a790b34fa5b42fe9fce2dabf6833048f9905ea 
  system_test/replication_testsuite/testcase_0105/testcase_0105_properties.json 8f4f8bfac71463bbe52906ee7a127d8b0b5f48a3 
  system_test/replication_testsuite/testcase_0106/testcase_0106_properties.json a307f855c944946724cf3a91a9c07cc7b57b71f6 
  system_test/replication_testsuite/testcase_0107/testcase_0107_properties.json 827319eb6c6dbba0c8000b6e5e5a657a112deb21 
  system_test/replication_testsuite/testcase_0108/testcase_0108_properties.json ae015cd0eb82b3d3f04e14c808b66dad702f7bf0 
  system_test/replication_testsuite/testcase_0109/testcase_0109_properties.json 1951a1220956f931032e8fcd214784d76472054b 
  system_test/replication_testsuite/testcase_1/testcase_1_properties.json 0c6d7a316cc6b51ac0755ca03558507db0706c31 
  system_test/run_all.sh PRE-CREATION 
  system_test/run_all_replica.sh PRE-CREATION 
  system_test/testcase_to_run.json c6cf17ea690732bccbf4d60da6593f507c6da979 
  system_test/testcase_to_run_all_replica.json PRE-CREATION 
  system_test/utils/kafka_system_test_utils.py 41d511cbc310fa87e0f2cd2f772e479e8e3ae4e2 

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


Testing
-------


Thanks,

Gwen Shapira


Re: Review Request 28769: Patch for KAFKA-1809

Posted by Joel Koshy <jj...@gmail.com>.

> On April 3, 2015, 12:41 a.m., Joel Koshy wrote:
> > clients/src/main/java/org/apache/kafka/common/protocol/SecurityProtocol.java, line 26
> > <https://reviews.apache.org/r/28769/diff/22/?file=914062#file914062line26>
> >
> >     Can we go with TRACE(Short.MAX_VALUE, "TRACE") and start plaintext at 0? This may not play well with the scala enum but per comment below I'm not clear on why we need that.
> 
> Gwen Shapira wrote:
>     sure. any reason for this? I figured this is more-or-less arbitrary.

Actually either way is fine - since users don't deal with the numeric code. I thought it would be good to have a clearer separation - either MAX_VALUE or a negative.


> On April 3, 2015, 12:41 a.m., Joel Koshy wrote:
> > clients/src/main/java/org/apache/kafka/common/protocol/SecurityProtocol.java, line 44
> > <https://reviews.apache.org/r/28769/diff/22/?file=914062#file914062line44>
> >
> >     All caps
> 
> Gwen Shapira wrote:
>     Apparently "name" and "id" cannot be all caps.
>     Our coding style (enforced with checkstyle) indicates that allcaps are reserved for "final static" members. "name" and "id" are initialized in the constructor, so can't be static - and thereofore no allcaps :)

cool


> On April 3, 2015, 12:41 a.m., Joel Koshy wrote:
> > core/src/main/scala/kafka/api/ApiVersion.scala, line 28
> > <https://reviews.apache.org/r/28769/diff/22/?file=914068#file914068line28>
> >
> >     I was in the middle of reviewing your previous revision and had a follow-up comment on this (in reply to Jun's). Although this is for intra-cluster communication, at some point we may want to expose ApiVersion to clients as well via some cluster/broker metadata request - e.g., what is the lowest and highest ApiVersion that a broker supports. So it seems appropriate to keep in o.a.k.common no?
> 
> Gwen Shapira wrote:
>     Mmmm... I'm pretty sure we had good reasons not to expose broker versions to clients and instead rely on each wire-protocol request having its own version IDs (and deprecate versions by detecting this on broker and sending exceptions back to clients). 
>     I can't remember what the reason was, but I think that if we expose actual release versions from brokers to clients this can be pretty confusing.

Yes but the APIversion would potentially be useful no? This is different from release versions. Basically I felt what you had earlier made sense, so I was hoping for some clarification on Jun's suggestion to move it to core. Jun?


> On April 3, 2015, 12:41 a.m., Joel Koshy wrote:
> > core/src/main/scala/kafka/cluster/SecurityProtocol.scala, line 21
> > <https://reviews.apache.org/r/28769/diff/22/?file=914078#file914078line21>
> >
> >     Note comment above in o.a.k.c

I'm still unclear on why we need the scala enum instead of referencing the enum directly from o.a.k.c


> On April 3, 2015, 12:41 a.m., Joel Koshy wrote:
> > core/src/main/scala/kafka/server/KafkaConfig.scala, line 109
> > <https://reviews.apache.org/r/28769/diff/22/?file=914094#file914094line109>
> >
> >     I think either intraCluster or interBroker would be much better names for these two and the associated configs.
> 
> Gwen Shapira wrote:
>     Took me a bit to figure out why, so for posterity: http://grammarist.com/usage/inter-intra/
>     
>     Lets go with interBroker?

cool


> On April 3, 2015, 12:41 a.m., Joel Koshy wrote:
> > system_test/replication_testsuite/testcase_0001/testcase_0001_properties.json, line 32
> > <https://reviews.apache.org/r/28769/diff/22/?file=914129#file914129line32>
> >
> >     were these changes intentional?
> 
> Gwen Shapira wrote:
>     Very intentional. System_tests include segment verification - they take forever to run with the small segments. I can't understand how anyone runs the tests with different configuration.

Weird - why should the segment size matter if we are validating all the segments anyway? i.e., the number of messages is the same regardless of segment bytes no? Or is this some inherent overhead in the system test verification code?


- Joel


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


On April 3, 2015, 2:04 a.m., Gwen Shapira wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/28769/
> -----------------------------------------------------------
> 
> (Updated April 3, 2015, 2:04 a.m.)
> 
> 
> Review request for kafka.
> 
> 
> Bugs: KAFKA-1809
>     https://issues.apache.org/jira/browse/KAFKA-1809
> 
> 
> Repository: kafka
> 
> 
> Description
> -------
> 
> forgot rest of patch
> 
> 
> merge with trunk
> 
> 
> moved ApiVersion to core, fixed SocketServer concurrency issue and other minor things
> 
> 
> Merge branch 'trunk' of http://git-wip-us.apache.org/repos/asf/kafka into broker_ref2
> 
> Conflicts:
> 	core/src/main/scala/kafka/server/KafkaApis.scala
> 	core/src/test/scala/unit/kafka/api/RequestResponseSerializationTest.scala
> 
> addressing Joel's comments and added support for older versions in inter.broker.protocol.version to make upgrades from older versions a bit clearer.
> 
> 
> Diffs
> -----
> 
>   clients/src/main/java/org/apache/kafka/clients/producer/ProducerConfig.java fa9daaef66ff7961e1c46cd0cd8fed18a53bccd8 
>   clients/src/main/java/org/apache/kafka/common/protocol/SecurityProtocol.java PRE-CREATION 
>   clients/src/main/java/org/apache/kafka/common/utils/Utils.java 920b51a6c3c99639fbc9dc065637eeee3c19fabd 
>   clients/src/test/java/org/apache/kafka/common/utils/UtilsTest.java c899813d55b9c4786adde3d840f040d6645d27c8 
>   config/server.properties 1614260b71a658b405bb24157c8f12b1f1031aa5 
>   core/src/main/scala/kafka/admin/AdminUtils.scala b700110f2d7f1ede235af55d8e37e1b5592c6c7d 
>   core/src/main/scala/kafka/admin/TopicCommand.scala f400b71f8444fffd3fc1d8398a283682390eba4e 
>   core/src/main/scala/kafka/api/ApiVersion.scala PRE-CREATION 
>   core/src/main/scala/kafka/api/ConsumerMetadataResponse.scala 24aaf954dc42e2084454fa5fc9e8f388ea95c756 
>   core/src/main/scala/kafka/api/LeaderAndIsrRequest.scala 4ff7e8f8cc695551dd5d2fe65c74f6b6c571e340 
>   core/src/main/scala/kafka/api/TopicMetadata.scala 0190076df0adf906ecd332284f222ff974b315fc 
>   core/src/main/scala/kafka/api/TopicMetadataResponse.scala 92ac4e687be22e4800199c0666bfac5e0059e5bb 
>   core/src/main/scala/kafka/api/UpdateMetadataRequest.scala 530982e36b17934b8cc5fb668075a5342e142c59 
>   core/src/main/scala/kafka/client/ClientUtils.scala ebba87f0566684c796c26cb76c64b4640a5ccfde 
>   core/src/main/scala/kafka/cluster/Broker.scala 0060add008bb3bc4b0092f2173c469fce0120be6 
>   core/src/main/scala/kafka/cluster/BrokerEndPoint.scala PRE-CREATION 
>   core/src/main/scala/kafka/cluster/EndPoint.scala PRE-CREATION 
>   core/src/main/scala/kafka/cluster/SecurityProtocol.scala PRE-CREATION 
>   core/src/main/scala/kafka/common/BrokerEndPointNotAvailableException.scala PRE-CREATION 
>   core/src/main/scala/kafka/consumer/ConsumerConfig.scala 9ebbee6c16dc83767297c729d2d74ebbd063a993 
>   core/src/main/scala/kafka/consumer/ConsumerFetcherManager.scala b9e2bea7b442a19bcebd1b350d39541a8c9dd068 
>   core/src/main/scala/kafka/consumer/ConsumerFetcherThread.scala 152fda5d1dcdf319399fdeeb8457006090ebe56c 
>   core/src/main/scala/kafka/consumer/ZookeeperConsumerConnector.scala b1cf0db8741e384e4e4119751058ea87b2589e57 
>   core/src/main/scala/kafka/controller/ControllerChannelManager.scala c582191636f6188c25d62a67ff0315b56f163133 
>   core/src/main/scala/kafka/controller/KafkaController.scala 09fc46d759b74bcdad2d2a610d9c5a93ff02423f 
>   core/src/main/scala/kafka/javaapi/ConsumerMetadataResponse.scala d281bb31a66fd749ecddfbe38479b6903f436831 
>   core/src/main/scala/kafka/javaapi/TopicMetadata.scala f384e04678df10a5b46a439f475c63371bf8e32b 
>   core/src/main/scala/kafka/network/RequestChannel.scala bc73540acb1ceb303cb30e58dfa903822f7a8a6c 
>   core/src/main/scala/kafka/network/SocketServer.scala 76ce41aed6e04ac5ba88395c4d5008aca17f9a73 
>   core/src/main/scala/kafka/producer/ProducerPool.scala 43df70bb461dd3e385e6b20396adef3c4016a3fc 
>   core/src/main/scala/kafka/server/AbstractFetcherManager.scala 20c00cb8cc2351950edbc8cb1752905a0c26e79f 
>   core/src/main/scala/kafka/server/AbstractFetcherThread.scala 5d5cf5897cc37b3595f14bfe9d7cde43456bcc4b 
>   core/src/main/scala/kafka/server/KafkaApis.scala f372af77f58aacee7981caa361e13eefecee2278 
>   core/src/main/scala/kafka/server/KafkaConfig.scala 422451aec5ea0442eb2e4c1ae772885b813904a9 
>   core/src/main/scala/kafka/server/KafkaHealthcheck.scala 7907987e43404487382de7f4cc294f0d01ac15a7 
>   core/src/main/scala/kafka/server/KafkaServer.scala 4db3384545be8c237d6fc9646716ab67d5193ec5 
>   core/src/main/scala/kafka/server/MetadataCache.scala 6aef6e4508ecadbbcc1e12bed2054547b7aa333e 
>   core/src/main/scala/kafka/server/ReplicaFetcherManager.scala 351dbbad3bdb709937943b336a5b0a9e0162a5e2 
>   core/src/main/scala/kafka/server/ReplicaFetcherThread.scala 96faa7b4ed7c9ba8a3f6f9f114bd94e19b3a7ac0 
>   core/src/main/scala/kafka/server/ReplicaManager.scala 44f0026e6676d8d764dd59dbcc6bb7bb727a3ba6 
>   core/src/main/scala/kafka/tools/ConsumerOffsetChecker.scala d1e7c434e77859d746b8dc68dd5d5a3740425e79 
>   core/src/main/scala/kafka/tools/ReplicaVerificationTool.scala ba6ddd7a909df79a0f7d45e8b4a2af94ea0fceb6 
>   core/src/main/scala/kafka/tools/SimpleConsumerShell.scala b4f903b6c7c3bb725cac7c05eb1f885906413c4d 
>   core/src/main/scala/kafka/tools/UpdateOffsetsInZK.scala 111c9a8b94ce45d95551482e9fd3f8c1cccbf548 
>   core/src/main/scala/kafka/utils/Utils.scala 738c1af9ef5de16fdf5130daab69757a14c48b5c 
>   core/src/main/scala/kafka/utils/ZkUtils.scala 7ae999ec619443d35a9cb8fbcd531fca0c51c8c0 
>   core/src/test/scala/integration/kafka/api/ProducerFailureHandlingTest.scala 7eb6d05b66b16f8b0ab64eb43dcc1a25168fa5be 
>   core/src/test/scala/integration/kafka/api/ProducerSendTest.scala 3df450784592b894008e7507b2737f9bb07f7bd2 
>   core/src/test/scala/other/kafka/TestOffsetManager.scala a106379d96ab3cbdf54a9f162db44a6df177e733 
>   core/src/test/scala/unit/kafka/KafkaConfigTest.scala 4d36b8b1173f60d43463c13c9d8c1275a84c8c28 
>   core/src/test/scala/unit/kafka/admin/AddPartitionsTest.scala 8bc178505e00932a316c46ed1d904bd57b5b3f75 
>   core/src/test/scala/unit/kafka/api/RequestResponseSerializationTest.scala 030faacf278e7040ca7f9f2c1fac518008f7ae42 
>   core/src/test/scala/unit/kafka/cluster/BrokerEndPointTest.scala PRE-CREATION 
>   core/src/test/scala/unit/kafka/consumer/ConsumerIteratorTest.scala 995397ba2e2dfc6fadd9d5c5efd90f2c4ac0d59c 
>   core/src/test/scala/unit/kafka/integration/FetcherTest.scala 3093e459935ecf8e5b34fca34a422674562a7034 
>   core/src/test/scala/unit/kafka/integration/KafkaServerTestHarness.scala 062790f15d4ab6e0ee7a98bef12aaa2b22da3bfa 
>   core/src/test/scala/unit/kafka/integration/TopicMetadataTest.scala a671af4a87d5c2fb42ff48c553bca7cae6538231 
>   core/src/test/scala/unit/kafka/log/LogTest.scala 3c0599cc2ea12566fbec8233e3a73b31854b3b38 
>   core/src/test/scala/unit/kafka/network/SocketServerTest.scala 0af23abf146d99e3d6cf31e5d6b95a9e63318ddb 
>   core/src/test/scala/unit/kafka/producer/AsyncProducerTest.scala be90c5bc7f1f5ba8a237d1c7176f27029727c918 
>   core/src/test/scala/unit/kafka/producer/SyncProducerTest.scala 812df5989940095c1a347066136ab55153bdad21 
>   core/src/test/scala/unit/kafka/server/AdvertiseBrokerTest.scala 296e2b563041318d360db4037411879613a63968 
>   core/src/test/scala/unit/kafka/server/KafkaConfigConfigDefTest.scala 191251d1340b5e5b2d649b37af3c6c1896d07e6e 
>   core/src/test/scala/unit/kafka/server/KafkaConfigTest.scala 7f47e6f9a74314ed9e9f19d0c97931f3f2e49259 
>   core/src/test/scala/unit/kafka/server/LeaderElectionTest.scala f2528059dd86bb051d1ce9d72039cde3b78b8817 
>   core/src/test/scala/unit/kafka/server/LogOffsetTest.scala 8c9f9e748e888da6035755c9f4241ac3aa0500c9 
>   core/src/test/scala/unit/kafka/utils/TestUtils.scala 1682a77362123449de6bb1d54a55887409990a24 
>   system_test/README.txt 0e469e373c9d91e6394a513ec581ef1cc92fa44c 
>   system_test/replication_testsuite/testcase_0001/testcase_0001_properties.json 250ffe08ae4c2d35f7c79c883f47bbc27d5361b5 
>   system_test/replication_testsuite/testcase_0002/testcase_0002_properties.json 3f9e7d05db17e170aea4fee5a13ab5534dd5db2e 
>   system_test/replication_testsuite/testcase_0003/testcase_0003_properties.json b10c6266a786acf0c4b1accb63f9727486d09fd9 
>   system_test/replication_testsuite/testcase_0004/testcase_0004_properties.json 22c08023f3d9e7678fdb990518bdb7931b64b6ac 
>   system_test/replication_testsuite/testcase_0005/testcase_0005_properties.json 1317d8460f82c3ff09d5a13a1277d695ba71d6e7 
>   system_test/replication_testsuite/testcase_0006/testcase_0006_properties.json d31346506a19dd066519303a19a191f70599918d 
>   system_test/replication_testsuite/testcase_0007/testcase_0007_properties.json bd00f130d7fc69dc43cf088e298abc43e51bf765 
>   system_test/replication_testsuite/testcase_0008/testcase_0008_properties.json ac5c13b09a84f975e345b635cf44a76935251244 
>   system_test/replication_testsuite/testcase_0009/testcase_0009_properties.json 6dadd7a288664ebdc7d023c54d9cdb5a54d0c2e7 
>   system_test/replication_testsuite/testcase_0101/testcase_0101_properties.json 614cb1cf01d3c76d8a97c2b52fb52bd83ec80c4b 
>   system_test/replication_testsuite/testcase_0102/testcase_0102_properties.json fbf01772545f016c28448235a5859429a3a83780 
>   system_test/replication_testsuite/testcase_0103/testcase_0103_properties.json 317a6e3d3384009668e822e6c7e38b3fa34fcd6e 
>   system_test/replication_testsuite/testcase_0104/testcase_0104_properties.json d1a790b34fa5b42fe9fce2dabf6833048f9905ea 
>   system_test/replication_testsuite/testcase_0105/testcase_0105_properties.json 8f4f8bfac71463bbe52906ee7a127d8b0b5f48a3 
>   system_test/replication_testsuite/testcase_0106/testcase_0106_properties.json a307f855c944946724cf3a91a9c07cc7b57b71f6 
>   system_test/replication_testsuite/testcase_0107/testcase_0107_properties.json 827319eb6c6dbba0c8000b6e5e5a657a112deb21 
>   system_test/replication_testsuite/testcase_0108/testcase_0108_properties.json ae015cd0eb82b3d3f04e14c808b66dad702f7bf0 
>   system_test/replication_testsuite/testcase_0109/testcase_0109_properties.json 1951a1220956f931032e8fcd214784d76472054b 
>   system_test/replication_testsuite/testcase_1/testcase_1_properties.json 0c6d7a316cc6b51ac0755ca03558507db0706c31 
>   system_test/run_all.sh PRE-CREATION 
>   system_test/run_all_replica.sh PRE-CREATION 
>   system_test/testcase_to_run.json c6cf17ea690732bccbf4d60da6593f507c6da979 
>   system_test/testcase_to_run_all_replica.json PRE-CREATION 
>   system_test/utils/kafka_system_test_utils.py 41d511cbc310fa87e0f2cd2f772e479e8e3ae4e2 
> 
> Diff: https://reviews.apache.org/r/28769/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Gwen Shapira
> 
>


Re: Review Request 28769: Patch for KAFKA-1809

Posted by Gwen Shapira <gs...@cloudera.com>.

> On April 3, 2015, 12:41 a.m., Joel Koshy wrote:
> > clients/src/main/java/org/apache/kafka/common/protocol/SecurityProtocol.java, line 44
> > <https://reviews.apache.org/r/28769/diff/22/?file=914062#file914062line44>
> >
> >     All caps

Apparently "name" and "id" cannot be all caps.
Our coding style (enforced with checkstyle) indicates that allcaps are reserved for "final static" members. "name" and "id" are initialized in the constructor, so can't be static - and thereofore no allcaps :)


- Gwen


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


On April 2, 2015, 10:12 p.m., Gwen Shapira wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/28769/
> -----------------------------------------------------------
> 
> (Updated April 2, 2015, 10:12 p.m.)
> 
> 
> Review request for kafka.
> 
> 
> Bugs: KAFKA-1809
>     https://issues.apache.org/jira/browse/KAFKA-1809
> 
> 
> Repository: kafka
> 
> 
> Description
> -------
> 
> forgot rest of patch
> 
> 
> merge with trunk
> 
> 
> moved ApiVersion to core, fixed SocketServer concurrency issue and other minor things
> 
> 
> Merge branch 'trunk' of http://git-wip-us.apache.org/repos/asf/kafka into broker_ref2
> 
> Conflicts:
> 	core/src/main/scala/kafka/server/KafkaApis.scala
> 	core/src/test/scala/unit/kafka/api/RequestResponseSerializationTest.scala
> 
> 
> Diffs
> -----
> 
>   clients/src/main/java/org/apache/kafka/clients/producer/ProducerConfig.java fa9daaef66ff7961e1c46cd0cd8fed18a53bccd8 
>   clients/src/main/java/org/apache/kafka/common/protocol/SecurityProtocol.java PRE-CREATION 
>   clients/src/main/java/org/apache/kafka/common/utils/Utils.java 920b51a6c3c99639fbc9dc065637eeee3c19fabd 
>   clients/src/test/java/org/apache/kafka/common/utils/UtilsTest.java c899813d55b9c4786adde3d840f040d6645d27c8 
>   config/server.properties 1614260b71a658b405bb24157c8f12b1f1031aa5 
>   core/src/main/scala/kafka/admin/AdminUtils.scala b700110f2d7f1ede235af55d8e37e1b5592c6c7d 
>   core/src/main/scala/kafka/admin/TopicCommand.scala f400b71f8444fffd3fc1d8398a283682390eba4e 
>   core/src/main/scala/kafka/api/ApiVersion.scala PRE-CREATION 
>   core/src/main/scala/kafka/api/ConsumerMetadataResponse.scala 24aaf954dc42e2084454fa5fc9e8f388ea95c756 
>   core/src/main/scala/kafka/api/LeaderAndIsrRequest.scala 4ff7e8f8cc695551dd5d2fe65c74f6b6c571e340 
>   core/src/main/scala/kafka/api/TopicMetadata.scala 0190076df0adf906ecd332284f222ff974b315fc 
>   core/src/main/scala/kafka/api/TopicMetadataResponse.scala 92ac4e687be22e4800199c0666bfac5e0059e5bb 
>   core/src/main/scala/kafka/api/UpdateMetadataRequest.scala 530982e36b17934b8cc5fb668075a5342e142c59 
>   core/src/main/scala/kafka/client/ClientUtils.scala ebba87f0566684c796c26cb76c64b4640a5ccfde 
>   core/src/main/scala/kafka/cluster/Broker.scala 0060add008bb3bc4b0092f2173c469fce0120be6 
>   core/src/main/scala/kafka/cluster/BrokerEndPoint.scala PRE-CREATION 
>   core/src/main/scala/kafka/cluster/EndPoint.scala PRE-CREATION 
>   core/src/main/scala/kafka/cluster/SecurityProtocol.scala PRE-CREATION 
>   core/src/main/scala/kafka/common/BrokerEndPointNotAvailableException.scala PRE-CREATION 
>   core/src/main/scala/kafka/consumer/ConsumerConfig.scala 9ebbee6c16dc83767297c729d2d74ebbd063a993 
>   core/src/main/scala/kafka/consumer/ConsumerFetcherManager.scala b9e2bea7b442a19bcebd1b350d39541a8c9dd068 
>   core/src/main/scala/kafka/consumer/ConsumerFetcherThread.scala 152fda5d1dcdf319399fdeeb8457006090ebe56c 
>   core/src/main/scala/kafka/consumer/ZookeeperConsumerConnector.scala b1cf0db8741e384e4e4119751058ea87b2589e57 
>   core/src/main/scala/kafka/controller/ControllerChannelManager.scala c582191636f6188c25d62a67ff0315b56f163133 
>   core/src/main/scala/kafka/controller/KafkaController.scala 09fc46d759b74bcdad2d2a610d9c5a93ff02423f 
>   core/src/main/scala/kafka/javaapi/ConsumerMetadataResponse.scala d281bb31a66fd749ecddfbe38479b6903f436831 
>   core/src/main/scala/kafka/javaapi/TopicMetadata.scala f384e04678df10a5b46a439f475c63371bf8e32b 
>   core/src/main/scala/kafka/network/RequestChannel.scala bc73540acb1ceb303cb30e58dfa903822f7a8a6c 
>   core/src/main/scala/kafka/network/SocketServer.scala 76ce41aed6e04ac5ba88395c4d5008aca17f9a73 
>   core/src/main/scala/kafka/producer/ProducerPool.scala 43df70bb461dd3e385e6b20396adef3c4016a3fc 
>   core/src/main/scala/kafka/server/AbstractFetcherManager.scala 20c00cb8cc2351950edbc8cb1752905a0c26e79f 
>   core/src/main/scala/kafka/server/AbstractFetcherThread.scala 5d5cf5897cc37b3595f14bfe9d7cde43456bcc4b 
>   core/src/main/scala/kafka/server/KafkaApis.scala f372af77f58aacee7981caa361e13eefecee2278 
>   core/src/main/scala/kafka/server/KafkaConfig.scala 422451aec5ea0442eb2e4c1ae772885b813904a9 
>   core/src/main/scala/kafka/server/KafkaHealthcheck.scala 7907987e43404487382de7f4cc294f0d01ac15a7 
>   core/src/main/scala/kafka/server/KafkaServer.scala 4db3384545be8c237d6fc9646716ab67d5193ec5 
>   core/src/main/scala/kafka/server/MetadataCache.scala 6aef6e4508ecadbbcc1e12bed2054547b7aa333e 
>   core/src/main/scala/kafka/server/ReplicaFetcherManager.scala 351dbbad3bdb709937943b336a5b0a9e0162a5e2 
>   core/src/main/scala/kafka/server/ReplicaFetcherThread.scala 96faa7b4ed7c9ba8a3f6f9f114bd94e19b3a7ac0 
>   core/src/main/scala/kafka/server/ReplicaManager.scala 44f0026e6676d8d764dd59dbcc6bb7bb727a3ba6 
>   core/src/main/scala/kafka/tools/ConsumerOffsetChecker.scala d1e7c434e77859d746b8dc68dd5d5a3740425e79 
>   core/src/main/scala/kafka/tools/ReplicaVerificationTool.scala ba6ddd7a909df79a0f7d45e8b4a2af94ea0fceb6 
>   core/src/main/scala/kafka/tools/SimpleConsumerShell.scala b4f903b6c7c3bb725cac7c05eb1f885906413c4d 
>   core/src/main/scala/kafka/tools/UpdateOffsetsInZK.scala 111c9a8b94ce45d95551482e9fd3f8c1cccbf548 
>   core/src/main/scala/kafka/utils/Utils.scala 738c1af9ef5de16fdf5130daab69757a14c48b5c 
>   core/src/main/scala/kafka/utils/ZkUtils.scala 7ae999ec619443d35a9cb8fbcd531fca0c51c8c0 
>   core/src/test/scala/integration/kafka/api/ProducerFailureHandlingTest.scala 7eb6d05b66b16f8b0ab64eb43dcc1a25168fa5be 
>   core/src/test/scala/integration/kafka/api/ProducerSendTest.scala 3df450784592b894008e7507b2737f9bb07f7bd2 
>   core/src/test/scala/other/kafka/TestOffsetManager.scala a106379d96ab3cbdf54a9f162db44a6df177e733 
>   core/src/test/scala/unit/kafka/KafkaConfigTest.scala 4d36b8b1173f60d43463c13c9d8c1275a84c8c28 
>   core/src/test/scala/unit/kafka/admin/AddPartitionsTest.scala 8bc178505e00932a316c46ed1d904bd57b5b3f75 
>   core/src/test/scala/unit/kafka/api/RequestResponseSerializationTest.scala 030faacf278e7040ca7f9f2c1fac518008f7ae42 
>   core/src/test/scala/unit/kafka/cluster/BrokerTest.scala PRE-CREATION 
>   core/src/test/scala/unit/kafka/consumer/ConsumerIteratorTest.scala 995397ba2e2dfc6fadd9d5c5efd90f2c4ac0d59c 
>   core/src/test/scala/unit/kafka/integration/FetcherTest.scala 3093e459935ecf8e5b34fca34a422674562a7034 
>   core/src/test/scala/unit/kafka/integration/KafkaServerTestHarness.scala 062790f15d4ab6e0ee7a98bef12aaa2b22da3bfa 
>   core/src/test/scala/unit/kafka/integration/TopicMetadataTest.scala a671af4a87d5c2fb42ff48c553bca7cae6538231 
>   core/src/test/scala/unit/kafka/log/LogTest.scala 3c0599cc2ea12566fbec8233e3a73b31854b3b38 
>   core/src/test/scala/unit/kafka/network/SocketServerTest.scala 0af23abf146d99e3d6cf31e5d6b95a9e63318ddb 
>   core/src/test/scala/unit/kafka/producer/AsyncProducerTest.scala be90c5bc7f1f5ba8a237d1c7176f27029727c918 
>   core/src/test/scala/unit/kafka/producer/SyncProducerTest.scala 812df5989940095c1a347066136ab55153bdad21 
>   core/src/test/scala/unit/kafka/server/AdvertiseBrokerTest.scala 296e2b563041318d360db4037411879613a63968 
>   core/src/test/scala/unit/kafka/server/KafkaConfigConfigDefTest.scala 191251d1340b5e5b2d649b37af3c6c1896d07e6e 
>   core/src/test/scala/unit/kafka/server/KafkaConfigTest.scala 7f47e6f9a74314ed9e9f19d0c97931f3f2e49259 
>   core/src/test/scala/unit/kafka/server/LeaderElectionTest.scala f2528059dd86bb051d1ce9d72039cde3b78b8817 
>   core/src/test/scala/unit/kafka/server/LogOffsetTest.scala 8c9f9e748e888da6035755c9f4241ac3aa0500c9 
>   core/src/test/scala/unit/kafka/utils/TestUtils.scala 1682a77362123449de6bb1d54a55887409990a24 
>   system_test/README.txt 0e469e373c9d91e6394a513ec581ef1cc92fa44c 
>   system_test/replication_testsuite/testcase_0001/testcase_0001_properties.json 250ffe08ae4c2d35f7c79c883f47bbc27d5361b5 
>   system_test/replication_testsuite/testcase_0002/testcase_0002_properties.json 3f9e7d05db17e170aea4fee5a13ab5534dd5db2e 
>   system_test/replication_testsuite/testcase_0003/testcase_0003_properties.json b10c6266a786acf0c4b1accb63f9727486d09fd9 
>   system_test/replication_testsuite/testcase_0004/testcase_0004_properties.json 22c08023f3d9e7678fdb990518bdb7931b64b6ac 
>   system_test/replication_testsuite/testcase_0005/testcase_0005_properties.json 1317d8460f82c3ff09d5a13a1277d695ba71d6e7 
>   system_test/replication_testsuite/testcase_0006/testcase_0006_properties.json d31346506a19dd066519303a19a191f70599918d 
>   system_test/replication_testsuite/testcase_0007/testcase_0007_properties.json bd00f130d7fc69dc43cf088e298abc43e51bf765 
>   system_test/replication_testsuite/testcase_0008/testcase_0008_properties.json ac5c13b09a84f975e345b635cf44a76935251244 
>   system_test/replication_testsuite/testcase_0009/testcase_0009_properties.json 6dadd7a288664ebdc7d023c54d9cdb5a54d0c2e7 
>   system_test/replication_testsuite/testcase_0101/testcase_0101_properties.json 614cb1cf01d3c76d8a97c2b52fb52bd83ec80c4b 
>   system_test/replication_testsuite/testcase_0102/testcase_0102_properties.json fbf01772545f016c28448235a5859429a3a83780 
>   system_test/replication_testsuite/testcase_0103/testcase_0103_properties.json 317a6e3d3384009668e822e6c7e38b3fa34fcd6e 
>   system_test/replication_testsuite/testcase_0104/testcase_0104_properties.json d1a790b34fa5b42fe9fce2dabf6833048f9905ea 
>   system_test/replication_testsuite/testcase_0105/testcase_0105_properties.json 8f4f8bfac71463bbe52906ee7a127d8b0b5f48a3 
>   system_test/replication_testsuite/testcase_0106/testcase_0106_properties.json a307f855c944946724cf3a91a9c07cc7b57b71f6 
>   system_test/replication_testsuite/testcase_0107/testcase_0107_properties.json 827319eb6c6dbba0c8000b6e5e5a657a112deb21 
>   system_test/replication_testsuite/testcase_0108/testcase_0108_properties.json ae015cd0eb82b3d3f04e14c808b66dad702f7bf0 
>   system_test/replication_testsuite/testcase_0109/testcase_0109_properties.json 1951a1220956f931032e8fcd214784d76472054b 
>   system_test/replication_testsuite/testcase_1/testcase_1_properties.json 0c6d7a316cc6b51ac0755ca03558507db0706c31 
>   system_test/run_all.sh PRE-CREATION 
>   system_test/run_all_replica.sh PRE-CREATION 
>   system_test/testcase_to_run.json c6cf17ea690732bccbf4d60da6593f507c6da979 
>   system_test/testcase_to_run_all_replica.json PRE-CREATION 
>   system_test/utils/kafka_system_test_utils.py 41d511cbc310fa87e0f2cd2f772e479e8e3ae4e2 
> 
> Diff: https://reviews.apache.org/r/28769/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Gwen Shapira
> 
>


Re: Review Request 28769: Patch for KAFKA-1809

Posted by Gwen Shapira <gs...@cloudera.com>.

> On April 3, 2015, 12:41 a.m., Joel Koshy wrote:
> > system_test/replication_testsuite/testcase_0001/testcase_0001_properties.json, line 32
> > <https://reviews.apache.org/r/28769/diff/22/?file=914129#file914129line32>
> >
> >     were these changes intentional?

Very intentional. System_tests include segment verification - they take forever to run with the small segments. I can't understand how anyone runs the tests with different configuration.


> On April 3, 2015, 12:41 a.m., Joel Koshy wrote:
> > core/src/main/scala/kafka/api/ApiVersion.scala, line 28
> > <https://reviews.apache.org/r/28769/diff/22/?file=914068#file914068line28>
> >
> >     I was in the middle of reviewing your previous revision and had a follow-up comment on this (in reply to Jun's). Although this is for intra-cluster communication, at some point we may want to expose ApiVersion to clients as well via some cluster/broker metadata request - e.g., what is the lowest and highest ApiVersion that a broker supports. So it seems appropriate to keep in o.a.k.common no?

Mmmm... I'm pretty sure we had good reasons not to expose broker versions to clients and instead rely on each wire-protocol request having its own version IDs (and deprecate versions by detecting this on broker and sending exceptions back to clients). 
I can't remember what the reason was, but I think that if we expose actual release versions from brokers to clients this can be pretty confusing.


> On April 3, 2015, 12:41 a.m., Joel Koshy wrote:
> > clients/src/main/java/org/apache/kafka/common/protocol/SecurityProtocol.java, line 26
> > <https://reviews.apache.org/r/28769/diff/22/?file=914062#file914062line26>
> >
> >     Can we go with TRACE(Short.MAX_VALUE, "TRACE") and start plaintext at 0? This may not play well with the scala enum but per comment below I'm not clear on why we need that.

sure. any reason for this? I figured this is more-or-less arbitrary.


> On April 3, 2015, 12:41 a.m., Joel Koshy wrote:
> > core/src/main/scala/kafka/server/KafkaConfig.scala, line 109
> > <https://reviews.apache.org/r/28769/diff/22/?file=914094#file914094line109>
> >
> >     I think either intraCluster or interBroker would be much better names for these two and the associated configs.

Took me a bit to figure out why, so for posterity: http://grammarist.com/usage/inter-intra/

Lets go with interBroker?


- Gwen


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


On April 2, 2015, 10:12 p.m., Gwen Shapira wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/28769/
> -----------------------------------------------------------
> 
> (Updated April 2, 2015, 10:12 p.m.)
> 
> 
> Review request for kafka.
> 
> 
> Bugs: KAFKA-1809
>     https://issues.apache.org/jira/browse/KAFKA-1809
> 
> 
> Repository: kafka
> 
> 
> Description
> -------
> 
> forgot rest of patch
> 
> 
> merge with trunk
> 
> 
> moved ApiVersion to core, fixed SocketServer concurrency issue and other minor things
> 
> 
> Merge branch 'trunk' of http://git-wip-us.apache.org/repos/asf/kafka into broker_ref2
> 
> Conflicts:
> 	core/src/main/scala/kafka/server/KafkaApis.scala
> 	core/src/test/scala/unit/kafka/api/RequestResponseSerializationTest.scala
> 
> 
> Diffs
> -----
> 
>   clients/src/main/java/org/apache/kafka/clients/producer/ProducerConfig.java fa9daaef66ff7961e1c46cd0cd8fed18a53bccd8 
>   clients/src/main/java/org/apache/kafka/common/protocol/SecurityProtocol.java PRE-CREATION 
>   clients/src/main/java/org/apache/kafka/common/utils/Utils.java 920b51a6c3c99639fbc9dc065637eeee3c19fabd 
>   clients/src/test/java/org/apache/kafka/common/utils/UtilsTest.java c899813d55b9c4786adde3d840f040d6645d27c8 
>   config/server.properties 1614260b71a658b405bb24157c8f12b1f1031aa5 
>   core/src/main/scala/kafka/admin/AdminUtils.scala b700110f2d7f1ede235af55d8e37e1b5592c6c7d 
>   core/src/main/scala/kafka/admin/TopicCommand.scala f400b71f8444fffd3fc1d8398a283682390eba4e 
>   core/src/main/scala/kafka/api/ApiVersion.scala PRE-CREATION 
>   core/src/main/scala/kafka/api/ConsumerMetadataResponse.scala 24aaf954dc42e2084454fa5fc9e8f388ea95c756 
>   core/src/main/scala/kafka/api/LeaderAndIsrRequest.scala 4ff7e8f8cc695551dd5d2fe65c74f6b6c571e340 
>   core/src/main/scala/kafka/api/TopicMetadata.scala 0190076df0adf906ecd332284f222ff974b315fc 
>   core/src/main/scala/kafka/api/TopicMetadataResponse.scala 92ac4e687be22e4800199c0666bfac5e0059e5bb 
>   core/src/main/scala/kafka/api/UpdateMetadataRequest.scala 530982e36b17934b8cc5fb668075a5342e142c59 
>   core/src/main/scala/kafka/client/ClientUtils.scala ebba87f0566684c796c26cb76c64b4640a5ccfde 
>   core/src/main/scala/kafka/cluster/Broker.scala 0060add008bb3bc4b0092f2173c469fce0120be6 
>   core/src/main/scala/kafka/cluster/BrokerEndPoint.scala PRE-CREATION 
>   core/src/main/scala/kafka/cluster/EndPoint.scala PRE-CREATION 
>   core/src/main/scala/kafka/cluster/SecurityProtocol.scala PRE-CREATION 
>   core/src/main/scala/kafka/common/BrokerEndPointNotAvailableException.scala PRE-CREATION 
>   core/src/main/scala/kafka/consumer/ConsumerConfig.scala 9ebbee6c16dc83767297c729d2d74ebbd063a993 
>   core/src/main/scala/kafka/consumer/ConsumerFetcherManager.scala b9e2bea7b442a19bcebd1b350d39541a8c9dd068 
>   core/src/main/scala/kafka/consumer/ConsumerFetcherThread.scala 152fda5d1dcdf319399fdeeb8457006090ebe56c 
>   core/src/main/scala/kafka/consumer/ZookeeperConsumerConnector.scala b1cf0db8741e384e4e4119751058ea87b2589e57 
>   core/src/main/scala/kafka/controller/ControllerChannelManager.scala c582191636f6188c25d62a67ff0315b56f163133 
>   core/src/main/scala/kafka/controller/KafkaController.scala 09fc46d759b74bcdad2d2a610d9c5a93ff02423f 
>   core/src/main/scala/kafka/javaapi/ConsumerMetadataResponse.scala d281bb31a66fd749ecddfbe38479b6903f436831 
>   core/src/main/scala/kafka/javaapi/TopicMetadata.scala f384e04678df10a5b46a439f475c63371bf8e32b 
>   core/src/main/scala/kafka/network/RequestChannel.scala bc73540acb1ceb303cb30e58dfa903822f7a8a6c 
>   core/src/main/scala/kafka/network/SocketServer.scala 76ce41aed6e04ac5ba88395c4d5008aca17f9a73 
>   core/src/main/scala/kafka/producer/ProducerPool.scala 43df70bb461dd3e385e6b20396adef3c4016a3fc 
>   core/src/main/scala/kafka/server/AbstractFetcherManager.scala 20c00cb8cc2351950edbc8cb1752905a0c26e79f 
>   core/src/main/scala/kafka/server/AbstractFetcherThread.scala 5d5cf5897cc37b3595f14bfe9d7cde43456bcc4b 
>   core/src/main/scala/kafka/server/KafkaApis.scala f372af77f58aacee7981caa361e13eefecee2278 
>   core/src/main/scala/kafka/server/KafkaConfig.scala 422451aec5ea0442eb2e4c1ae772885b813904a9 
>   core/src/main/scala/kafka/server/KafkaHealthcheck.scala 7907987e43404487382de7f4cc294f0d01ac15a7 
>   core/src/main/scala/kafka/server/KafkaServer.scala 4db3384545be8c237d6fc9646716ab67d5193ec5 
>   core/src/main/scala/kafka/server/MetadataCache.scala 6aef6e4508ecadbbcc1e12bed2054547b7aa333e 
>   core/src/main/scala/kafka/server/ReplicaFetcherManager.scala 351dbbad3bdb709937943b336a5b0a9e0162a5e2 
>   core/src/main/scala/kafka/server/ReplicaFetcherThread.scala 96faa7b4ed7c9ba8a3f6f9f114bd94e19b3a7ac0 
>   core/src/main/scala/kafka/server/ReplicaManager.scala 44f0026e6676d8d764dd59dbcc6bb7bb727a3ba6 
>   core/src/main/scala/kafka/tools/ConsumerOffsetChecker.scala d1e7c434e77859d746b8dc68dd5d5a3740425e79 
>   core/src/main/scala/kafka/tools/ReplicaVerificationTool.scala ba6ddd7a909df79a0f7d45e8b4a2af94ea0fceb6 
>   core/src/main/scala/kafka/tools/SimpleConsumerShell.scala b4f903b6c7c3bb725cac7c05eb1f885906413c4d 
>   core/src/main/scala/kafka/tools/UpdateOffsetsInZK.scala 111c9a8b94ce45d95551482e9fd3f8c1cccbf548 
>   core/src/main/scala/kafka/utils/Utils.scala 738c1af9ef5de16fdf5130daab69757a14c48b5c 
>   core/src/main/scala/kafka/utils/ZkUtils.scala 7ae999ec619443d35a9cb8fbcd531fca0c51c8c0 
>   core/src/test/scala/integration/kafka/api/ProducerFailureHandlingTest.scala 7eb6d05b66b16f8b0ab64eb43dcc1a25168fa5be 
>   core/src/test/scala/integration/kafka/api/ProducerSendTest.scala 3df450784592b894008e7507b2737f9bb07f7bd2 
>   core/src/test/scala/other/kafka/TestOffsetManager.scala a106379d96ab3cbdf54a9f162db44a6df177e733 
>   core/src/test/scala/unit/kafka/KafkaConfigTest.scala 4d36b8b1173f60d43463c13c9d8c1275a84c8c28 
>   core/src/test/scala/unit/kafka/admin/AddPartitionsTest.scala 8bc178505e00932a316c46ed1d904bd57b5b3f75 
>   core/src/test/scala/unit/kafka/api/RequestResponseSerializationTest.scala 030faacf278e7040ca7f9f2c1fac518008f7ae42 
>   core/src/test/scala/unit/kafka/cluster/BrokerTest.scala PRE-CREATION 
>   core/src/test/scala/unit/kafka/consumer/ConsumerIteratorTest.scala 995397ba2e2dfc6fadd9d5c5efd90f2c4ac0d59c 
>   core/src/test/scala/unit/kafka/integration/FetcherTest.scala 3093e459935ecf8e5b34fca34a422674562a7034 
>   core/src/test/scala/unit/kafka/integration/KafkaServerTestHarness.scala 062790f15d4ab6e0ee7a98bef12aaa2b22da3bfa 
>   core/src/test/scala/unit/kafka/integration/TopicMetadataTest.scala a671af4a87d5c2fb42ff48c553bca7cae6538231 
>   core/src/test/scala/unit/kafka/log/LogTest.scala 3c0599cc2ea12566fbec8233e3a73b31854b3b38 
>   core/src/test/scala/unit/kafka/network/SocketServerTest.scala 0af23abf146d99e3d6cf31e5d6b95a9e63318ddb 
>   core/src/test/scala/unit/kafka/producer/AsyncProducerTest.scala be90c5bc7f1f5ba8a237d1c7176f27029727c918 
>   core/src/test/scala/unit/kafka/producer/SyncProducerTest.scala 812df5989940095c1a347066136ab55153bdad21 
>   core/src/test/scala/unit/kafka/server/AdvertiseBrokerTest.scala 296e2b563041318d360db4037411879613a63968 
>   core/src/test/scala/unit/kafka/server/KafkaConfigConfigDefTest.scala 191251d1340b5e5b2d649b37af3c6c1896d07e6e 
>   core/src/test/scala/unit/kafka/server/KafkaConfigTest.scala 7f47e6f9a74314ed9e9f19d0c97931f3f2e49259 
>   core/src/test/scala/unit/kafka/server/LeaderElectionTest.scala f2528059dd86bb051d1ce9d72039cde3b78b8817 
>   core/src/test/scala/unit/kafka/server/LogOffsetTest.scala 8c9f9e748e888da6035755c9f4241ac3aa0500c9 
>   core/src/test/scala/unit/kafka/utils/TestUtils.scala 1682a77362123449de6bb1d54a55887409990a24 
>   system_test/README.txt 0e469e373c9d91e6394a513ec581ef1cc92fa44c 
>   system_test/replication_testsuite/testcase_0001/testcase_0001_properties.json 250ffe08ae4c2d35f7c79c883f47bbc27d5361b5 
>   system_test/replication_testsuite/testcase_0002/testcase_0002_properties.json 3f9e7d05db17e170aea4fee5a13ab5534dd5db2e 
>   system_test/replication_testsuite/testcase_0003/testcase_0003_properties.json b10c6266a786acf0c4b1accb63f9727486d09fd9 
>   system_test/replication_testsuite/testcase_0004/testcase_0004_properties.json 22c08023f3d9e7678fdb990518bdb7931b64b6ac 
>   system_test/replication_testsuite/testcase_0005/testcase_0005_properties.json 1317d8460f82c3ff09d5a13a1277d695ba71d6e7 
>   system_test/replication_testsuite/testcase_0006/testcase_0006_properties.json d31346506a19dd066519303a19a191f70599918d 
>   system_test/replication_testsuite/testcase_0007/testcase_0007_properties.json bd00f130d7fc69dc43cf088e298abc43e51bf765 
>   system_test/replication_testsuite/testcase_0008/testcase_0008_properties.json ac5c13b09a84f975e345b635cf44a76935251244 
>   system_test/replication_testsuite/testcase_0009/testcase_0009_properties.json 6dadd7a288664ebdc7d023c54d9cdb5a54d0c2e7 
>   system_test/replication_testsuite/testcase_0101/testcase_0101_properties.json 614cb1cf01d3c76d8a97c2b52fb52bd83ec80c4b 
>   system_test/replication_testsuite/testcase_0102/testcase_0102_properties.json fbf01772545f016c28448235a5859429a3a83780 
>   system_test/replication_testsuite/testcase_0103/testcase_0103_properties.json 317a6e3d3384009668e822e6c7e38b3fa34fcd6e 
>   system_test/replication_testsuite/testcase_0104/testcase_0104_properties.json d1a790b34fa5b42fe9fce2dabf6833048f9905ea 
>   system_test/replication_testsuite/testcase_0105/testcase_0105_properties.json 8f4f8bfac71463bbe52906ee7a127d8b0b5f48a3 
>   system_test/replication_testsuite/testcase_0106/testcase_0106_properties.json a307f855c944946724cf3a91a9c07cc7b57b71f6 
>   system_test/replication_testsuite/testcase_0107/testcase_0107_properties.json 827319eb6c6dbba0c8000b6e5e5a657a112deb21 
>   system_test/replication_testsuite/testcase_0108/testcase_0108_properties.json ae015cd0eb82b3d3f04e14c808b66dad702f7bf0 
>   system_test/replication_testsuite/testcase_0109/testcase_0109_properties.json 1951a1220956f931032e8fcd214784d76472054b 
>   system_test/replication_testsuite/testcase_1/testcase_1_properties.json 0c6d7a316cc6b51ac0755ca03558507db0706c31 
>   system_test/run_all.sh PRE-CREATION 
>   system_test/run_all_replica.sh PRE-CREATION 
>   system_test/testcase_to_run.json c6cf17ea690732bccbf4d60da6593f507c6da979 
>   system_test/testcase_to_run_all_replica.json PRE-CREATION 
>   system_test/utils/kafka_system_test_utils.py 41d511cbc310fa87e0f2cd2f772e479e8e3ae4e2 
> 
> Diff: https://reviews.apache.org/r/28769/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Gwen Shapira
> 
>


Re: Review Request 28769: Patch for KAFKA-1809

Posted by Joel Koshy <jj...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/28769/#review78739
-----------------------------------------------------------


Thanks for the patch and for putting in a ton of effort in to it.

Overall, looks good to me and I would really like to see this in soon.


clients/src/main/java/org/apache/kafka/common/protocol/SecurityProtocol.java
<https://reviews.apache.org/r/28769/#comment127722>

    Can we go with TRACE(Short.MAX_VALUE, "TRACE") and start plaintext at 0? This may not play well with the scala enum but per comment below I'm not clear on why we need that.



clients/src/main/java/org/apache/kafka/common/protocol/SecurityProtocol.java
<https://reviews.apache.org/r/28769/#comment127723>

    Can probably be final



clients/src/main/java/org/apache/kafka/common/protocol/SecurityProtocol.java
<https://reviews.apache.org/r/28769/#comment127724>

    This too



clients/src/main/java/org/apache/kafka/common/protocol/SecurityProtocol.java
<https://reviews.apache.org/r/28769/#comment127725>

    All caps



clients/src/main/java/org/apache/kafka/common/protocol/SecurityProtocol.java
<https://reviews.apache.org/r/28769/#comment127727>

    A name -> Name



clients/src/main/java/org/apache/kafka/common/protocol/SecurityProtocol.java
<https://reviews.apache.org/r/28769/#comment127726>

    All caps



core/src/main/scala/kafka/api/ApiVersion.scala
<https://reviews.apache.org/r/28769/#comment127728>

    I was in the middle of reviewing your previous revision and had a follow-up comment on this (in reply to Jun's). Although this is for intra-cluster communication, at some point we may want to expose ApiVersion to clients as well via some cluster/broker metadata request - e.g., what is the lowest and highest ApiVersion that a broker supports. So it seems appropriate to keep in o.a.k.common no?



core/src/main/scala/kafka/api/ConsumerMetadataResponse.scala
<https://reviews.apache.org/r/28769/#comment127729>

    NoBrokerEndpointOpt



core/src/main/scala/kafka/cluster/Broker.scala
<https://reviews.apache.org/r/28769/#comment127730>

    Can cut down a map by:
    .map(listener => {
      val ep = EndPoint.createEndPoint(listener)
      (ep.protocolType, ep)
    }).toMap



core/src/main/scala/kafka/cluster/EndPoint.scala
<https://reviews.apache.org/r/28769/#comment127735>

    indentation



core/src/main/scala/kafka/cluster/SecurityProtocol.scala
<https://reviews.apache.org/r/28769/#comment127736>

    Note comment above in o.a.k.c



core/src/main/scala/kafka/network/SocketServer.scala
<https://reviews.apache.org/r/28769/#comment127748>

    `processors.foreach(_.shutdown)`



core/src/main/scala/kafka/server/KafkaConfig.scala
<https://reviews.apache.org/r/28769/#comment127749>

    I think either intraCluster or interBroker would be much better names for these two and the associated configs.



core/src/main/scala/kafka/server/KafkaConfig.scala
<https://reviews.apache.org/r/28769/#comment127750>

    Can we use the require(constraint, message) variant?



core/src/main/scala/kafka/server/KafkaHealthcheck.scala
<https://reviews.apache.org/r/28769/#comment127757>

    can we make this clearer in the code by naming this plaintextEndPoint



core/src/test/scala/unit/kafka/cluster/BrokerTest.scala
<https://reviews.apache.org/r/28769/#comment127770>

    Shall we call this BrokerEndpointTest?



core/src/test/scala/unit/kafka/consumer/ConsumerIteratorTest.scala
<https://reviews.apache.org/r/28769/#comment127771>

    ", "



system_test/replication_testsuite/testcase_0001/testcase_0001_properties.json
<https://reviews.apache.org/r/28769/#comment127774>

    were these changes intentional?


- Joel Koshy


On April 2, 2015, 10:12 p.m., Gwen Shapira wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/28769/
> -----------------------------------------------------------
> 
> (Updated April 2, 2015, 10:12 p.m.)
> 
> 
> Review request for kafka.
> 
> 
> Bugs: KAFKA-1809
>     https://issues.apache.org/jira/browse/KAFKA-1809
> 
> 
> Repository: kafka
> 
> 
> Description
> -------
> 
> forgot rest of patch
> 
> 
> merge with trunk
> 
> 
> moved ApiVersion to core, fixed SocketServer concurrency issue and other minor things
> 
> 
> Merge branch 'trunk' of http://git-wip-us.apache.org/repos/asf/kafka into broker_ref2
> 
> Conflicts:
> 	core/src/main/scala/kafka/server/KafkaApis.scala
> 	core/src/test/scala/unit/kafka/api/RequestResponseSerializationTest.scala
> 
> 
> Diffs
> -----
> 
>   clients/src/main/java/org/apache/kafka/clients/producer/ProducerConfig.java fa9daaef66ff7961e1c46cd0cd8fed18a53bccd8 
>   clients/src/main/java/org/apache/kafka/common/protocol/SecurityProtocol.java PRE-CREATION 
>   clients/src/main/java/org/apache/kafka/common/utils/Utils.java 920b51a6c3c99639fbc9dc065637eeee3c19fabd 
>   clients/src/test/java/org/apache/kafka/common/utils/UtilsTest.java c899813d55b9c4786adde3d840f040d6645d27c8 
>   config/server.properties 1614260b71a658b405bb24157c8f12b1f1031aa5 
>   core/src/main/scala/kafka/admin/AdminUtils.scala b700110f2d7f1ede235af55d8e37e1b5592c6c7d 
>   core/src/main/scala/kafka/admin/TopicCommand.scala f400b71f8444fffd3fc1d8398a283682390eba4e 
>   core/src/main/scala/kafka/api/ApiVersion.scala PRE-CREATION 
>   core/src/main/scala/kafka/api/ConsumerMetadataResponse.scala 24aaf954dc42e2084454fa5fc9e8f388ea95c756 
>   core/src/main/scala/kafka/api/LeaderAndIsrRequest.scala 4ff7e8f8cc695551dd5d2fe65c74f6b6c571e340 
>   core/src/main/scala/kafka/api/TopicMetadata.scala 0190076df0adf906ecd332284f222ff974b315fc 
>   core/src/main/scala/kafka/api/TopicMetadataResponse.scala 92ac4e687be22e4800199c0666bfac5e0059e5bb 
>   core/src/main/scala/kafka/api/UpdateMetadataRequest.scala 530982e36b17934b8cc5fb668075a5342e142c59 
>   core/src/main/scala/kafka/client/ClientUtils.scala ebba87f0566684c796c26cb76c64b4640a5ccfde 
>   core/src/main/scala/kafka/cluster/Broker.scala 0060add008bb3bc4b0092f2173c469fce0120be6 
>   core/src/main/scala/kafka/cluster/BrokerEndPoint.scala PRE-CREATION 
>   core/src/main/scala/kafka/cluster/EndPoint.scala PRE-CREATION 
>   core/src/main/scala/kafka/cluster/SecurityProtocol.scala PRE-CREATION 
>   core/src/main/scala/kafka/common/BrokerEndPointNotAvailableException.scala PRE-CREATION 
>   core/src/main/scala/kafka/consumer/ConsumerConfig.scala 9ebbee6c16dc83767297c729d2d74ebbd063a993 
>   core/src/main/scala/kafka/consumer/ConsumerFetcherManager.scala b9e2bea7b442a19bcebd1b350d39541a8c9dd068 
>   core/src/main/scala/kafka/consumer/ConsumerFetcherThread.scala 152fda5d1dcdf319399fdeeb8457006090ebe56c 
>   core/src/main/scala/kafka/consumer/ZookeeperConsumerConnector.scala b1cf0db8741e384e4e4119751058ea87b2589e57 
>   core/src/main/scala/kafka/controller/ControllerChannelManager.scala c582191636f6188c25d62a67ff0315b56f163133 
>   core/src/main/scala/kafka/controller/KafkaController.scala 09fc46d759b74bcdad2d2a610d9c5a93ff02423f 
>   core/src/main/scala/kafka/javaapi/ConsumerMetadataResponse.scala d281bb31a66fd749ecddfbe38479b6903f436831 
>   core/src/main/scala/kafka/javaapi/TopicMetadata.scala f384e04678df10a5b46a439f475c63371bf8e32b 
>   core/src/main/scala/kafka/network/RequestChannel.scala bc73540acb1ceb303cb30e58dfa903822f7a8a6c 
>   core/src/main/scala/kafka/network/SocketServer.scala 76ce41aed6e04ac5ba88395c4d5008aca17f9a73 
>   core/src/main/scala/kafka/producer/ProducerPool.scala 43df70bb461dd3e385e6b20396adef3c4016a3fc 
>   core/src/main/scala/kafka/server/AbstractFetcherManager.scala 20c00cb8cc2351950edbc8cb1752905a0c26e79f 
>   core/src/main/scala/kafka/server/AbstractFetcherThread.scala 5d5cf5897cc37b3595f14bfe9d7cde43456bcc4b 
>   core/src/main/scala/kafka/server/KafkaApis.scala f372af77f58aacee7981caa361e13eefecee2278 
>   core/src/main/scala/kafka/server/KafkaConfig.scala 422451aec5ea0442eb2e4c1ae772885b813904a9 
>   core/src/main/scala/kafka/server/KafkaHealthcheck.scala 7907987e43404487382de7f4cc294f0d01ac15a7 
>   core/src/main/scala/kafka/server/KafkaServer.scala 4db3384545be8c237d6fc9646716ab67d5193ec5 
>   core/src/main/scala/kafka/server/MetadataCache.scala 6aef6e4508ecadbbcc1e12bed2054547b7aa333e 
>   core/src/main/scala/kafka/server/ReplicaFetcherManager.scala 351dbbad3bdb709937943b336a5b0a9e0162a5e2 
>   core/src/main/scala/kafka/server/ReplicaFetcherThread.scala 96faa7b4ed7c9ba8a3f6f9f114bd94e19b3a7ac0 
>   core/src/main/scala/kafka/server/ReplicaManager.scala 44f0026e6676d8d764dd59dbcc6bb7bb727a3ba6 
>   core/src/main/scala/kafka/tools/ConsumerOffsetChecker.scala d1e7c434e77859d746b8dc68dd5d5a3740425e79 
>   core/src/main/scala/kafka/tools/ReplicaVerificationTool.scala ba6ddd7a909df79a0f7d45e8b4a2af94ea0fceb6 
>   core/src/main/scala/kafka/tools/SimpleConsumerShell.scala b4f903b6c7c3bb725cac7c05eb1f885906413c4d 
>   core/src/main/scala/kafka/tools/UpdateOffsetsInZK.scala 111c9a8b94ce45d95551482e9fd3f8c1cccbf548 
>   core/src/main/scala/kafka/utils/Utils.scala 738c1af9ef5de16fdf5130daab69757a14c48b5c 
>   core/src/main/scala/kafka/utils/ZkUtils.scala 7ae999ec619443d35a9cb8fbcd531fca0c51c8c0 
>   core/src/test/scala/integration/kafka/api/ProducerFailureHandlingTest.scala 7eb6d05b66b16f8b0ab64eb43dcc1a25168fa5be 
>   core/src/test/scala/integration/kafka/api/ProducerSendTest.scala 3df450784592b894008e7507b2737f9bb07f7bd2 
>   core/src/test/scala/other/kafka/TestOffsetManager.scala a106379d96ab3cbdf54a9f162db44a6df177e733 
>   core/src/test/scala/unit/kafka/KafkaConfigTest.scala 4d36b8b1173f60d43463c13c9d8c1275a84c8c28 
>   core/src/test/scala/unit/kafka/admin/AddPartitionsTest.scala 8bc178505e00932a316c46ed1d904bd57b5b3f75 
>   core/src/test/scala/unit/kafka/api/RequestResponseSerializationTest.scala 030faacf278e7040ca7f9f2c1fac518008f7ae42 
>   core/src/test/scala/unit/kafka/cluster/BrokerTest.scala PRE-CREATION 
>   core/src/test/scala/unit/kafka/consumer/ConsumerIteratorTest.scala 995397ba2e2dfc6fadd9d5c5efd90f2c4ac0d59c 
>   core/src/test/scala/unit/kafka/integration/FetcherTest.scala 3093e459935ecf8e5b34fca34a422674562a7034 
>   core/src/test/scala/unit/kafka/integration/KafkaServerTestHarness.scala 062790f15d4ab6e0ee7a98bef12aaa2b22da3bfa 
>   core/src/test/scala/unit/kafka/integration/TopicMetadataTest.scala a671af4a87d5c2fb42ff48c553bca7cae6538231 
>   core/src/test/scala/unit/kafka/log/LogTest.scala 3c0599cc2ea12566fbec8233e3a73b31854b3b38 
>   core/src/test/scala/unit/kafka/network/SocketServerTest.scala 0af23abf146d99e3d6cf31e5d6b95a9e63318ddb 
>   core/src/test/scala/unit/kafka/producer/AsyncProducerTest.scala be90c5bc7f1f5ba8a237d1c7176f27029727c918 
>   core/src/test/scala/unit/kafka/producer/SyncProducerTest.scala 812df5989940095c1a347066136ab55153bdad21 
>   core/src/test/scala/unit/kafka/server/AdvertiseBrokerTest.scala 296e2b563041318d360db4037411879613a63968 
>   core/src/test/scala/unit/kafka/server/KafkaConfigConfigDefTest.scala 191251d1340b5e5b2d649b37af3c6c1896d07e6e 
>   core/src/test/scala/unit/kafka/server/KafkaConfigTest.scala 7f47e6f9a74314ed9e9f19d0c97931f3f2e49259 
>   core/src/test/scala/unit/kafka/server/LeaderElectionTest.scala f2528059dd86bb051d1ce9d72039cde3b78b8817 
>   core/src/test/scala/unit/kafka/server/LogOffsetTest.scala 8c9f9e748e888da6035755c9f4241ac3aa0500c9 
>   core/src/test/scala/unit/kafka/utils/TestUtils.scala 1682a77362123449de6bb1d54a55887409990a24 
>   system_test/README.txt 0e469e373c9d91e6394a513ec581ef1cc92fa44c 
>   system_test/replication_testsuite/testcase_0001/testcase_0001_properties.json 250ffe08ae4c2d35f7c79c883f47bbc27d5361b5 
>   system_test/replication_testsuite/testcase_0002/testcase_0002_properties.json 3f9e7d05db17e170aea4fee5a13ab5534dd5db2e 
>   system_test/replication_testsuite/testcase_0003/testcase_0003_properties.json b10c6266a786acf0c4b1accb63f9727486d09fd9 
>   system_test/replication_testsuite/testcase_0004/testcase_0004_properties.json 22c08023f3d9e7678fdb990518bdb7931b64b6ac 
>   system_test/replication_testsuite/testcase_0005/testcase_0005_properties.json 1317d8460f82c3ff09d5a13a1277d695ba71d6e7 
>   system_test/replication_testsuite/testcase_0006/testcase_0006_properties.json d31346506a19dd066519303a19a191f70599918d 
>   system_test/replication_testsuite/testcase_0007/testcase_0007_properties.json bd00f130d7fc69dc43cf088e298abc43e51bf765 
>   system_test/replication_testsuite/testcase_0008/testcase_0008_properties.json ac5c13b09a84f975e345b635cf44a76935251244 
>   system_test/replication_testsuite/testcase_0009/testcase_0009_properties.json 6dadd7a288664ebdc7d023c54d9cdb5a54d0c2e7 
>   system_test/replication_testsuite/testcase_0101/testcase_0101_properties.json 614cb1cf01d3c76d8a97c2b52fb52bd83ec80c4b 
>   system_test/replication_testsuite/testcase_0102/testcase_0102_properties.json fbf01772545f016c28448235a5859429a3a83780 
>   system_test/replication_testsuite/testcase_0103/testcase_0103_properties.json 317a6e3d3384009668e822e6c7e38b3fa34fcd6e 
>   system_test/replication_testsuite/testcase_0104/testcase_0104_properties.json d1a790b34fa5b42fe9fce2dabf6833048f9905ea 
>   system_test/replication_testsuite/testcase_0105/testcase_0105_properties.json 8f4f8bfac71463bbe52906ee7a127d8b0b5f48a3 
>   system_test/replication_testsuite/testcase_0106/testcase_0106_properties.json a307f855c944946724cf3a91a9c07cc7b57b71f6 
>   system_test/replication_testsuite/testcase_0107/testcase_0107_properties.json 827319eb6c6dbba0c8000b6e5e5a657a112deb21 
>   system_test/replication_testsuite/testcase_0108/testcase_0108_properties.json ae015cd0eb82b3d3f04e14c808b66dad702f7bf0 
>   system_test/replication_testsuite/testcase_0109/testcase_0109_properties.json 1951a1220956f931032e8fcd214784d76472054b 
>   system_test/replication_testsuite/testcase_1/testcase_1_properties.json 0c6d7a316cc6b51ac0755ca03558507db0706c31 
>   system_test/run_all.sh PRE-CREATION 
>   system_test/run_all_replica.sh PRE-CREATION 
>   system_test/testcase_to_run.json c6cf17ea690732bccbf4d60da6593f507c6da979 
>   system_test/testcase_to_run_all_replica.json PRE-CREATION 
>   system_test/utils/kafka_system_test_utils.py 41d511cbc310fa87e0f2cd2f772e479e8e3ae4e2 
> 
> Diff: https://reviews.apache.org/r/28769/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Gwen Shapira
> 
>


Re: Review Request 28769: Patch for KAFKA-1809

Posted by Gwen Shapira <gs...@cloudera.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/28769/
-----------------------------------------------------------

(Updated April 2, 2015, 10:12 p.m.)


Review request for kafka.


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


Repository: kafka


Description (updated)
-------

forgot rest of patch


merge with trunk


moved ApiVersion to core, fixed SocketServer concurrency issue and other minor things


Merge branch 'trunk' of http://git-wip-us.apache.org/repos/asf/kafka into broker_ref2

Conflicts:
	core/src/main/scala/kafka/server/KafkaApis.scala
	core/src/test/scala/unit/kafka/api/RequestResponseSerializationTest.scala


Diffs (updated)
-----

  clients/src/main/java/org/apache/kafka/clients/producer/ProducerConfig.java fa9daaef66ff7961e1c46cd0cd8fed18a53bccd8 
  clients/src/main/java/org/apache/kafka/common/protocol/SecurityProtocol.java PRE-CREATION 
  clients/src/main/java/org/apache/kafka/common/utils/Utils.java 920b51a6c3c99639fbc9dc065637eeee3c19fabd 
  clients/src/test/java/org/apache/kafka/common/utils/UtilsTest.java c899813d55b9c4786adde3d840f040d6645d27c8 
  config/server.properties 1614260b71a658b405bb24157c8f12b1f1031aa5 
  core/src/main/scala/kafka/admin/AdminUtils.scala b700110f2d7f1ede235af55d8e37e1b5592c6c7d 
  core/src/main/scala/kafka/admin/TopicCommand.scala f400b71f8444fffd3fc1d8398a283682390eba4e 
  core/src/main/scala/kafka/api/ApiVersion.scala PRE-CREATION 
  core/src/main/scala/kafka/api/ConsumerMetadataResponse.scala 24aaf954dc42e2084454fa5fc9e8f388ea95c756 
  core/src/main/scala/kafka/api/LeaderAndIsrRequest.scala 4ff7e8f8cc695551dd5d2fe65c74f6b6c571e340 
  core/src/main/scala/kafka/api/TopicMetadata.scala 0190076df0adf906ecd332284f222ff974b315fc 
  core/src/main/scala/kafka/api/TopicMetadataResponse.scala 92ac4e687be22e4800199c0666bfac5e0059e5bb 
  core/src/main/scala/kafka/api/UpdateMetadataRequest.scala 530982e36b17934b8cc5fb668075a5342e142c59 
  core/src/main/scala/kafka/client/ClientUtils.scala ebba87f0566684c796c26cb76c64b4640a5ccfde 
  core/src/main/scala/kafka/cluster/Broker.scala 0060add008bb3bc4b0092f2173c469fce0120be6 
  core/src/main/scala/kafka/cluster/BrokerEndPoint.scala PRE-CREATION 
  core/src/main/scala/kafka/cluster/EndPoint.scala PRE-CREATION 
  core/src/main/scala/kafka/cluster/SecurityProtocol.scala PRE-CREATION 
  core/src/main/scala/kafka/common/BrokerEndPointNotAvailableException.scala PRE-CREATION 
  core/src/main/scala/kafka/consumer/ConsumerConfig.scala 9ebbee6c16dc83767297c729d2d74ebbd063a993 
  core/src/main/scala/kafka/consumer/ConsumerFetcherManager.scala b9e2bea7b442a19bcebd1b350d39541a8c9dd068 
  core/src/main/scala/kafka/consumer/ConsumerFetcherThread.scala 152fda5d1dcdf319399fdeeb8457006090ebe56c 
  core/src/main/scala/kafka/consumer/ZookeeperConsumerConnector.scala b1cf0db8741e384e4e4119751058ea87b2589e57 
  core/src/main/scala/kafka/controller/ControllerChannelManager.scala c582191636f6188c25d62a67ff0315b56f163133 
  core/src/main/scala/kafka/controller/KafkaController.scala 09fc46d759b74bcdad2d2a610d9c5a93ff02423f 
  core/src/main/scala/kafka/javaapi/ConsumerMetadataResponse.scala d281bb31a66fd749ecddfbe38479b6903f436831 
  core/src/main/scala/kafka/javaapi/TopicMetadata.scala f384e04678df10a5b46a439f475c63371bf8e32b 
  core/src/main/scala/kafka/network/RequestChannel.scala bc73540acb1ceb303cb30e58dfa903822f7a8a6c 
  core/src/main/scala/kafka/network/SocketServer.scala 76ce41aed6e04ac5ba88395c4d5008aca17f9a73 
  core/src/main/scala/kafka/producer/ProducerPool.scala 43df70bb461dd3e385e6b20396adef3c4016a3fc 
  core/src/main/scala/kafka/server/AbstractFetcherManager.scala 20c00cb8cc2351950edbc8cb1752905a0c26e79f 
  core/src/main/scala/kafka/server/AbstractFetcherThread.scala 5d5cf5897cc37b3595f14bfe9d7cde43456bcc4b 
  core/src/main/scala/kafka/server/KafkaApis.scala f372af77f58aacee7981caa361e13eefecee2278 
  core/src/main/scala/kafka/server/KafkaConfig.scala 422451aec5ea0442eb2e4c1ae772885b813904a9 
  core/src/main/scala/kafka/server/KafkaHealthcheck.scala 7907987e43404487382de7f4cc294f0d01ac15a7 
  core/src/main/scala/kafka/server/KafkaServer.scala 4db3384545be8c237d6fc9646716ab67d5193ec5 
  core/src/main/scala/kafka/server/MetadataCache.scala 6aef6e4508ecadbbcc1e12bed2054547b7aa333e 
  core/src/main/scala/kafka/server/ReplicaFetcherManager.scala 351dbbad3bdb709937943b336a5b0a9e0162a5e2 
  core/src/main/scala/kafka/server/ReplicaFetcherThread.scala 96faa7b4ed7c9ba8a3f6f9f114bd94e19b3a7ac0 
  core/src/main/scala/kafka/server/ReplicaManager.scala 44f0026e6676d8d764dd59dbcc6bb7bb727a3ba6 
  core/src/main/scala/kafka/tools/ConsumerOffsetChecker.scala d1e7c434e77859d746b8dc68dd5d5a3740425e79 
  core/src/main/scala/kafka/tools/ReplicaVerificationTool.scala ba6ddd7a909df79a0f7d45e8b4a2af94ea0fceb6 
  core/src/main/scala/kafka/tools/SimpleConsumerShell.scala b4f903b6c7c3bb725cac7c05eb1f885906413c4d 
  core/src/main/scala/kafka/tools/UpdateOffsetsInZK.scala 111c9a8b94ce45d95551482e9fd3f8c1cccbf548 
  core/src/main/scala/kafka/utils/Utils.scala 738c1af9ef5de16fdf5130daab69757a14c48b5c 
  core/src/main/scala/kafka/utils/ZkUtils.scala 7ae999ec619443d35a9cb8fbcd531fca0c51c8c0 
  core/src/test/scala/integration/kafka/api/ProducerFailureHandlingTest.scala 7eb6d05b66b16f8b0ab64eb43dcc1a25168fa5be 
  core/src/test/scala/integration/kafka/api/ProducerSendTest.scala 3df450784592b894008e7507b2737f9bb07f7bd2 
  core/src/test/scala/other/kafka/TestOffsetManager.scala a106379d96ab3cbdf54a9f162db44a6df177e733 
  core/src/test/scala/unit/kafka/KafkaConfigTest.scala 4d36b8b1173f60d43463c13c9d8c1275a84c8c28 
  core/src/test/scala/unit/kafka/admin/AddPartitionsTest.scala 8bc178505e00932a316c46ed1d904bd57b5b3f75 
  core/src/test/scala/unit/kafka/api/RequestResponseSerializationTest.scala 030faacf278e7040ca7f9f2c1fac518008f7ae42 
  core/src/test/scala/unit/kafka/cluster/BrokerTest.scala PRE-CREATION 
  core/src/test/scala/unit/kafka/consumer/ConsumerIteratorTest.scala 995397ba2e2dfc6fadd9d5c5efd90f2c4ac0d59c 
  core/src/test/scala/unit/kafka/integration/FetcherTest.scala 3093e459935ecf8e5b34fca34a422674562a7034 
  core/src/test/scala/unit/kafka/integration/KafkaServerTestHarness.scala 062790f15d4ab6e0ee7a98bef12aaa2b22da3bfa 
  core/src/test/scala/unit/kafka/integration/TopicMetadataTest.scala a671af4a87d5c2fb42ff48c553bca7cae6538231 
  core/src/test/scala/unit/kafka/log/LogTest.scala 3c0599cc2ea12566fbec8233e3a73b31854b3b38 
  core/src/test/scala/unit/kafka/network/SocketServerTest.scala 0af23abf146d99e3d6cf31e5d6b95a9e63318ddb 
  core/src/test/scala/unit/kafka/producer/AsyncProducerTest.scala be90c5bc7f1f5ba8a237d1c7176f27029727c918 
  core/src/test/scala/unit/kafka/producer/SyncProducerTest.scala 812df5989940095c1a347066136ab55153bdad21 
  core/src/test/scala/unit/kafka/server/AdvertiseBrokerTest.scala 296e2b563041318d360db4037411879613a63968 
  core/src/test/scala/unit/kafka/server/KafkaConfigConfigDefTest.scala 191251d1340b5e5b2d649b37af3c6c1896d07e6e 
  core/src/test/scala/unit/kafka/server/KafkaConfigTest.scala 7f47e6f9a74314ed9e9f19d0c97931f3f2e49259 
  core/src/test/scala/unit/kafka/server/LeaderElectionTest.scala f2528059dd86bb051d1ce9d72039cde3b78b8817 
  core/src/test/scala/unit/kafka/server/LogOffsetTest.scala 8c9f9e748e888da6035755c9f4241ac3aa0500c9 
  core/src/test/scala/unit/kafka/utils/TestUtils.scala 1682a77362123449de6bb1d54a55887409990a24 
  system_test/README.txt 0e469e373c9d91e6394a513ec581ef1cc92fa44c 
  system_test/replication_testsuite/testcase_0001/testcase_0001_properties.json 250ffe08ae4c2d35f7c79c883f47bbc27d5361b5 
  system_test/replication_testsuite/testcase_0002/testcase_0002_properties.json 3f9e7d05db17e170aea4fee5a13ab5534dd5db2e 
  system_test/replication_testsuite/testcase_0003/testcase_0003_properties.json b10c6266a786acf0c4b1accb63f9727486d09fd9 
  system_test/replication_testsuite/testcase_0004/testcase_0004_properties.json 22c08023f3d9e7678fdb990518bdb7931b64b6ac 
  system_test/replication_testsuite/testcase_0005/testcase_0005_properties.json 1317d8460f82c3ff09d5a13a1277d695ba71d6e7 
  system_test/replication_testsuite/testcase_0006/testcase_0006_properties.json d31346506a19dd066519303a19a191f70599918d 
  system_test/replication_testsuite/testcase_0007/testcase_0007_properties.json bd00f130d7fc69dc43cf088e298abc43e51bf765 
  system_test/replication_testsuite/testcase_0008/testcase_0008_properties.json ac5c13b09a84f975e345b635cf44a76935251244 
  system_test/replication_testsuite/testcase_0009/testcase_0009_properties.json 6dadd7a288664ebdc7d023c54d9cdb5a54d0c2e7 
  system_test/replication_testsuite/testcase_0101/testcase_0101_properties.json 614cb1cf01d3c76d8a97c2b52fb52bd83ec80c4b 
  system_test/replication_testsuite/testcase_0102/testcase_0102_properties.json fbf01772545f016c28448235a5859429a3a83780 
  system_test/replication_testsuite/testcase_0103/testcase_0103_properties.json 317a6e3d3384009668e822e6c7e38b3fa34fcd6e 
  system_test/replication_testsuite/testcase_0104/testcase_0104_properties.json d1a790b34fa5b42fe9fce2dabf6833048f9905ea 
  system_test/replication_testsuite/testcase_0105/testcase_0105_properties.json 8f4f8bfac71463bbe52906ee7a127d8b0b5f48a3 
  system_test/replication_testsuite/testcase_0106/testcase_0106_properties.json a307f855c944946724cf3a91a9c07cc7b57b71f6 
  system_test/replication_testsuite/testcase_0107/testcase_0107_properties.json 827319eb6c6dbba0c8000b6e5e5a657a112deb21 
  system_test/replication_testsuite/testcase_0108/testcase_0108_properties.json ae015cd0eb82b3d3f04e14c808b66dad702f7bf0 
  system_test/replication_testsuite/testcase_0109/testcase_0109_properties.json 1951a1220956f931032e8fcd214784d76472054b 
  system_test/replication_testsuite/testcase_1/testcase_1_properties.json 0c6d7a316cc6b51ac0755ca03558507db0706c31 
  system_test/run_all.sh PRE-CREATION 
  system_test/run_all_replica.sh PRE-CREATION 
  system_test/testcase_to_run.json c6cf17ea690732bccbf4d60da6593f507c6da979 
  system_test/testcase_to_run_all_replica.json PRE-CREATION 
  system_test/utils/kafka_system_test_utils.py 41d511cbc310fa87e0f2cd2f772e479e8e3ae4e2 

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


Testing
-------


Thanks,

Gwen Shapira


Re: Review Request 28769: Patch for KAFKA-1809

Posted by Jun Rao <ju...@gmail.com>.

> On March 29, 2015, 7:33 p.m., Jun Rao wrote:
> > core/src/main/scala/kafka/server/KafkaConfig.scala, lines 345-347
> > <https://reviews.apache.org/r/28769/diff/21/?file=908381#file908381line345>
> >
> >     It seems that a 3-digit value like 0.8.2 is also valid?
> 
> Gwen Shapira wrote:
>     yes, and also 0.8.2.X or 0.8.2.Y. We treat them all as equivalent. Do you think its an issue? or just want to document this fact?

Yes, just the documentation.


- Jun


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


On March 27, 2015, 10:04 p.m., Gwen Shapira wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/28769/
> -----------------------------------------------------------
> 
> (Updated March 27, 2015, 10:04 p.m.)
> 
> 
> Review request for kafka.
> 
> 
> Bugs: KAFKA-1809
>     https://issues.apache.org/jira/browse/KAFKA-1809
> 
> 
> Repository: kafka
> 
> 
> Description
> -------
> 
> forgot rest of patch
> 
> 
> merge with trunk
> 
> 
> Diffs
> -----
> 
>   clients/src/main/java/org/apache/kafka/clients/producer/ProducerConfig.java fa9daaef66ff7961e1c46cd0cd8fed18a53bccd8 
>   clients/src/main/java/org/apache/kafka/common/protocol/ApiVersion.java PRE-CREATION 
>   clients/src/main/java/org/apache/kafka/common/protocol/SecurityProtocol.java PRE-CREATION 
>   clients/src/main/java/org/apache/kafka/common/utils/Utils.java 920b51a6c3c99639fbc9dc065637eeee3c19fabd 
>   clients/src/test/java/org/apache/kafka/common/utils/UtilsTest.java c899813d55b9c4786adde3d840f040d6645d27c8 
>   config/server.properties 1614260b71a658b405bb24157c8f12b1f1031aa5 
>   core/src/main/scala/kafka/admin/AdminUtils.scala b700110f2d7f1ede235af55d8e37e1b5592c6c7d 
>   core/src/main/scala/kafka/admin/TopicCommand.scala f400b71f8444fffd3fc1d8398a283682390eba4e 
>   core/src/main/scala/kafka/api/ConsumerMetadataResponse.scala 24aaf954dc42e2084454fa5fc9e8f388ea95c756 
>   core/src/main/scala/kafka/api/LeaderAndIsrRequest.scala 4ff7e8f8cc695551dd5d2fe65c74f6b6c571e340 
>   core/src/main/scala/kafka/api/TopicMetadata.scala 0190076df0adf906ecd332284f222ff974b315fc 
>   core/src/main/scala/kafka/api/TopicMetadataResponse.scala 92ac4e687be22e4800199c0666bfac5e0059e5bb 
>   core/src/main/scala/kafka/api/UpdateMetadataRequest.scala 530982e36b17934b8cc5fb668075a5342e142c59 
>   core/src/main/scala/kafka/client/ClientUtils.scala ebba87f0566684c796c26cb76c64b4640a5ccfde 
>   core/src/main/scala/kafka/cluster/Broker.scala 0060add008bb3bc4b0092f2173c469fce0120be6 
>   core/src/main/scala/kafka/cluster/BrokerEndPoint.scala PRE-CREATION 
>   core/src/main/scala/kafka/cluster/EndPoint.scala PRE-CREATION 
>   core/src/main/scala/kafka/cluster/SecurityProtocol.scala PRE-CREATION 
>   core/src/main/scala/kafka/common/BrokerEndPointNotAvailableException.scala PRE-CREATION 
>   core/src/main/scala/kafka/consumer/ConsumerConfig.scala 9ebbee6c16dc83767297c729d2d74ebbd063a993 
>   core/src/main/scala/kafka/consumer/ConsumerFetcherManager.scala b9e2bea7b442a19bcebd1b350d39541a8c9dd068 
>   core/src/main/scala/kafka/consumer/ConsumerFetcherThread.scala 152fda5d1dcdf319399fdeeb8457006090ebe56c 
>   core/src/main/scala/kafka/consumer/ZookeeperConsumerConnector.scala b1cf0db8741e384e4e4119751058ea87b2589e57 
>   core/src/main/scala/kafka/controller/ControllerChannelManager.scala c582191636f6188c25d62a67ff0315b56f163133 
>   core/src/main/scala/kafka/controller/KafkaController.scala 09fc46d759b74bcdad2d2a610d9c5a93ff02423f 
>   core/src/main/scala/kafka/javaapi/ConsumerMetadataResponse.scala d281bb31a66fd749ecddfbe38479b6903f436831 
>   core/src/main/scala/kafka/javaapi/TopicMetadata.scala f384e04678df10a5b46a439f475c63371bf8e32b 
>   core/src/main/scala/kafka/network/RequestChannel.scala 7b1db3dbbb2c0676f166890f566c14aa248467ab 
>   core/src/main/scala/kafka/network/SocketServer.scala 76ce41aed6e04ac5ba88395c4d5008aca17f9a73 
>   core/src/main/scala/kafka/producer/ProducerPool.scala 43df70bb461dd3e385e6b20396adef3c4016a3fc 
>   core/src/main/scala/kafka/server/AbstractFetcherManager.scala 20c00cb8cc2351950edbc8cb1752905a0c26e79f 
>   core/src/main/scala/kafka/server/AbstractFetcherThread.scala 5d5cf5897cc37b3595f14bfe9d7cde43456bcc4b 
>   core/src/main/scala/kafka/server/KafkaApis.scala c33e848256be6159a148319bf74bf1590f27cc06 
>   core/src/main/scala/kafka/server/KafkaConfig.scala 422451aec5ea0442eb2e4c1ae772885b813904a9 
>   core/src/main/scala/kafka/server/KafkaHealthcheck.scala 7907987e43404487382de7f4cc294f0d01ac15a7 
>   core/src/main/scala/kafka/server/KafkaServer.scala 4db3384545be8c237d6fc9646716ab67d5193ec5 
>   core/src/main/scala/kafka/server/MetadataCache.scala 6aef6e4508ecadbbcc1e12bed2054547b7aa333e 
>   core/src/main/scala/kafka/server/ReplicaFetcherManager.scala 351dbbad3bdb709937943b336a5b0a9e0162a5e2 
>   core/src/main/scala/kafka/server/ReplicaFetcherThread.scala 96faa7b4ed7c9ba8a3f6f9f114bd94e19b3a7ac0 
>   core/src/main/scala/kafka/server/ReplicaManager.scala 44f0026e6676d8d764dd59dbcc6bb7bb727a3ba6 
>   core/src/main/scala/kafka/tools/ConsumerOffsetChecker.scala d1e7c434e77859d746b8dc68dd5d5a3740425e79 
>   core/src/main/scala/kafka/tools/ReplicaVerificationTool.scala ba6ddd7a909df79a0f7d45e8b4a2af94ea0fceb6 
>   core/src/main/scala/kafka/tools/SimpleConsumerShell.scala b4f903b6c7c3bb725cac7c05eb1f885906413c4d 
>   core/src/main/scala/kafka/tools/UpdateOffsetsInZK.scala 111c9a8b94ce45d95551482e9fd3f8c1cccbf548 
>   core/src/main/scala/kafka/utils/Utils.scala 738c1af9ef5de16fdf5130daab69757a14c48b5c 
>   core/src/main/scala/kafka/utils/ZkUtils.scala 7ae999ec619443d35a9cb8fbcd531fca0c51c8c0 
>   core/src/test/scala/integration/kafka/api/ProducerFailureHandlingTest.scala 7eb6d05b66b16f8b0ab64eb43dcc1a25168fa5be 
>   core/src/test/scala/integration/kafka/api/ProducerSendTest.scala 3df450784592b894008e7507b2737f9bb07f7bd2 
>   core/src/test/scala/other/kafka/TestOffsetManager.scala a106379d96ab3cbdf54a9f162db44a6df177e733 
>   core/src/test/scala/unit/kafka/KafkaConfigTest.scala 4d36b8b1173f60d43463c13c9d8c1275a84c8c28 
>   core/src/test/scala/unit/kafka/admin/AddPartitionsTest.scala 8bc178505e00932a316c46ed1d904bd57b5b3f75 
>   core/src/test/scala/unit/kafka/api/RequestResponseSerializationTest.scala 4cb803f3e86dbc97f1749b2db9788fe9d376d49a 
>   core/src/test/scala/unit/kafka/cluster/BrokerTest.scala PRE-CREATION 
>   core/src/test/scala/unit/kafka/consumer/ConsumerIteratorTest.scala 995397ba2e2dfc6fadd9d5c5efd90f2c4ac0d59c 
>   core/src/test/scala/unit/kafka/integration/FetcherTest.scala 3093e459935ecf8e5b34fca34a422674562a7034 
>   core/src/test/scala/unit/kafka/integration/KafkaServerTestHarness.scala 062790f15d4ab6e0ee7a98bef12aaa2b22da3bfa 
>   core/src/test/scala/unit/kafka/integration/TopicMetadataTest.scala a671af4a87d5c2fb42ff48c553bca7cae6538231 
>   core/src/test/scala/unit/kafka/log/LogTest.scala 3c0599cc2ea12566fbec8233e3a73b31854b3b38 
>   core/src/test/scala/unit/kafka/network/SocketServerTest.scala 0af23abf146d99e3d6cf31e5d6b95a9e63318ddb 
>   core/src/test/scala/unit/kafka/producer/AsyncProducerTest.scala be90c5bc7f1f5ba8a237d1c7176f27029727c918 
>   core/src/test/scala/unit/kafka/producer/SyncProducerTest.scala 812df5989940095c1a347066136ab55153bdad21 
>   core/src/test/scala/unit/kafka/server/AdvertiseBrokerTest.scala 296e2b563041318d360db4037411879613a63968 
>   core/src/test/scala/unit/kafka/server/KafkaConfigConfigDefTest.scala 191251d1340b5e5b2d649b37af3c6c1896d07e6e 
>   core/src/test/scala/unit/kafka/server/KafkaConfigTest.scala 7f47e6f9a74314ed9e9f19d0c97931f3f2e49259 
>   core/src/test/scala/unit/kafka/server/LeaderElectionTest.scala f2528059dd86bb051d1ce9d72039cde3b78b8817 
>   core/src/test/scala/unit/kafka/server/LogOffsetTest.scala 8c9f9e748e888da6035755c9f4241ac3aa0500c9 
>   core/src/test/scala/unit/kafka/utils/TestUtils.scala 1682a77362123449de6bb1d54a55887409990a24 
>   system_test/replication_testsuite/testcase_0001/testcase_0001_properties.json 250ffe08ae4c2d35f7c79c883f47bbc27d5361b5 
>   system_test/replication_testsuite/testcase_0002/testcase_0002_properties.json 3f9e7d05db17e170aea4fee5a13ab5534dd5db2e 
>   system_test/replication_testsuite/testcase_0003/testcase_0003_properties.json b10c6266a786acf0c4b1accb63f9727486d09fd9 
>   system_test/replication_testsuite/testcase_0004/testcase_0004_properties.json 22c08023f3d9e7678fdb990518bdb7931b64b6ac 
>   system_test/replication_testsuite/testcase_0005/testcase_0005_properties.json 1317d8460f82c3ff09d5a13a1277d695ba71d6e7 
>   system_test/replication_testsuite/testcase_0006/testcase_0006_properties.json d31346506a19dd066519303a19a191f70599918d 
>   system_test/replication_testsuite/testcase_0007/testcase_0007_properties.json bd00f130d7fc69dc43cf088e298abc43e51bf765 
>   system_test/replication_testsuite/testcase_0008/testcase_0008_properties.json ac5c13b09a84f975e345b635cf44a76935251244 
>   system_test/replication_testsuite/testcase_0009/testcase_0009_properties.json 6dadd7a288664ebdc7d023c54d9cdb5a54d0c2e7 
>   system_test/replication_testsuite/testcase_0101/testcase_0101_properties.json 614cb1cf01d3c76d8a97c2b52fb52bd83ec80c4b 
>   system_test/replication_testsuite/testcase_0102/testcase_0102_properties.json fbf01772545f016c28448235a5859429a3a83780 
>   system_test/replication_testsuite/testcase_0103/testcase_0103_properties.json 317a6e3d3384009668e822e6c7e38b3fa34fcd6e 
>   system_test/replication_testsuite/testcase_0104/testcase_0104_properties.json d1a790b34fa5b42fe9fce2dabf6833048f9905ea 
>   system_test/replication_testsuite/testcase_0105/testcase_0105_properties.json 8f4f8bfac71463bbe52906ee7a127d8b0b5f48a3 
>   system_test/replication_testsuite/testcase_0106/testcase_0106_properties.json a307f855c944946724cf3a91a9c07cc7b57b71f6 
>   system_test/replication_testsuite/testcase_0107/testcase_0107_properties.json 827319eb6c6dbba0c8000b6e5e5a657a112deb21 
>   system_test/replication_testsuite/testcase_0108/testcase_0108_properties.json ae015cd0eb82b3d3f04e14c808b66dad702f7bf0 
>   system_test/replication_testsuite/testcase_0109/testcase_0109_properties.json 1951a1220956f931032e8fcd214784d76472054b 
>   system_test/replication_testsuite/testcase_1/testcase_1_properties.json 0c6d7a316cc6b51ac0755ca03558507db0706c31 
>   system_test/run_all.sh PRE-CREATION 
>   system_test/run_all_replica.sh PRE-CREATION 
>   system_test/utils/kafka_system_test_utils.py 41d511cbc310fa87e0f2cd2f772e479e8e3ae4e2 
> 
> Diff: https://reviews.apache.org/r/28769/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Gwen Shapira
> 
>


Re: Review Request 28769: Patch for KAFKA-1809

Posted by Gwen Shapira <gs...@cloudera.com>.

> On March 29, 2015, 7:33 p.m., Jun Rao wrote:
> > clients/src/main/java/org/apache/kafka/common/protocol/ApiVersion.java, line 28
> > <https://reviews.apache.org/r/28769/diff/21/?file=908349#file908349line28>
> >
> >     Since this is for intra-broker communication, should we move this class to core?

Sure. At first I thought we'll need it when we move all requests/responses to o.a.k.common, but on second look, it doesn't seem like the requests/responses themselves need it.


> On March 29, 2015, 7:33 p.m., Jun Rao wrote:
> > core/src/main/scala/kafka/server/KafkaConfig.scala, lines 345-347
> > <https://reviews.apache.org/r/28769/diff/21/?file=908381#file908381line345>
> >
> >     It seems that a 3-digit value like 0.8.2 is also valid?

yes, and also 0.8.2.X or 0.8.2.Y. We treat them all as equivalent. Do you think its an issue? or just want to document this fact?


> On March 29, 2015, 7:33 p.m., Jun Rao wrote:
> > core/src/main/scala/kafka/utils/Utils.scala, line 614
> > <https://reviews.apache.org/r/28769/diff/21/?file=908392#file908392line614>
> >
> >     Should we just return scala.collection.Map?

Isn't it a bit confusing?
A Map could be mutable, immutable, or "generic" (also immutable but a different type...) depending on what is imported. 
We pass the results of this around a bit between classes, sometimes relying on type-inference, often with different collections imported.
I'd rather be stricter here, unless you see an issue with this?


> On March 29, 2015, 7:33 p.m., Jun Rao wrote:
> > core/src/test/scala/unit/kafka/cluster/BrokerTest.scala, lines 62-64
> > <https://reviews.apache.org/r/28769/diff/21/?file=908400#file908400line62>
> >
> >     Is this necessary given the above tests on equal and hashCode?

Probably not. Since we typically care most about the ability to find the object in a hashmap, I usually test for it explicitly. If you think it doesn't belong in Kafka, I can remove it.


> On March 29, 2015, 7:33 p.m., Jun Rao wrote:
> > system_test/run_all.sh, lines 5-6
> > <https://reviews.apache.org/r/28769/diff/21/?file=908434#file908434line5>
> >
> >     Would it be better to just have testcase_to_run.json be testcase_to_run_all.json? Also, could we change README accordingly?

Will update the readme.

We can't just have testcase_to_run.json be testcase_to_run_all.json.
system_test_runner executes testcase_to_run.json by default.
We have several testsuites we may want to run testcase_to_run_all.json, testcase_to_run_all_replica.json (which I missed in this patch), and testcase_to_run_sanity.json.
The shellscript backsup the existing test configuration, replaces with the tests we want to run and executes system_test_runner.sh

(This is already done in run_sanity.sh)

I agree that modifying system_test_runner to take the script as parameter will be cleaner, but this is beyond the scope of this patch. That is, I don't want to dive into the python spaggetti that will be replaced soon :)


- Gwen


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


On March 27, 2015, 10:04 p.m., Gwen Shapira wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/28769/
> -----------------------------------------------------------
> 
> (Updated March 27, 2015, 10:04 p.m.)
> 
> 
> Review request for kafka.
> 
> 
> Bugs: KAFKA-1809
>     https://issues.apache.org/jira/browse/KAFKA-1809
> 
> 
> Repository: kafka
> 
> 
> Description
> -------
> 
> forgot rest of patch
> 
> 
> merge with trunk
> 
> 
> Diffs
> -----
> 
>   clients/src/main/java/org/apache/kafka/clients/producer/ProducerConfig.java fa9daaef66ff7961e1c46cd0cd8fed18a53bccd8 
>   clients/src/main/java/org/apache/kafka/common/protocol/ApiVersion.java PRE-CREATION 
>   clients/src/main/java/org/apache/kafka/common/protocol/SecurityProtocol.java PRE-CREATION 
>   clients/src/main/java/org/apache/kafka/common/utils/Utils.java 920b51a6c3c99639fbc9dc065637eeee3c19fabd 
>   clients/src/test/java/org/apache/kafka/common/utils/UtilsTest.java c899813d55b9c4786adde3d840f040d6645d27c8 
>   config/server.properties 1614260b71a658b405bb24157c8f12b1f1031aa5 
>   core/src/main/scala/kafka/admin/AdminUtils.scala b700110f2d7f1ede235af55d8e37e1b5592c6c7d 
>   core/src/main/scala/kafka/admin/TopicCommand.scala f400b71f8444fffd3fc1d8398a283682390eba4e 
>   core/src/main/scala/kafka/api/ConsumerMetadataResponse.scala 24aaf954dc42e2084454fa5fc9e8f388ea95c756 
>   core/src/main/scala/kafka/api/LeaderAndIsrRequest.scala 4ff7e8f8cc695551dd5d2fe65c74f6b6c571e340 
>   core/src/main/scala/kafka/api/TopicMetadata.scala 0190076df0adf906ecd332284f222ff974b315fc 
>   core/src/main/scala/kafka/api/TopicMetadataResponse.scala 92ac4e687be22e4800199c0666bfac5e0059e5bb 
>   core/src/main/scala/kafka/api/UpdateMetadataRequest.scala 530982e36b17934b8cc5fb668075a5342e142c59 
>   core/src/main/scala/kafka/client/ClientUtils.scala ebba87f0566684c796c26cb76c64b4640a5ccfde 
>   core/src/main/scala/kafka/cluster/Broker.scala 0060add008bb3bc4b0092f2173c469fce0120be6 
>   core/src/main/scala/kafka/cluster/BrokerEndPoint.scala PRE-CREATION 
>   core/src/main/scala/kafka/cluster/EndPoint.scala PRE-CREATION 
>   core/src/main/scala/kafka/cluster/SecurityProtocol.scala PRE-CREATION 
>   core/src/main/scala/kafka/common/BrokerEndPointNotAvailableException.scala PRE-CREATION 
>   core/src/main/scala/kafka/consumer/ConsumerConfig.scala 9ebbee6c16dc83767297c729d2d74ebbd063a993 
>   core/src/main/scala/kafka/consumer/ConsumerFetcherManager.scala b9e2bea7b442a19bcebd1b350d39541a8c9dd068 
>   core/src/main/scala/kafka/consumer/ConsumerFetcherThread.scala 152fda5d1dcdf319399fdeeb8457006090ebe56c 
>   core/src/main/scala/kafka/consumer/ZookeeperConsumerConnector.scala b1cf0db8741e384e4e4119751058ea87b2589e57 
>   core/src/main/scala/kafka/controller/ControllerChannelManager.scala c582191636f6188c25d62a67ff0315b56f163133 
>   core/src/main/scala/kafka/controller/KafkaController.scala 09fc46d759b74bcdad2d2a610d9c5a93ff02423f 
>   core/src/main/scala/kafka/javaapi/ConsumerMetadataResponse.scala d281bb31a66fd749ecddfbe38479b6903f436831 
>   core/src/main/scala/kafka/javaapi/TopicMetadata.scala f384e04678df10a5b46a439f475c63371bf8e32b 
>   core/src/main/scala/kafka/network/RequestChannel.scala 7b1db3dbbb2c0676f166890f566c14aa248467ab 
>   core/src/main/scala/kafka/network/SocketServer.scala 76ce41aed6e04ac5ba88395c4d5008aca17f9a73 
>   core/src/main/scala/kafka/producer/ProducerPool.scala 43df70bb461dd3e385e6b20396adef3c4016a3fc 
>   core/src/main/scala/kafka/server/AbstractFetcherManager.scala 20c00cb8cc2351950edbc8cb1752905a0c26e79f 
>   core/src/main/scala/kafka/server/AbstractFetcherThread.scala 5d5cf5897cc37b3595f14bfe9d7cde43456bcc4b 
>   core/src/main/scala/kafka/server/KafkaApis.scala c33e848256be6159a148319bf74bf1590f27cc06 
>   core/src/main/scala/kafka/server/KafkaConfig.scala 422451aec5ea0442eb2e4c1ae772885b813904a9 
>   core/src/main/scala/kafka/server/KafkaHealthcheck.scala 7907987e43404487382de7f4cc294f0d01ac15a7 
>   core/src/main/scala/kafka/server/KafkaServer.scala 4db3384545be8c237d6fc9646716ab67d5193ec5 
>   core/src/main/scala/kafka/server/MetadataCache.scala 6aef6e4508ecadbbcc1e12bed2054547b7aa333e 
>   core/src/main/scala/kafka/server/ReplicaFetcherManager.scala 351dbbad3bdb709937943b336a5b0a9e0162a5e2 
>   core/src/main/scala/kafka/server/ReplicaFetcherThread.scala 96faa7b4ed7c9ba8a3f6f9f114bd94e19b3a7ac0 
>   core/src/main/scala/kafka/server/ReplicaManager.scala 44f0026e6676d8d764dd59dbcc6bb7bb727a3ba6 
>   core/src/main/scala/kafka/tools/ConsumerOffsetChecker.scala d1e7c434e77859d746b8dc68dd5d5a3740425e79 
>   core/src/main/scala/kafka/tools/ReplicaVerificationTool.scala ba6ddd7a909df79a0f7d45e8b4a2af94ea0fceb6 
>   core/src/main/scala/kafka/tools/SimpleConsumerShell.scala b4f903b6c7c3bb725cac7c05eb1f885906413c4d 
>   core/src/main/scala/kafka/tools/UpdateOffsetsInZK.scala 111c9a8b94ce45d95551482e9fd3f8c1cccbf548 
>   core/src/main/scala/kafka/utils/Utils.scala 738c1af9ef5de16fdf5130daab69757a14c48b5c 
>   core/src/main/scala/kafka/utils/ZkUtils.scala 7ae999ec619443d35a9cb8fbcd531fca0c51c8c0 
>   core/src/test/scala/integration/kafka/api/ProducerFailureHandlingTest.scala 7eb6d05b66b16f8b0ab64eb43dcc1a25168fa5be 
>   core/src/test/scala/integration/kafka/api/ProducerSendTest.scala 3df450784592b894008e7507b2737f9bb07f7bd2 
>   core/src/test/scala/other/kafka/TestOffsetManager.scala a106379d96ab3cbdf54a9f162db44a6df177e733 
>   core/src/test/scala/unit/kafka/KafkaConfigTest.scala 4d36b8b1173f60d43463c13c9d8c1275a84c8c28 
>   core/src/test/scala/unit/kafka/admin/AddPartitionsTest.scala 8bc178505e00932a316c46ed1d904bd57b5b3f75 
>   core/src/test/scala/unit/kafka/api/RequestResponseSerializationTest.scala 4cb803f3e86dbc97f1749b2db9788fe9d376d49a 
>   core/src/test/scala/unit/kafka/cluster/BrokerTest.scala PRE-CREATION 
>   core/src/test/scala/unit/kafka/consumer/ConsumerIteratorTest.scala 995397ba2e2dfc6fadd9d5c5efd90f2c4ac0d59c 
>   core/src/test/scala/unit/kafka/integration/FetcherTest.scala 3093e459935ecf8e5b34fca34a422674562a7034 
>   core/src/test/scala/unit/kafka/integration/KafkaServerTestHarness.scala 062790f15d4ab6e0ee7a98bef12aaa2b22da3bfa 
>   core/src/test/scala/unit/kafka/integration/TopicMetadataTest.scala a671af4a87d5c2fb42ff48c553bca7cae6538231 
>   core/src/test/scala/unit/kafka/log/LogTest.scala 3c0599cc2ea12566fbec8233e3a73b31854b3b38 
>   core/src/test/scala/unit/kafka/network/SocketServerTest.scala 0af23abf146d99e3d6cf31e5d6b95a9e63318ddb 
>   core/src/test/scala/unit/kafka/producer/AsyncProducerTest.scala be90c5bc7f1f5ba8a237d1c7176f27029727c918 
>   core/src/test/scala/unit/kafka/producer/SyncProducerTest.scala 812df5989940095c1a347066136ab55153bdad21 
>   core/src/test/scala/unit/kafka/server/AdvertiseBrokerTest.scala 296e2b563041318d360db4037411879613a63968 
>   core/src/test/scala/unit/kafka/server/KafkaConfigConfigDefTest.scala 191251d1340b5e5b2d649b37af3c6c1896d07e6e 
>   core/src/test/scala/unit/kafka/server/KafkaConfigTest.scala 7f47e6f9a74314ed9e9f19d0c97931f3f2e49259 
>   core/src/test/scala/unit/kafka/server/LeaderElectionTest.scala f2528059dd86bb051d1ce9d72039cde3b78b8817 
>   core/src/test/scala/unit/kafka/server/LogOffsetTest.scala 8c9f9e748e888da6035755c9f4241ac3aa0500c9 
>   core/src/test/scala/unit/kafka/utils/TestUtils.scala 1682a77362123449de6bb1d54a55887409990a24 
>   system_test/replication_testsuite/testcase_0001/testcase_0001_properties.json 250ffe08ae4c2d35f7c79c883f47bbc27d5361b5 
>   system_test/replication_testsuite/testcase_0002/testcase_0002_properties.json 3f9e7d05db17e170aea4fee5a13ab5534dd5db2e 
>   system_test/replication_testsuite/testcase_0003/testcase_0003_properties.json b10c6266a786acf0c4b1accb63f9727486d09fd9 
>   system_test/replication_testsuite/testcase_0004/testcase_0004_properties.json 22c08023f3d9e7678fdb990518bdb7931b64b6ac 
>   system_test/replication_testsuite/testcase_0005/testcase_0005_properties.json 1317d8460f82c3ff09d5a13a1277d695ba71d6e7 
>   system_test/replication_testsuite/testcase_0006/testcase_0006_properties.json d31346506a19dd066519303a19a191f70599918d 
>   system_test/replication_testsuite/testcase_0007/testcase_0007_properties.json bd00f130d7fc69dc43cf088e298abc43e51bf765 
>   system_test/replication_testsuite/testcase_0008/testcase_0008_properties.json ac5c13b09a84f975e345b635cf44a76935251244 
>   system_test/replication_testsuite/testcase_0009/testcase_0009_properties.json 6dadd7a288664ebdc7d023c54d9cdb5a54d0c2e7 
>   system_test/replication_testsuite/testcase_0101/testcase_0101_properties.json 614cb1cf01d3c76d8a97c2b52fb52bd83ec80c4b 
>   system_test/replication_testsuite/testcase_0102/testcase_0102_properties.json fbf01772545f016c28448235a5859429a3a83780 
>   system_test/replication_testsuite/testcase_0103/testcase_0103_properties.json 317a6e3d3384009668e822e6c7e38b3fa34fcd6e 
>   system_test/replication_testsuite/testcase_0104/testcase_0104_properties.json d1a790b34fa5b42fe9fce2dabf6833048f9905ea 
>   system_test/replication_testsuite/testcase_0105/testcase_0105_properties.json 8f4f8bfac71463bbe52906ee7a127d8b0b5f48a3 
>   system_test/replication_testsuite/testcase_0106/testcase_0106_properties.json a307f855c944946724cf3a91a9c07cc7b57b71f6 
>   system_test/replication_testsuite/testcase_0107/testcase_0107_properties.json 827319eb6c6dbba0c8000b6e5e5a657a112deb21 
>   system_test/replication_testsuite/testcase_0108/testcase_0108_properties.json ae015cd0eb82b3d3f04e14c808b66dad702f7bf0 
>   system_test/replication_testsuite/testcase_0109/testcase_0109_properties.json 1951a1220956f931032e8fcd214784d76472054b 
>   system_test/replication_testsuite/testcase_1/testcase_1_properties.json 0c6d7a316cc6b51ac0755ca03558507db0706c31 
>   system_test/run_all.sh PRE-CREATION 
>   system_test/run_all_replica.sh PRE-CREATION 
>   system_test/utils/kafka_system_test_utils.py 41d511cbc310fa87e0f2cd2f772e479e8e3ae4e2 
> 
> Diff: https://reviews.apache.org/r/28769/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Gwen Shapira
> 
>


Re: Review Request 28769: Patch for KAFKA-1809

Posted by Gwen Shapira <gs...@cloudera.com>.

> On March 29, 2015, 7:33 p.m., Jun Rao wrote:
> > clients/src/main/java/org/apache/kafka/common/protocol/ApiVersion.java, line 28
> > <https://reviews.apache.org/r/28769/diff/21/?file=908349#file908349line28>
> >
> >     Since this is for intra-broker communication, should we move this class to core?
> 
> Gwen Shapira wrote:
>     Sure. At first I thought we'll need it when we move all requests/responses to o.a.k.common, but on second look, it doesn't seem like the requests/responses themselves need it.

This was a bigger change than I expected, since Scala's enums are very limited compared to Java.


> On March 29, 2015, 7:33 p.m., Jun Rao wrote:
> > core/src/test/scala/unit/kafka/cluster/BrokerTest.scala, line 115
> > <https://reviews.apache.org/r/28769/diff/21/?file=908400#file908400line115>
> >
> >     Is toString() customized on EndPoint or do you intend to use connectionString()? Also, if host is null, should we standardize the connection string to be PLAINTEXT://:9092?

Ah, yes, this is confusing - EndPoints have toString() and BrokerEndPoints have connectionString(). For BrokerEndPoint, connectionString() makes more sense. a "natural" toString() would contain brokerId too. For consistency, I'd swap EndPoint to use connectionString() as well.

Regarding "null", I agree that its better to be consistent and not print "null" anywhere. BrokerEndPoint should never have null anyway (since it represents an actual network connection, not a listner), but we need to handle this in EndPoint.


> On March 29, 2015, 7:33 p.m., Jun Rao wrote:
> > core/src/main/scala/kafka/server/KafkaConfig.scala, lines 822-829
> > <https://reviews.apache.org/r/28769/diff/21/?file=908381#file908381line822>
> >
> >     Do we default to PLAINTEXT://null:6667 or PLAINTEXT://:9092? Do we have to explicitly deal with hostName being null?

Fixed the doc. We don't need to deal with null here - host.name defaults to "", which is the right thing.
We actually test for this (KafkaConfigTest.scala line 163)


> On March 29, 2015, 7:33 p.m., Jun Rao wrote:
> > core/src/main/scala/kafka/server/KafkaConfig.scala, line 840
> > <https://reviews.apache.org/r/28769/diff/21/?file=908381#file908381line840>
> >
> >     Similar comment as the above, do we need to handle a null adverisedHostName explicitly?

It will default to hostname.


- Gwen


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


On March 27, 2015, 10:04 p.m., Gwen Shapira wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/28769/
> -----------------------------------------------------------
> 
> (Updated March 27, 2015, 10:04 p.m.)
> 
> 
> Review request for kafka.
> 
> 
> Bugs: KAFKA-1809
>     https://issues.apache.org/jira/browse/KAFKA-1809
> 
> 
> Repository: kafka
> 
> 
> Description
> -------
> 
> forgot rest of patch
> 
> 
> merge with trunk
> 
> 
> Diffs
> -----
> 
>   clients/src/main/java/org/apache/kafka/clients/producer/ProducerConfig.java fa9daaef66ff7961e1c46cd0cd8fed18a53bccd8 
>   clients/src/main/java/org/apache/kafka/common/protocol/ApiVersion.java PRE-CREATION 
>   clients/src/main/java/org/apache/kafka/common/protocol/SecurityProtocol.java PRE-CREATION 
>   clients/src/main/java/org/apache/kafka/common/utils/Utils.java 920b51a6c3c99639fbc9dc065637eeee3c19fabd 
>   clients/src/test/java/org/apache/kafka/common/utils/UtilsTest.java c899813d55b9c4786adde3d840f040d6645d27c8 
>   config/server.properties 1614260b71a658b405bb24157c8f12b1f1031aa5 
>   core/src/main/scala/kafka/admin/AdminUtils.scala b700110f2d7f1ede235af55d8e37e1b5592c6c7d 
>   core/src/main/scala/kafka/admin/TopicCommand.scala f400b71f8444fffd3fc1d8398a283682390eba4e 
>   core/src/main/scala/kafka/api/ConsumerMetadataResponse.scala 24aaf954dc42e2084454fa5fc9e8f388ea95c756 
>   core/src/main/scala/kafka/api/LeaderAndIsrRequest.scala 4ff7e8f8cc695551dd5d2fe65c74f6b6c571e340 
>   core/src/main/scala/kafka/api/TopicMetadata.scala 0190076df0adf906ecd332284f222ff974b315fc 
>   core/src/main/scala/kafka/api/TopicMetadataResponse.scala 92ac4e687be22e4800199c0666bfac5e0059e5bb 
>   core/src/main/scala/kafka/api/UpdateMetadataRequest.scala 530982e36b17934b8cc5fb668075a5342e142c59 
>   core/src/main/scala/kafka/client/ClientUtils.scala ebba87f0566684c796c26cb76c64b4640a5ccfde 
>   core/src/main/scala/kafka/cluster/Broker.scala 0060add008bb3bc4b0092f2173c469fce0120be6 
>   core/src/main/scala/kafka/cluster/BrokerEndPoint.scala PRE-CREATION 
>   core/src/main/scala/kafka/cluster/EndPoint.scala PRE-CREATION 
>   core/src/main/scala/kafka/cluster/SecurityProtocol.scala PRE-CREATION 
>   core/src/main/scala/kafka/common/BrokerEndPointNotAvailableException.scala PRE-CREATION 
>   core/src/main/scala/kafka/consumer/ConsumerConfig.scala 9ebbee6c16dc83767297c729d2d74ebbd063a993 
>   core/src/main/scala/kafka/consumer/ConsumerFetcherManager.scala b9e2bea7b442a19bcebd1b350d39541a8c9dd068 
>   core/src/main/scala/kafka/consumer/ConsumerFetcherThread.scala 152fda5d1dcdf319399fdeeb8457006090ebe56c 
>   core/src/main/scala/kafka/consumer/ZookeeperConsumerConnector.scala b1cf0db8741e384e4e4119751058ea87b2589e57 
>   core/src/main/scala/kafka/controller/ControllerChannelManager.scala c582191636f6188c25d62a67ff0315b56f163133 
>   core/src/main/scala/kafka/controller/KafkaController.scala 09fc46d759b74bcdad2d2a610d9c5a93ff02423f 
>   core/src/main/scala/kafka/javaapi/ConsumerMetadataResponse.scala d281bb31a66fd749ecddfbe38479b6903f436831 
>   core/src/main/scala/kafka/javaapi/TopicMetadata.scala f384e04678df10a5b46a439f475c63371bf8e32b 
>   core/src/main/scala/kafka/network/RequestChannel.scala 7b1db3dbbb2c0676f166890f566c14aa248467ab 
>   core/src/main/scala/kafka/network/SocketServer.scala 76ce41aed6e04ac5ba88395c4d5008aca17f9a73 
>   core/src/main/scala/kafka/producer/ProducerPool.scala 43df70bb461dd3e385e6b20396adef3c4016a3fc 
>   core/src/main/scala/kafka/server/AbstractFetcherManager.scala 20c00cb8cc2351950edbc8cb1752905a0c26e79f 
>   core/src/main/scala/kafka/server/AbstractFetcherThread.scala 5d5cf5897cc37b3595f14bfe9d7cde43456bcc4b 
>   core/src/main/scala/kafka/server/KafkaApis.scala c33e848256be6159a148319bf74bf1590f27cc06 
>   core/src/main/scala/kafka/server/KafkaConfig.scala 422451aec5ea0442eb2e4c1ae772885b813904a9 
>   core/src/main/scala/kafka/server/KafkaHealthcheck.scala 7907987e43404487382de7f4cc294f0d01ac15a7 
>   core/src/main/scala/kafka/server/KafkaServer.scala 4db3384545be8c237d6fc9646716ab67d5193ec5 
>   core/src/main/scala/kafka/server/MetadataCache.scala 6aef6e4508ecadbbcc1e12bed2054547b7aa333e 
>   core/src/main/scala/kafka/server/ReplicaFetcherManager.scala 351dbbad3bdb709937943b336a5b0a9e0162a5e2 
>   core/src/main/scala/kafka/server/ReplicaFetcherThread.scala 96faa7b4ed7c9ba8a3f6f9f114bd94e19b3a7ac0 
>   core/src/main/scala/kafka/server/ReplicaManager.scala 44f0026e6676d8d764dd59dbcc6bb7bb727a3ba6 
>   core/src/main/scala/kafka/tools/ConsumerOffsetChecker.scala d1e7c434e77859d746b8dc68dd5d5a3740425e79 
>   core/src/main/scala/kafka/tools/ReplicaVerificationTool.scala ba6ddd7a909df79a0f7d45e8b4a2af94ea0fceb6 
>   core/src/main/scala/kafka/tools/SimpleConsumerShell.scala b4f903b6c7c3bb725cac7c05eb1f885906413c4d 
>   core/src/main/scala/kafka/tools/UpdateOffsetsInZK.scala 111c9a8b94ce45d95551482e9fd3f8c1cccbf548 
>   core/src/main/scala/kafka/utils/Utils.scala 738c1af9ef5de16fdf5130daab69757a14c48b5c 
>   core/src/main/scala/kafka/utils/ZkUtils.scala 7ae999ec619443d35a9cb8fbcd531fca0c51c8c0 
>   core/src/test/scala/integration/kafka/api/ProducerFailureHandlingTest.scala 7eb6d05b66b16f8b0ab64eb43dcc1a25168fa5be 
>   core/src/test/scala/integration/kafka/api/ProducerSendTest.scala 3df450784592b894008e7507b2737f9bb07f7bd2 
>   core/src/test/scala/other/kafka/TestOffsetManager.scala a106379d96ab3cbdf54a9f162db44a6df177e733 
>   core/src/test/scala/unit/kafka/KafkaConfigTest.scala 4d36b8b1173f60d43463c13c9d8c1275a84c8c28 
>   core/src/test/scala/unit/kafka/admin/AddPartitionsTest.scala 8bc178505e00932a316c46ed1d904bd57b5b3f75 
>   core/src/test/scala/unit/kafka/api/RequestResponseSerializationTest.scala 4cb803f3e86dbc97f1749b2db9788fe9d376d49a 
>   core/src/test/scala/unit/kafka/cluster/BrokerTest.scala PRE-CREATION 
>   core/src/test/scala/unit/kafka/consumer/ConsumerIteratorTest.scala 995397ba2e2dfc6fadd9d5c5efd90f2c4ac0d59c 
>   core/src/test/scala/unit/kafka/integration/FetcherTest.scala 3093e459935ecf8e5b34fca34a422674562a7034 
>   core/src/test/scala/unit/kafka/integration/KafkaServerTestHarness.scala 062790f15d4ab6e0ee7a98bef12aaa2b22da3bfa 
>   core/src/test/scala/unit/kafka/integration/TopicMetadataTest.scala a671af4a87d5c2fb42ff48c553bca7cae6538231 
>   core/src/test/scala/unit/kafka/log/LogTest.scala 3c0599cc2ea12566fbec8233e3a73b31854b3b38 
>   core/src/test/scala/unit/kafka/network/SocketServerTest.scala 0af23abf146d99e3d6cf31e5d6b95a9e63318ddb 
>   core/src/test/scala/unit/kafka/producer/AsyncProducerTest.scala be90c5bc7f1f5ba8a237d1c7176f27029727c918 
>   core/src/test/scala/unit/kafka/producer/SyncProducerTest.scala 812df5989940095c1a347066136ab55153bdad21 
>   core/src/test/scala/unit/kafka/server/AdvertiseBrokerTest.scala 296e2b563041318d360db4037411879613a63968 
>   core/src/test/scala/unit/kafka/server/KafkaConfigConfigDefTest.scala 191251d1340b5e5b2d649b37af3c6c1896d07e6e 
>   core/src/test/scala/unit/kafka/server/KafkaConfigTest.scala 7f47e6f9a74314ed9e9f19d0c97931f3f2e49259 
>   core/src/test/scala/unit/kafka/server/LeaderElectionTest.scala f2528059dd86bb051d1ce9d72039cde3b78b8817 
>   core/src/test/scala/unit/kafka/server/LogOffsetTest.scala 8c9f9e748e888da6035755c9f4241ac3aa0500c9 
>   core/src/test/scala/unit/kafka/utils/TestUtils.scala 1682a77362123449de6bb1d54a55887409990a24 
>   system_test/replication_testsuite/testcase_0001/testcase_0001_properties.json 250ffe08ae4c2d35f7c79c883f47bbc27d5361b5 
>   system_test/replication_testsuite/testcase_0002/testcase_0002_properties.json 3f9e7d05db17e170aea4fee5a13ab5534dd5db2e 
>   system_test/replication_testsuite/testcase_0003/testcase_0003_properties.json b10c6266a786acf0c4b1accb63f9727486d09fd9 
>   system_test/replication_testsuite/testcase_0004/testcase_0004_properties.json 22c08023f3d9e7678fdb990518bdb7931b64b6ac 
>   system_test/replication_testsuite/testcase_0005/testcase_0005_properties.json 1317d8460f82c3ff09d5a13a1277d695ba71d6e7 
>   system_test/replication_testsuite/testcase_0006/testcase_0006_properties.json d31346506a19dd066519303a19a191f70599918d 
>   system_test/replication_testsuite/testcase_0007/testcase_0007_properties.json bd00f130d7fc69dc43cf088e298abc43e51bf765 
>   system_test/replication_testsuite/testcase_0008/testcase_0008_properties.json ac5c13b09a84f975e345b635cf44a76935251244 
>   system_test/replication_testsuite/testcase_0009/testcase_0009_properties.json 6dadd7a288664ebdc7d023c54d9cdb5a54d0c2e7 
>   system_test/replication_testsuite/testcase_0101/testcase_0101_properties.json 614cb1cf01d3c76d8a97c2b52fb52bd83ec80c4b 
>   system_test/replication_testsuite/testcase_0102/testcase_0102_properties.json fbf01772545f016c28448235a5859429a3a83780 
>   system_test/replication_testsuite/testcase_0103/testcase_0103_properties.json 317a6e3d3384009668e822e6c7e38b3fa34fcd6e 
>   system_test/replication_testsuite/testcase_0104/testcase_0104_properties.json d1a790b34fa5b42fe9fce2dabf6833048f9905ea 
>   system_test/replication_testsuite/testcase_0105/testcase_0105_properties.json 8f4f8bfac71463bbe52906ee7a127d8b0b5f48a3 
>   system_test/replication_testsuite/testcase_0106/testcase_0106_properties.json a307f855c944946724cf3a91a9c07cc7b57b71f6 
>   system_test/replication_testsuite/testcase_0107/testcase_0107_properties.json 827319eb6c6dbba0c8000b6e5e5a657a112deb21 
>   system_test/replication_testsuite/testcase_0108/testcase_0108_properties.json ae015cd0eb82b3d3f04e14c808b66dad702f7bf0 
>   system_test/replication_testsuite/testcase_0109/testcase_0109_properties.json 1951a1220956f931032e8fcd214784d76472054b 
>   system_test/replication_testsuite/testcase_1/testcase_1_properties.json 0c6d7a316cc6b51ac0755ca03558507db0706c31 
>   system_test/run_all.sh PRE-CREATION 
>   system_test/run_all_replica.sh PRE-CREATION 
>   system_test/utils/kafka_system_test_utils.py 41d511cbc310fa87e0f2cd2f772e479e8e3ae4e2 
> 
> Diff: https://reviews.apache.org/r/28769/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Gwen Shapira
> 
>


Re: Review Request 28769: Patch for KAFKA-1809

Posted by Jun Rao <ju...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/28769/#review78160
-----------------------------------------------------------


Thanks for the latest patch. A few more comments below.


clients/src/main/java/org/apache/kafka/common/protocol/ApiVersion.java
<https://reviews.apache.org/r/28769/#comment126648>

    Since this is for intra-broker communication, should we move this class to core?



core/src/main/scala/kafka/network/SocketServer.scala
<https://reviews.apache.org/r/28769/#comment126654>

    Could we only import this in the context where implicit is actually used?



core/src/main/scala/kafka/network/SocketServer.scala
<https://reviews.apache.org/r/28769/#comment126655>

    For consistency, let's leave a space after comma. There are probably a few other places that need to be changed.



core/src/main/scala/kafka/server/KafkaConfig.scala
<https://reviews.apache.org/r/28769/#comment126656>

    Could that just be intra.broker.protocol.version?



core/src/main/scala/kafka/server/KafkaConfig.scala
<https://reviews.apache.org/r/28769/#comment126657>

    It seems that a 3-digit value like 0.8.2 is also valid?



core/src/main/scala/kafka/server/KafkaConfig.scala
<https://reviews.apache.org/r/28769/#comment126658>

    Could this be private?



core/src/main/scala/kafka/server/KafkaConfig.scala
<https://reviews.apache.org/r/28769/#comment126659>

    Do we default to PLAINTEXT://null:6667 or PLAINTEXT://:9092? Do we have to explicitly deal with hostName being null?



core/src/main/scala/kafka/server/KafkaConfig.scala
<https://reviews.apache.org/r/28769/#comment126660>

    Similar comment as the above, do we need to handle a null adverisedHostName explicitly?



core/src/main/scala/kafka/server/MetadataCache.scala
<https://reviews.apache.org/r/28769/#comment126661>

    Identation needs to be 2 spaces.



core/src/main/scala/kafka/utils/Utils.scala
<https://reviews.apache.org/r/28769/#comment126662>

    Should we just return scala.collection.Map?



core/src/test/scala/unit/kafka/cluster/BrokerTest.scala
<https://reviews.apache.org/r/28769/#comment126663>

    Is this necessary given the above tests on equal and hashCode?



core/src/test/scala/unit/kafka/cluster/BrokerTest.scala
<https://reviews.apache.org/r/28769/#comment126664>

    Is toString() customized on EndPoint or do you intend to use connectionString()? Also, if host is null, should we standardize the connection string to be PLAINTEXT://:9092?



core/src/test/scala/unit/kafka/network/SocketServerTest.scala
<https://reviews.apache.org/r/28769/#comment126665>

    Could we import the implicit only in the context where it's used?



core/src/test/scala/unit/kafka/producer/SyncProducerTest.scala
<https://reviews.apache.org/r/28769/#comment126666>

    This can just be endpoints(SecurityProtocol.PLAINTEXT).port.



core/src/test/scala/unit/kafka/producer/SyncProducerTest.scala
<https://reviews.apache.org/r/28769/#comment126667>

    Ditto as the above.



core/src/test/scala/unit/kafka/producer/SyncProducerTest.scala
<https://reviews.apache.org/r/28769/#comment126669>

    Ditto as the above.



core/src/test/scala/unit/kafka/producer/SyncProducerTest.scala
<https://reviews.apache.org/r/28769/#comment126670>

    Ditto as the above.



system_test/run_all.sh
<https://reviews.apache.org/r/28769/#comment126672>

    Would it be better to just have testcase_to_run.json be testcase_to_run_all.json? Also, could we change README accordingly?


- Jun Rao


On March 27, 2015, 10:04 p.m., Gwen Shapira wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/28769/
> -----------------------------------------------------------
> 
> (Updated March 27, 2015, 10:04 p.m.)
> 
> 
> Review request for kafka.
> 
> 
> Bugs: KAFKA-1809
>     https://issues.apache.org/jira/browse/KAFKA-1809
> 
> 
> Repository: kafka
> 
> 
> Description
> -------
> 
> forgot rest of patch
> 
> 
> merge with trunk
> 
> 
> Diffs
> -----
> 
>   clients/src/main/java/org/apache/kafka/clients/producer/ProducerConfig.java fa9daaef66ff7961e1c46cd0cd8fed18a53bccd8 
>   clients/src/main/java/org/apache/kafka/common/protocol/ApiVersion.java PRE-CREATION 
>   clients/src/main/java/org/apache/kafka/common/protocol/SecurityProtocol.java PRE-CREATION 
>   clients/src/main/java/org/apache/kafka/common/utils/Utils.java 920b51a6c3c99639fbc9dc065637eeee3c19fabd 
>   clients/src/test/java/org/apache/kafka/common/utils/UtilsTest.java c899813d55b9c4786adde3d840f040d6645d27c8 
>   config/server.properties 1614260b71a658b405bb24157c8f12b1f1031aa5 
>   core/src/main/scala/kafka/admin/AdminUtils.scala b700110f2d7f1ede235af55d8e37e1b5592c6c7d 
>   core/src/main/scala/kafka/admin/TopicCommand.scala f400b71f8444fffd3fc1d8398a283682390eba4e 
>   core/src/main/scala/kafka/api/ConsumerMetadataResponse.scala 24aaf954dc42e2084454fa5fc9e8f388ea95c756 
>   core/src/main/scala/kafka/api/LeaderAndIsrRequest.scala 4ff7e8f8cc695551dd5d2fe65c74f6b6c571e340 
>   core/src/main/scala/kafka/api/TopicMetadata.scala 0190076df0adf906ecd332284f222ff974b315fc 
>   core/src/main/scala/kafka/api/TopicMetadataResponse.scala 92ac4e687be22e4800199c0666bfac5e0059e5bb 
>   core/src/main/scala/kafka/api/UpdateMetadataRequest.scala 530982e36b17934b8cc5fb668075a5342e142c59 
>   core/src/main/scala/kafka/client/ClientUtils.scala ebba87f0566684c796c26cb76c64b4640a5ccfde 
>   core/src/main/scala/kafka/cluster/Broker.scala 0060add008bb3bc4b0092f2173c469fce0120be6 
>   core/src/main/scala/kafka/cluster/BrokerEndPoint.scala PRE-CREATION 
>   core/src/main/scala/kafka/cluster/EndPoint.scala PRE-CREATION 
>   core/src/main/scala/kafka/cluster/SecurityProtocol.scala PRE-CREATION 
>   core/src/main/scala/kafka/common/BrokerEndPointNotAvailableException.scala PRE-CREATION 
>   core/src/main/scala/kafka/consumer/ConsumerConfig.scala 9ebbee6c16dc83767297c729d2d74ebbd063a993 
>   core/src/main/scala/kafka/consumer/ConsumerFetcherManager.scala b9e2bea7b442a19bcebd1b350d39541a8c9dd068 
>   core/src/main/scala/kafka/consumer/ConsumerFetcherThread.scala 152fda5d1dcdf319399fdeeb8457006090ebe56c 
>   core/src/main/scala/kafka/consumer/ZookeeperConsumerConnector.scala b1cf0db8741e384e4e4119751058ea87b2589e57 
>   core/src/main/scala/kafka/controller/ControllerChannelManager.scala c582191636f6188c25d62a67ff0315b56f163133 
>   core/src/main/scala/kafka/controller/KafkaController.scala 09fc46d759b74bcdad2d2a610d9c5a93ff02423f 
>   core/src/main/scala/kafka/javaapi/ConsumerMetadataResponse.scala d281bb31a66fd749ecddfbe38479b6903f436831 
>   core/src/main/scala/kafka/javaapi/TopicMetadata.scala f384e04678df10a5b46a439f475c63371bf8e32b 
>   core/src/main/scala/kafka/network/RequestChannel.scala 7b1db3dbbb2c0676f166890f566c14aa248467ab 
>   core/src/main/scala/kafka/network/SocketServer.scala 76ce41aed6e04ac5ba88395c4d5008aca17f9a73 
>   core/src/main/scala/kafka/producer/ProducerPool.scala 43df70bb461dd3e385e6b20396adef3c4016a3fc 
>   core/src/main/scala/kafka/server/AbstractFetcherManager.scala 20c00cb8cc2351950edbc8cb1752905a0c26e79f 
>   core/src/main/scala/kafka/server/AbstractFetcherThread.scala 5d5cf5897cc37b3595f14bfe9d7cde43456bcc4b 
>   core/src/main/scala/kafka/server/KafkaApis.scala c33e848256be6159a148319bf74bf1590f27cc06 
>   core/src/main/scala/kafka/server/KafkaConfig.scala 422451aec5ea0442eb2e4c1ae772885b813904a9 
>   core/src/main/scala/kafka/server/KafkaHealthcheck.scala 7907987e43404487382de7f4cc294f0d01ac15a7 
>   core/src/main/scala/kafka/server/KafkaServer.scala 4db3384545be8c237d6fc9646716ab67d5193ec5 
>   core/src/main/scala/kafka/server/MetadataCache.scala 6aef6e4508ecadbbcc1e12bed2054547b7aa333e 
>   core/src/main/scala/kafka/server/ReplicaFetcherManager.scala 351dbbad3bdb709937943b336a5b0a9e0162a5e2 
>   core/src/main/scala/kafka/server/ReplicaFetcherThread.scala 96faa7b4ed7c9ba8a3f6f9f114bd94e19b3a7ac0 
>   core/src/main/scala/kafka/server/ReplicaManager.scala 44f0026e6676d8d764dd59dbcc6bb7bb727a3ba6 
>   core/src/main/scala/kafka/tools/ConsumerOffsetChecker.scala d1e7c434e77859d746b8dc68dd5d5a3740425e79 
>   core/src/main/scala/kafka/tools/ReplicaVerificationTool.scala ba6ddd7a909df79a0f7d45e8b4a2af94ea0fceb6 
>   core/src/main/scala/kafka/tools/SimpleConsumerShell.scala b4f903b6c7c3bb725cac7c05eb1f885906413c4d 
>   core/src/main/scala/kafka/tools/UpdateOffsetsInZK.scala 111c9a8b94ce45d95551482e9fd3f8c1cccbf548 
>   core/src/main/scala/kafka/utils/Utils.scala 738c1af9ef5de16fdf5130daab69757a14c48b5c 
>   core/src/main/scala/kafka/utils/ZkUtils.scala 7ae999ec619443d35a9cb8fbcd531fca0c51c8c0 
>   core/src/test/scala/integration/kafka/api/ProducerFailureHandlingTest.scala 7eb6d05b66b16f8b0ab64eb43dcc1a25168fa5be 
>   core/src/test/scala/integration/kafka/api/ProducerSendTest.scala 3df450784592b894008e7507b2737f9bb07f7bd2 
>   core/src/test/scala/other/kafka/TestOffsetManager.scala a106379d96ab3cbdf54a9f162db44a6df177e733 
>   core/src/test/scala/unit/kafka/KafkaConfigTest.scala 4d36b8b1173f60d43463c13c9d8c1275a84c8c28 
>   core/src/test/scala/unit/kafka/admin/AddPartitionsTest.scala 8bc178505e00932a316c46ed1d904bd57b5b3f75 
>   core/src/test/scala/unit/kafka/api/RequestResponseSerializationTest.scala 4cb803f3e86dbc97f1749b2db9788fe9d376d49a 
>   core/src/test/scala/unit/kafka/cluster/BrokerTest.scala PRE-CREATION 
>   core/src/test/scala/unit/kafka/consumer/ConsumerIteratorTest.scala 995397ba2e2dfc6fadd9d5c5efd90f2c4ac0d59c 
>   core/src/test/scala/unit/kafka/integration/FetcherTest.scala 3093e459935ecf8e5b34fca34a422674562a7034 
>   core/src/test/scala/unit/kafka/integration/KafkaServerTestHarness.scala 062790f15d4ab6e0ee7a98bef12aaa2b22da3bfa 
>   core/src/test/scala/unit/kafka/integration/TopicMetadataTest.scala a671af4a87d5c2fb42ff48c553bca7cae6538231 
>   core/src/test/scala/unit/kafka/log/LogTest.scala 3c0599cc2ea12566fbec8233e3a73b31854b3b38 
>   core/src/test/scala/unit/kafka/network/SocketServerTest.scala 0af23abf146d99e3d6cf31e5d6b95a9e63318ddb 
>   core/src/test/scala/unit/kafka/producer/AsyncProducerTest.scala be90c5bc7f1f5ba8a237d1c7176f27029727c918 
>   core/src/test/scala/unit/kafka/producer/SyncProducerTest.scala 812df5989940095c1a347066136ab55153bdad21 
>   core/src/test/scala/unit/kafka/server/AdvertiseBrokerTest.scala 296e2b563041318d360db4037411879613a63968 
>   core/src/test/scala/unit/kafka/server/KafkaConfigConfigDefTest.scala 191251d1340b5e5b2d649b37af3c6c1896d07e6e 
>   core/src/test/scala/unit/kafka/server/KafkaConfigTest.scala 7f47e6f9a74314ed9e9f19d0c97931f3f2e49259 
>   core/src/test/scala/unit/kafka/server/LeaderElectionTest.scala f2528059dd86bb051d1ce9d72039cde3b78b8817 
>   core/src/test/scala/unit/kafka/server/LogOffsetTest.scala 8c9f9e748e888da6035755c9f4241ac3aa0500c9 
>   core/src/test/scala/unit/kafka/utils/TestUtils.scala 1682a77362123449de6bb1d54a55887409990a24 
>   system_test/replication_testsuite/testcase_0001/testcase_0001_properties.json 250ffe08ae4c2d35f7c79c883f47bbc27d5361b5 
>   system_test/replication_testsuite/testcase_0002/testcase_0002_properties.json 3f9e7d05db17e170aea4fee5a13ab5534dd5db2e 
>   system_test/replication_testsuite/testcase_0003/testcase_0003_properties.json b10c6266a786acf0c4b1accb63f9727486d09fd9 
>   system_test/replication_testsuite/testcase_0004/testcase_0004_properties.json 22c08023f3d9e7678fdb990518bdb7931b64b6ac 
>   system_test/replication_testsuite/testcase_0005/testcase_0005_properties.json 1317d8460f82c3ff09d5a13a1277d695ba71d6e7 
>   system_test/replication_testsuite/testcase_0006/testcase_0006_properties.json d31346506a19dd066519303a19a191f70599918d 
>   system_test/replication_testsuite/testcase_0007/testcase_0007_properties.json bd00f130d7fc69dc43cf088e298abc43e51bf765 
>   system_test/replication_testsuite/testcase_0008/testcase_0008_properties.json ac5c13b09a84f975e345b635cf44a76935251244 
>   system_test/replication_testsuite/testcase_0009/testcase_0009_properties.json 6dadd7a288664ebdc7d023c54d9cdb5a54d0c2e7 
>   system_test/replication_testsuite/testcase_0101/testcase_0101_properties.json 614cb1cf01d3c76d8a97c2b52fb52bd83ec80c4b 
>   system_test/replication_testsuite/testcase_0102/testcase_0102_properties.json fbf01772545f016c28448235a5859429a3a83780 
>   system_test/replication_testsuite/testcase_0103/testcase_0103_properties.json 317a6e3d3384009668e822e6c7e38b3fa34fcd6e 
>   system_test/replication_testsuite/testcase_0104/testcase_0104_properties.json d1a790b34fa5b42fe9fce2dabf6833048f9905ea 
>   system_test/replication_testsuite/testcase_0105/testcase_0105_properties.json 8f4f8bfac71463bbe52906ee7a127d8b0b5f48a3 
>   system_test/replication_testsuite/testcase_0106/testcase_0106_properties.json a307f855c944946724cf3a91a9c07cc7b57b71f6 
>   system_test/replication_testsuite/testcase_0107/testcase_0107_properties.json 827319eb6c6dbba0c8000b6e5e5a657a112deb21 
>   system_test/replication_testsuite/testcase_0108/testcase_0108_properties.json ae015cd0eb82b3d3f04e14c808b66dad702f7bf0 
>   system_test/replication_testsuite/testcase_0109/testcase_0109_properties.json 1951a1220956f931032e8fcd214784d76472054b 
>   system_test/replication_testsuite/testcase_1/testcase_1_properties.json 0c6d7a316cc6b51ac0755ca03558507db0706c31 
>   system_test/run_all.sh PRE-CREATION 
>   system_test/run_all_replica.sh PRE-CREATION 
>   system_test/utils/kafka_system_test_utils.py 41d511cbc310fa87e0f2cd2f772e479e8e3ae4e2 
> 
> Diff: https://reviews.apache.org/r/28769/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Gwen Shapira
> 
>


Re: Review Request 28769: Patch for KAFKA-1809

Posted by Gwen Shapira <gs...@cloudera.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/28769/
-----------------------------------------------------------

(Updated March 27, 2015, 10:04 p.m.)


Review request for kafka.


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


Repository: kafka


Description (updated)
-------

forgot rest of patch


merge with trunk


Diffs (updated)
-----

  clients/src/main/java/org/apache/kafka/clients/producer/ProducerConfig.java fa9daaef66ff7961e1c46cd0cd8fed18a53bccd8 
  clients/src/main/java/org/apache/kafka/common/protocol/ApiVersion.java PRE-CREATION 
  clients/src/main/java/org/apache/kafka/common/protocol/SecurityProtocol.java PRE-CREATION 
  clients/src/main/java/org/apache/kafka/common/utils/Utils.java 920b51a6c3c99639fbc9dc065637eeee3c19fabd 
  clients/src/test/java/org/apache/kafka/common/utils/UtilsTest.java c899813d55b9c4786adde3d840f040d6645d27c8 
  config/server.properties 1614260b71a658b405bb24157c8f12b1f1031aa5 
  core/src/main/scala/kafka/admin/AdminUtils.scala b700110f2d7f1ede235af55d8e37e1b5592c6c7d 
  core/src/main/scala/kafka/admin/TopicCommand.scala f400b71f8444fffd3fc1d8398a283682390eba4e 
  core/src/main/scala/kafka/api/ConsumerMetadataResponse.scala 24aaf954dc42e2084454fa5fc9e8f388ea95c756 
  core/src/main/scala/kafka/api/LeaderAndIsrRequest.scala 4ff7e8f8cc695551dd5d2fe65c74f6b6c571e340 
  core/src/main/scala/kafka/api/TopicMetadata.scala 0190076df0adf906ecd332284f222ff974b315fc 
  core/src/main/scala/kafka/api/TopicMetadataResponse.scala 92ac4e687be22e4800199c0666bfac5e0059e5bb 
  core/src/main/scala/kafka/api/UpdateMetadataRequest.scala 530982e36b17934b8cc5fb668075a5342e142c59 
  core/src/main/scala/kafka/client/ClientUtils.scala ebba87f0566684c796c26cb76c64b4640a5ccfde 
  core/src/main/scala/kafka/cluster/Broker.scala 0060add008bb3bc4b0092f2173c469fce0120be6 
  core/src/main/scala/kafka/cluster/BrokerEndPoint.scala PRE-CREATION 
  core/src/main/scala/kafka/cluster/EndPoint.scala PRE-CREATION 
  core/src/main/scala/kafka/cluster/SecurityProtocol.scala PRE-CREATION 
  core/src/main/scala/kafka/common/BrokerEndPointNotAvailableException.scala PRE-CREATION 
  core/src/main/scala/kafka/consumer/ConsumerConfig.scala 9ebbee6c16dc83767297c729d2d74ebbd063a993 
  core/src/main/scala/kafka/consumer/ConsumerFetcherManager.scala b9e2bea7b442a19bcebd1b350d39541a8c9dd068 
  core/src/main/scala/kafka/consumer/ConsumerFetcherThread.scala 152fda5d1dcdf319399fdeeb8457006090ebe56c 
  core/src/main/scala/kafka/consumer/ZookeeperConsumerConnector.scala b1cf0db8741e384e4e4119751058ea87b2589e57 
  core/src/main/scala/kafka/controller/ControllerChannelManager.scala c582191636f6188c25d62a67ff0315b56f163133 
  core/src/main/scala/kafka/controller/KafkaController.scala 09fc46d759b74bcdad2d2a610d9c5a93ff02423f 
  core/src/main/scala/kafka/javaapi/ConsumerMetadataResponse.scala d281bb31a66fd749ecddfbe38479b6903f436831 
  core/src/main/scala/kafka/javaapi/TopicMetadata.scala f384e04678df10a5b46a439f475c63371bf8e32b 
  core/src/main/scala/kafka/network/RequestChannel.scala 7b1db3dbbb2c0676f166890f566c14aa248467ab 
  core/src/main/scala/kafka/network/SocketServer.scala 76ce41aed6e04ac5ba88395c4d5008aca17f9a73 
  core/src/main/scala/kafka/producer/ProducerPool.scala 43df70bb461dd3e385e6b20396adef3c4016a3fc 
  core/src/main/scala/kafka/server/AbstractFetcherManager.scala 20c00cb8cc2351950edbc8cb1752905a0c26e79f 
  core/src/main/scala/kafka/server/AbstractFetcherThread.scala 5d5cf5897cc37b3595f14bfe9d7cde43456bcc4b 
  core/src/main/scala/kafka/server/KafkaApis.scala c33e848256be6159a148319bf74bf1590f27cc06 
  core/src/main/scala/kafka/server/KafkaConfig.scala 422451aec5ea0442eb2e4c1ae772885b813904a9 
  core/src/main/scala/kafka/server/KafkaHealthcheck.scala 7907987e43404487382de7f4cc294f0d01ac15a7 
  core/src/main/scala/kafka/server/KafkaServer.scala 4db3384545be8c237d6fc9646716ab67d5193ec5 
  core/src/main/scala/kafka/server/MetadataCache.scala 6aef6e4508ecadbbcc1e12bed2054547b7aa333e 
  core/src/main/scala/kafka/server/ReplicaFetcherManager.scala 351dbbad3bdb709937943b336a5b0a9e0162a5e2 
  core/src/main/scala/kafka/server/ReplicaFetcherThread.scala 96faa7b4ed7c9ba8a3f6f9f114bd94e19b3a7ac0 
  core/src/main/scala/kafka/server/ReplicaManager.scala 44f0026e6676d8d764dd59dbcc6bb7bb727a3ba6 
  core/src/main/scala/kafka/tools/ConsumerOffsetChecker.scala d1e7c434e77859d746b8dc68dd5d5a3740425e79 
  core/src/main/scala/kafka/tools/ReplicaVerificationTool.scala ba6ddd7a909df79a0f7d45e8b4a2af94ea0fceb6 
  core/src/main/scala/kafka/tools/SimpleConsumerShell.scala b4f903b6c7c3bb725cac7c05eb1f885906413c4d 
  core/src/main/scala/kafka/tools/UpdateOffsetsInZK.scala 111c9a8b94ce45d95551482e9fd3f8c1cccbf548 
  core/src/main/scala/kafka/utils/Utils.scala 738c1af9ef5de16fdf5130daab69757a14c48b5c 
  core/src/main/scala/kafka/utils/ZkUtils.scala 7ae999ec619443d35a9cb8fbcd531fca0c51c8c0 
  core/src/test/scala/integration/kafka/api/ProducerFailureHandlingTest.scala 7eb6d05b66b16f8b0ab64eb43dcc1a25168fa5be 
  core/src/test/scala/integration/kafka/api/ProducerSendTest.scala 3df450784592b894008e7507b2737f9bb07f7bd2 
  core/src/test/scala/other/kafka/TestOffsetManager.scala a106379d96ab3cbdf54a9f162db44a6df177e733 
  core/src/test/scala/unit/kafka/KafkaConfigTest.scala 4d36b8b1173f60d43463c13c9d8c1275a84c8c28 
  core/src/test/scala/unit/kafka/admin/AddPartitionsTest.scala 8bc178505e00932a316c46ed1d904bd57b5b3f75 
  core/src/test/scala/unit/kafka/api/RequestResponseSerializationTest.scala 4cb803f3e86dbc97f1749b2db9788fe9d376d49a 
  core/src/test/scala/unit/kafka/cluster/BrokerTest.scala PRE-CREATION 
  core/src/test/scala/unit/kafka/consumer/ConsumerIteratorTest.scala 995397ba2e2dfc6fadd9d5c5efd90f2c4ac0d59c 
  core/src/test/scala/unit/kafka/integration/FetcherTest.scala 3093e459935ecf8e5b34fca34a422674562a7034 
  core/src/test/scala/unit/kafka/integration/KafkaServerTestHarness.scala 062790f15d4ab6e0ee7a98bef12aaa2b22da3bfa 
  core/src/test/scala/unit/kafka/integration/TopicMetadataTest.scala a671af4a87d5c2fb42ff48c553bca7cae6538231 
  core/src/test/scala/unit/kafka/log/LogTest.scala 3c0599cc2ea12566fbec8233e3a73b31854b3b38 
  core/src/test/scala/unit/kafka/network/SocketServerTest.scala 0af23abf146d99e3d6cf31e5d6b95a9e63318ddb 
  core/src/test/scala/unit/kafka/producer/AsyncProducerTest.scala be90c5bc7f1f5ba8a237d1c7176f27029727c918 
  core/src/test/scala/unit/kafka/producer/SyncProducerTest.scala 812df5989940095c1a347066136ab55153bdad21 
  core/src/test/scala/unit/kafka/server/AdvertiseBrokerTest.scala 296e2b563041318d360db4037411879613a63968 
  core/src/test/scala/unit/kafka/server/KafkaConfigConfigDefTest.scala 191251d1340b5e5b2d649b37af3c6c1896d07e6e 
  core/src/test/scala/unit/kafka/server/KafkaConfigTest.scala 7f47e6f9a74314ed9e9f19d0c97931f3f2e49259 
  core/src/test/scala/unit/kafka/server/LeaderElectionTest.scala f2528059dd86bb051d1ce9d72039cde3b78b8817 
  core/src/test/scala/unit/kafka/server/LogOffsetTest.scala 8c9f9e748e888da6035755c9f4241ac3aa0500c9 
  core/src/test/scala/unit/kafka/utils/TestUtils.scala 1682a77362123449de6bb1d54a55887409990a24 
  system_test/replication_testsuite/testcase_0001/testcase_0001_properties.json 250ffe08ae4c2d35f7c79c883f47bbc27d5361b5 
  system_test/replication_testsuite/testcase_0002/testcase_0002_properties.json 3f9e7d05db17e170aea4fee5a13ab5534dd5db2e 
  system_test/replication_testsuite/testcase_0003/testcase_0003_properties.json b10c6266a786acf0c4b1accb63f9727486d09fd9 
  system_test/replication_testsuite/testcase_0004/testcase_0004_properties.json 22c08023f3d9e7678fdb990518bdb7931b64b6ac 
  system_test/replication_testsuite/testcase_0005/testcase_0005_properties.json 1317d8460f82c3ff09d5a13a1277d695ba71d6e7 
  system_test/replication_testsuite/testcase_0006/testcase_0006_properties.json d31346506a19dd066519303a19a191f70599918d 
  system_test/replication_testsuite/testcase_0007/testcase_0007_properties.json bd00f130d7fc69dc43cf088e298abc43e51bf765 
  system_test/replication_testsuite/testcase_0008/testcase_0008_properties.json ac5c13b09a84f975e345b635cf44a76935251244 
  system_test/replication_testsuite/testcase_0009/testcase_0009_properties.json 6dadd7a288664ebdc7d023c54d9cdb5a54d0c2e7 
  system_test/replication_testsuite/testcase_0101/testcase_0101_properties.json 614cb1cf01d3c76d8a97c2b52fb52bd83ec80c4b 
  system_test/replication_testsuite/testcase_0102/testcase_0102_properties.json fbf01772545f016c28448235a5859429a3a83780 
  system_test/replication_testsuite/testcase_0103/testcase_0103_properties.json 317a6e3d3384009668e822e6c7e38b3fa34fcd6e 
  system_test/replication_testsuite/testcase_0104/testcase_0104_properties.json d1a790b34fa5b42fe9fce2dabf6833048f9905ea 
  system_test/replication_testsuite/testcase_0105/testcase_0105_properties.json 8f4f8bfac71463bbe52906ee7a127d8b0b5f48a3 
  system_test/replication_testsuite/testcase_0106/testcase_0106_properties.json a307f855c944946724cf3a91a9c07cc7b57b71f6 
  system_test/replication_testsuite/testcase_0107/testcase_0107_properties.json 827319eb6c6dbba0c8000b6e5e5a657a112deb21 
  system_test/replication_testsuite/testcase_0108/testcase_0108_properties.json ae015cd0eb82b3d3f04e14c808b66dad702f7bf0 
  system_test/replication_testsuite/testcase_0109/testcase_0109_properties.json 1951a1220956f931032e8fcd214784d76472054b 
  system_test/replication_testsuite/testcase_1/testcase_1_properties.json 0c6d7a316cc6b51ac0755ca03558507db0706c31 
  system_test/run_all.sh PRE-CREATION 
  system_test/run_all_replica.sh PRE-CREATION 
  system_test/utils/kafka_system_test_utils.py 41d511cbc310fa87e0f2cd2f772e479e8e3ae4e2 

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


Testing
-------


Thanks,

Gwen Shapira


Re: Review Request 28769: Patch for KAFKA-1809

Posted by Gwen Shapira <gs...@cloudera.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/28769/
-----------------------------------------------------------

(Updated March 16, 2015, 4:41 p.m.)


Review request for kafka.


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


Repository: kafka


Description (updated)
-------

forgot rest of patch


Diffs (updated)
-----

  clients/src/main/java/org/apache/kafka/clients/producer/ProducerConfig.java fa9daaef66ff7961e1c46cd0cd8fed18a53bccd8 
  clients/src/main/java/org/apache/kafka/common/protocol/ApiVersion.java PRE-CREATION 
  clients/src/main/java/org/apache/kafka/common/protocol/SecurityProtocol.java PRE-CREATION 
  clients/src/main/java/org/apache/kafka/common/utils/Utils.java 920b51a6c3c99639fbc9dc065637eeee3c19fabd 
  clients/src/test/java/org/apache/kafka/common/utils/UtilsTest.java c899813d55b9c4786adde3d840f040d6645d27c8 
  config/server.properties 1614260b71a658b405bb24157c8f12b1f1031aa5 
  core/src/main/scala/kafka/admin/AdminUtils.scala b700110f2d7f1ede235af55d8e37e1b5592c6c7d 
  core/src/main/scala/kafka/admin/TopicCommand.scala f400b71f8444fffd3fc1d8398a283682390eba4e 
  core/src/main/scala/kafka/api/ConsumerMetadataResponse.scala 24aaf954dc42e2084454fa5fc9e8f388ea95c756 
  core/src/main/scala/kafka/api/LeaderAndIsrRequest.scala 4ff7e8f8cc695551dd5d2fe65c74f6b6c571e340 
  core/src/main/scala/kafka/api/TopicMetadata.scala 0190076df0adf906ecd332284f222ff974b315fc 
  core/src/main/scala/kafka/api/TopicMetadataResponse.scala 92ac4e687be22e4800199c0666bfac5e0059e5bb 
  core/src/main/scala/kafka/api/UpdateMetadataRequest.scala 530982e36b17934b8cc5fb668075a5342e142c59 
  core/src/main/scala/kafka/client/ClientUtils.scala ebba87f0566684c796c26cb76c64b4640a5ccfde 
  core/src/main/scala/kafka/cluster/Broker.scala 0060add008bb3bc4b0092f2173c469fce0120be6 
  core/src/main/scala/kafka/cluster/BrokerEndPoint.scala PRE-CREATION 
  core/src/main/scala/kafka/cluster/EndPoint.scala PRE-CREATION 
  core/src/main/scala/kafka/cluster/SecurityProtocol.scala PRE-CREATION 
  core/src/main/scala/kafka/common/BrokerEndPointNotAvailableException.scala PRE-CREATION 
  core/src/main/scala/kafka/consumer/ConsumerConfig.scala 9ebbee6c16dc83767297c729d2d74ebbd063a993 
  core/src/main/scala/kafka/consumer/ConsumerFetcherManager.scala b9e2bea7b442a19bcebd1b350d39541a8c9dd068 
  core/src/main/scala/kafka/consumer/ConsumerFetcherThread.scala 152fda5d1dcdf319399fdeeb8457006090ebe56c 
  core/src/main/scala/kafka/consumer/ZookeeperConsumerConnector.scala cca815a128419e146feff53adaeddc901bb5de1f 
  core/src/main/scala/kafka/controller/ControllerChannelManager.scala c582191636f6188c25d62a67ff0315b56f163133 
  core/src/main/scala/kafka/controller/KafkaController.scala 09fc46d759b74bcdad2d2a610d9c5a93ff02423f 
  core/src/main/scala/kafka/javaapi/ConsumerMetadataResponse.scala d281bb31a66fd749ecddfbe38479b6903f436831 
  core/src/main/scala/kafka/javaapi/TopicMetadata.scala f384e04678df10a5b46a439f475c63371bf8e32b 
  core/src/main/scala/kafka/network/RequestChannel.scala 7b1db3dbbb2c0676f166890f566c14aa248467ab 
  core/src/main/scala/kafka/network/SocketServer.scala 76ce41aed6e04ac5ba88395c4d5008aca17f9a73 
  core/src/main/scala/kafka/producer/ProducerPool.scala 43df70bb461dd3e385e6b20396adef3c4016a3fc 
  core/src/main/scala/kafka/server/AbstractFetcherManager.scala 20c00cb8cc2351950edbc8cb1752905a0c26e79f 
  core/src/main/scala/kafka/server/AbstractFetcherThread.scala e731df4b2a3e44aa3d761713a09b1070aff81430 
  core/src/main/scala/kafka/server/KafkaApis.scala 35af98f0bc1b6a50bd1d97a30147593f8c6a422d 
  core/src/main/scala/kafka/server/KafkaConfig.scala 46d21c73f1feb3410751899380b35da0c37c975c 
  core/src/main/scala/kafka/server/KafkaHealthcheck.scala 7907987e43404487382de7f4cc294f0d01ac15a7 
  core/src/main/scala/kafka/server/KafkaServer.scala dddef938fabae157ed8644536eb1a2f329fb42b7 
  core/src/main/scala/kafka/server/MetadataCache.scala 6aef6e4508ecadbbcc1e12bed2054547b7aa333e 
  core/src/main/scala/kafka/server/ReplicaFetcherManager.scala 351dbbad3bdb709937943b336a5b0a9e0162a5e2 
  core/src/main/scala/kafka/server/ReplicaFetcherThread.scala 96faa7b4ed7c9ba8a3f6f9f114bd94e19b3a7ac0 
  core/src/main/scala/kafka/server/ReplicaManager.scala c5274822c57bf3c1f9e4135c0bdcaa87ee50ce20 
  core/src/main/scala/kafka/tools/ConsumerOffsetChecker.scala d1e7c434e77859d746b8dc68dd5d5a3740425e79 
  core/src/main/scala/kafka/tools/ReplicaVerificationTool.scala ba6ddd7a909df79a0f7d45e8b4a2af94ea0fceb6 
  core/src/main/scala/kafka/tools/SimpleConsumerShell.scala b4f903b6c7c3bb725cac7c05eb1f885906413c4d 
  core/src/main/scala/kafka/tools/UpdateOffsetsInZK.scala 111c9a8b94ce45d95551482e9fd3f8c1cccbf548 
  core/src/main/scala/kafka/utils/Utils.scala 738c1af9ef5de16fdf5130daab69757a14c48b5c 
  core/src/main/scala/kafka/utils/ZkUtils.scala 7ae999ec619443d35a9cb8fbcd531fca0c51c8c0 
  core/src/test/scala/integration/kafka/api/ProducerFailureHandlingTest.scala 7eb6d05b66b16f8b0ab64eb43dcc1a25168fa5be 
  core/src/test/scala/integration/kafka/api/ProducerSendTest.scala 3df450784592b894008e7507b2737f9bb07f7bd2 
  core/src/test/scala/other/kafka/TestOffsetManager.scala a106379d96ab3cbdf54a9f162db44a6df177e733 
  core/src/test/scala/unit/kafka/KafkaConfigTest.scala 4d36b8b1173f60d43463c13c9d8c1275a84c8c28 
  core/src/test/scala/unit/kafka/admin/AddPartitionsTest.scala 8bc178505e00932a316c46ed1d904bd57b5b3f75 
  core/src/test/scala/unit/kafka/api/RequestResponseSerializationTest.scala fba852afa1b2f46b61e2fd12c38c821ba04e9cc6 
  core/src/test/scala/unit/kafka/cluster/BrokerTest.scala PRE-CREATION 
  core/src/test/scala/unit/kafka/consumer/ConsumerIteratorTest.scala 995397ba2e2dfc6fadd9d5c5efd90f2c4ac0d59c 
  core/src/test/scala/unit/kafka/integration/FetcherTest.scala 3093e459935ecf8e5b34fca34a422674562a7034 
  core/src/test/scala/unit/kafka/integration/KafkaServerTestHarness.scala 062790f15d4ab6e0ee7a98bef12aaa2b22da3bfa 
  core/src/test/scala/unit/kafka/integration/TopicMetadataTest.scala a671af4a87d5c2fb42ff48c553bca7cae6538231 
  core/src/test/scala/unit/kafka/log/LogTest.scala 8cd5f2fa4a1a536c3983c5b6eac3d80de49d5a94 
  core/src/test/scala/unit/kafka/network/SocketServerTest.scala 0af23abf146d99e3d6cf31e5d6b95a9e63318ddb 
  core/src/test/scala/unit/kafka/producer/AsyncProducerTest.scala be90c5bc7f1f5ba8a237d1c7176f27029727c918 
  core/src/test/scala/unit/kafka/producer/SyncProducerTest.scala b5208a5f1186bc089cd89527c1eb7f95b2e76c75 
  core/src/test/scala/unit/kafka/server/AdvertiseBrokerTest.scala 296e2b563041318d360db4037411879613a63968 
  core/src/test/scala/unit/kafka/server/KafkaConfigConfigDefTest.scala 191251d1340b5e5b2d649b37af3c6c1896d07e6e 
  core/src/test/scala/unit/kafka/server/KafkaConfigTest.scala 7f47e6f9a74314ed9e9f19d0c97931f3f2e49259 
  core/src/test/scala/unit/kafka/server/LeaderElectionTest.scala f2528059dd86bb051d1ce9d72039cde3b78b8817 
  core/src/test/scala/unit/kafka/server/LogOffsetTest.scala 8c9f9e748e888da6035755c9f4241ac3aa0500c9 
  core/src/test/scala/unit/kafka/utils/TestUtils.scala 1682a77362123449de6bb1d54a55887409990a24 
  system_test/replication_testsuite/testcase_0001/testcase_0001_properties.json 250ffe08ae4c2d35f7c79c883f47bbc27d5361b5 
  system_test/replication_testsuite/testcase_0002/testcase_0002_properties.json 3f9e7d05db17e170aea4fee5a13ab5534dd5db2e 
  system_test/replication_testsuite/testcase_0003/testcase_0003_properties.json b10c6266a786acf0c4b1accb63f9727486d09fd9 
  system_test/replication_testsuite/testcase_0004/testcase_0004_properties.json 22c08023f3d9e7678fdb990518bdb7931b64b6ac 
  system_test/replication_testsuite/testcase_0005/testcase_0005_properties.json 1317d8460f82c3ff09d5a13a1277d695ba71d6e7 
  system_test/replication_testsuite/testcase_0006/testcase_0006_properties.json d31346506a19dd066519303a19a191f70599918d 
  system_test/replication_testsuite/testcase_0007/testcase_0007_properties.json bd00f130d7fc69dc43cf088e298abc43e51bf765 
  system_test/replication_testsuite/testcase_0008/testcase_0008_properties.json ac5c13b09a84f975e345b635cf44a76935251244 
  system_test/replication_testsuite/testcase_0009/testcase_0009_properties.json 6dadd7a288664ebdc7d023c54d9cdb5a54d0c2e7 
  system_test/replication_testsuite/testcase_0101/testcase_0101_properties.json 614cb1cf01d3c76d8a97c2b52fb52bd83ec80c4b 
  system_test/replication_testsuite/testcase_0102/testcase_0102_properties.json fbf01772545f016c28448235a5859429a3a83780 
  system_test/replication_testsuite/testcase_0103/testcase_0103_properties.json 317a6e3d3384009668e822e6c7e38b3fa34fcd6e 
  system_test/replication_testsuite/testcase_0104/testcase_0104_properties.json d1a790b34fa5b42fe9fce2dabf6833048f9905ea 
  system_test/replication_testsuite/testcase_0105/testcase_0105_properties.json 8f4f8bfac71463bbe52906ee7a127d8b0b5f48a3 
  system_test/replication_testsuite/testcase_0106/testcase_0106_properties.json a307f855c944946724cf3a91a9c07cc7b57b71f6 
  system_test/replication_testsuite/testcase_0107/testcase_0107_properties.json 827319eb6c6dbba0c8000b6e5e5a657a112deb21 
  system_test/replication_testsuite/testcase_0108/testcase_0108_properties.json ae015cd0eb82b3d3f04e14c808b66dad702f7bf0 
  system_test/replication_testsuite/testcase_0109/testcase_0109_properties.json 1951a1220956f931032e8fcd214784d76472054b 
  system_test/replication_testsuite/testcase_1/testcase_1_properties.json 0c6d7a316cc6b51ac0755ca03558507db0706c31 
  system_test/run_all.sh PRE-CREATION 
  system_test/run_all_replica.sh PRE-CREATION 
  system_test/utils/kafka_system_test_utils.py 41d511cbc310fa87e0f2cd2f772e479e8e3ae4e2 

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


Testing
-------


Thanks,

Gwen Shapira


Re: Review Request 28769: Patch for KAFKA-1809

Posted by Gwen Shapira <gs...@cloudera.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/28769/
-----------------------------------------------------------

(Updated March 16, 2015, 4:02 p.m.)


Review request for kafka.


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


Repository: kafka


Description (updated)
-------

squashing multi-broker-endpoint patches


Diffs (updated)
-----

  clients/src/main/java/org/apache/kafka/common/protocol/ApiVersion.java PRE-CREATION 
  clients/src/main/java/org/apache/kafka/common/protocol/SecurityProtocol.java PRE-CREATION 
  core/src/main/scala/kafka/cluster/BrokerEndPoint.scala PRE-CREATION 
  core/src/main/scala/kafka/cluster/EndPoint.scala PRE-CREATION 
  core/src/main/scala/kafka/cluster/SecurityProtocol.scala PRE-CREATION 
  core/src/main/scala/kafka/common/BrokerEndPointNotAvailableException.scala PRE-CREATION 
  core/src/test/scala/unit/kafka/cluster/BrokerTest.scala PRE-CREATION 
  system_test/run_all.sh PRE-CREATION 
  system_test/run_all_replica.sh PRE-CREATION 

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


Testing
-------


Thanks,

Gwen Shapira


Re: Review Request 28769: Patch for KAFKA-1809

Posted by Gwen Shapira <gs...@cloudera.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/28769/
-----------------------------------------------------------

(Updated Feb. 27, 2015, 4:31 a.m.)


Review request for kafka.


Changes
-------

Fixed per review feedback.


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


Repository: kafka


Description
-------

changed topicmetadata to include brokerendpoints and fixed few unit tests


fixing systest and support for binding to default address


fixed system tests


fix default address binding and ipv6 support


fix some issues regarding endpoint parsing. Also, larger segments for systest make the validation much faster


added link to security wiki in doc


fixing unit test after rename of ProtocolType to SecurityProtocol


Following Joe's advice, added security protocol enum on client side, and modified protocol to use ID instead of string.


validate producer config against enum


add a second protocol for testing and modify SocketServerTests to check on multi-ports


Reverted the metadata request changes and removed the explicit security protocol argument. Instead the socketserver will determine the protocol based on the port and add this to the request


bump version for UpdateMetadataRequest and added support for rolling upgrades with new config


following tests - fixed LeaderAndISR protocol and ZK registration for backward compatibility


cleaned up some changes that were actually not necessary. hopefully making this patch slightly easier to review


undoing some changes that don't belong here


bring back config lost in cleanup


fixes neccessary for an all non-plaintext cluster to work


minor modifications following comments by Jun


added missing license


formatting


clean up imports


cleaned up V2 to not include host+port field. Using use.new.protocol flag to decide which version to serialize


change endpoints collection in Broker to Map[protocol, endpoint], mostly to be clear that we intend to have one endpoint per protocol


validate that listeners and advertised listeners have unique ports and protocols


support legacy configs


some fixes following rebase


Reverted to backward compatible zk registration, changed use.new.protocol to support multiple versions and few minor fixes


fixing some issues after rebase


modified inter.broker.protocol config to start with security per feedback


rebasing on trunk again


Diffs (updated)
-----

  clients/src/main/java/org/apache/kafka/clients/producer/ProducerConfig.java 122375c 
  clients/src/main/java/org/apache/kafka/common/protocol/ApiVersion.java PRE-CREATION 
  clients/src/main/java/org/apache/kafka/common/protocol/SecurityProtocol.java PRE-CREATION 
  clients/src/main/java/org/apache/kafka/common/utils/Utils.java 69530c1 
  clients/src/test/java/org/apache/kafka/common/utils/UtilsTest.java 4c2ea34 
  config/server.properties 1614260 
  core/src/main/scala/kafka/admin/AdminUtils.scala b700110 
  core/src/main/scala/kafka/admin/TopicCommand.scala f400b71 
  core/src/main/scala/kafka/api/ConsumerMetadataResponse.scala 24aaf95 
  core/src/main/scala/kafka/api/LeaderAndIsrRequest.scala 4ff7e8f 
  core/src/main/scala/kafka/api/TopicMetadata.scala 0190076 
  core/src/main/scala/kafka/api/TopicMetadataResponse.scala 92ac4e6 
  core/src/main/scala/kafka/api/UpdateMetadataRequest.scala 530982e 
  core/src/main/scala/kafka/client/ClientUtils.scala ebba87f 
  core/src/main/scala/kafka/cluster/Broker.scala 0060add 
  core/src/main/scala/kafka/cluster/BrokerEndPoint.scala PRE-CREATION 
  core/src/main/scala/kafka/cluster/EndPoint.scala PRE-CREATION 
  core/src/main/scala/kafka/cluster/SecurityProtocol.scala PRE-CREATION 
  core/src/main/scala/kafka/common/BrokerEndPointNotAvailableException.scala PRE-CREATION 
  core/src/main/scala/kafka/consumer/ConsumerConfig.scala 9ebbee6 
  core/src/main/scala/kafka/consumer/ConsumerFetcherManager.scala b9e2bea 
  core/src/main/scala/kafka/consumer/ConsumerFetcherThread.scala ee6139c 
  core/src/main/scala/kafka/consumer/ZookeeperConsumerConnector.scala 5487259 
  core/src/main/scala/kafka/controller/ControllerChannelManager.scala c582191 
  core/src/main/scala/kafka/controller/KafkaController.scala e9b4dc6 
  core/src/main/scala/kafka/javaapi/ConsumerMetadataResponse.scala d281bb3 
  core/src/main/scala/kafka/javaapi/TopicMetadata.scala f384e04 
  core/src/main/scala/kafka/network/RequestChannel.scala 7b1db3d 
  core/src/main/scala/kafka/network/SocketServer.scala 76ce41a 
  core/src/main/scala/kafka/producer/ProducerPool.scala 43df70b 
  core/src/main/scala/kafka/server/AbstractFetcherManager.scala 20c00cb 
  core/src/main/scala/kafka/server/AbstractFetcherThread.scala 8c281d4 
  core/src/main/scala/kafka/server/KafkaApis.scala 703886a 
  core/src/main/scala/kafka/server/KafkaConfig.scala 14bf321 
  core/src/main/scala/kafka/server/KafkaHealthcheck.scala 7907987 
  core/src/main/scala/kafka/server/KafkaServer.scala 426e522 
  core/src/main/scala/kafka/server/MetadataCache.scala 4c70aa7 
  core/src/main/scala/kafka/server/ReplicaFetcherManager.scala 351dbba 
  core/src/main/scala/kafka/server/ReplicaFetcherThread.scala 6879e73 
  core/src/main/scala/kafka/server/ReplicaManager.scala 586cf4c 
  core/src/main/scala/kafka/tools/ConsumerOffsetChecker.scala d1e7c43 
  core/src/main/scala/kafka/tools/ReplicaVerificationTool.scala ba6ddd7 
  core/src/main/scala/kafka/tools/SimpleConsumerShell.scala b4f903b 
  core/src/main/scala/kafka/tools/UpdateOffsetsInZK.scala 111c9a8 
  core/src/main/scala/kafka/utils/Utils.scala 738c1af 
  core/src/main/scala/kafka/utils/ZkUtils.scala 8a2fb2d 
  core/src/test/scala/integration/kafka/api/ConsumerTest.scala 2802a39 
  core/src/test/scala/integration/kafka/api/ProducerFailureHandlingTest.scala ba48a63 
  core/src/test/scala/integration/kafka/api/ProducerSendTest.scala b15237b 
  core/src/test/scala/other/kafka/TestOffsetManager.scala a106379 
  core/src/test/scala/unit/kafka/KafkaConfigTest.scala 4d36b8b 
  core/src/test/scala/unit/kafka/admin/AddPartitionsTest.scala 1bf2667 
  core/src/test/scala/unit/kafka/api/RequestResponseSerializationTest.scala fba852a 
  core/src/test/scala/unit/kafka/cluster/BrokerTest.scala PRE-CREATION 
  core/src/test/scala/unit/kafka/consumer/ConsumerIteratorTest.scala c0355cc 
  core/src/test/scala/unit/kafka/integration/FetcherTest.scala 25845ab 
  core/src/test/scala/unit/kafka/integration/KafkaServerTestHarness.scala dc0512b 
  core/src/test/scala/unit/kafka/integration/TopicMetadataTest.scala 35dc071 
  core/src/test/scala/unit/kafka/log/LogTest.scala c2dd8eb 
  core/src/test/scala/unit/kafka/network/SocketServerTest.scala 0af23ab 
  core/src/test/scala/unit/kafka/producer/AsyncProducerTest.scala 1db6ac3 
  core/src/test/scala/unit/kafka/producer/SyncProducerTest.scala d60d8e0 
  core/src/test/scala/unit/kafka/server/AdvertiseBrokerTest.scala f0c4a56 
  core/src/test/scala/unit/kafka/server/KafkaConfigTest.scala 82dce80 
  core/src/test/scala/unit/kafka/server/LeaderElectionTest.scala c2ba07c 
  core/src/test/scala/unit/kafka/server/LogOffsetTest.scala c06ee75 
  core/src/test/scala/unit/kafka/utils/TestUtils.scala 21d0ed2 
  system_test/replication_testsuite/testcase_1/testcase_1_properties.json 0c6d7a3 
  system_test/utils/kafka_system_test_utils.py 41d511c 

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


Testing
-------


Thanks,

Gwen Shapira


Re: Review Request 28769: Patch for KAFKA-1809

Posted by Gwen Shapira <gs...@cloudera.com>.

> On Feb. 11, 2015, 9:45 a.m., Jun Rao wrote:
> > core/src/main/scala/kafka/server/KafkaConfig.scala, lines 70-72
> > <https://reviews.apache.org/r/28769/diff/17/?file=846168#file846168line70>
> >
> >     Same comment as above, does a null string translate into a null in endPoint.host?
> 
> Gwen Shapira wrote:
>     yes. null string is equivalent to PLAINTEXT://:6667 and this binds to default interface. Pretty much identical to what we have today, except with PROTOCOL:// in the beginning. I'll add a test.

... and now with the test, the bug is obvious. Thanks for catching :)


- Gwen


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


On Feb. 3, 2015, 6:52 p.m., Gwen Shapira wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/28769/
> -----------------------------------------------------------
> 
> (Updated Feb. 3, 2015, 6:52 p.m.)
> 
> 
> Review request for kafka.
> 
> 
> Bugs: KAFKA-1809
>     https://issues.apache.org/jira/browse/KAFKA-1809
> 
> 
> Repository: kafka
> 
> 
> Description
> -------
> 
> changed topicmetadata to include brokerendpoints and fixed few unit tests
> 
> 
> fixing systest and support for binding to default address
> 
> 
> fixed system tests
> 
> 
> fix default address binding and ipv6 support
> 
> 
> fix some issues regarding endpoint parsing. Also, larger segments for systest make the validation much faster
> 
> 
> added link to security wiki in doc
> 
> 
> fixing unit test after rename of ProtocolType to SecurityProtocol
> 
> 
> Following Joe's advice, added security protocol enum on client side, and modified protocol to use ID instead of string.
> 
> 
> validate producer config against enum
> 
> 
> add a second protocol for testing and modify SocketServerTests to check on multi-ports
> 
> 
> Reverted the metadata request changes and removed the explicit security protocol argument. Instead the socketserver will determine the protocol based on the port and add this to the request
> 
> 
> bump version for UpdateMetadataRequest and added support for rolling upgrades with new config
> 
> 
> following tests - fixed LeaderAndISR protocol and ZK registration for backward compatibility
> 
> 
> cleaned up some changes that were actually not necessary. hopefully making this patch slightly easier to review
> 
> 
> undoing some changes that don't belong here
> 
> 
> bring back config lost in cleanup
> 
> 
> fixes neccessary for an all non-plaintext cluster to work
> 
> 
> minor modifications following comments by Jun
> 
> 
> added missing license
> 
> 
> formatting
> 
> 
> clean up imports
> 
> 
> cleaned up V2 to not include host+port field. Using use.new.protocol flag to decide which version to serialize
> 
> 
> change endpoints collection in Broker to Map[protocol, endpoint], mostly to be clear that we intend to have one endpoint per protocol
> 
> 
> validate that listeners and advertised listeners have unique ports and protocols
> 
> 
> support legacy configs
> 
> 
> some fixes following rebase
> 
> 
> Reverted to backward compatible zk registration, changed use.new.protocol to support multiple versions and few minor fixes
> 
> 
> fixing some issues after rebase
> 
> 
> modified inter.broker.protocol config to start with security per feedback
> 
> 
> rebasing on trunk again
> 
> 
> Diffs
> -----
> 
>   clients/src/main/java/org/apache/kafka/clients/producer/ProducerConfig.java 9a43d668376295f47cea0b8eb26b15a6c73bb39c 
>   clients/src/main/java/org/apache/kafka/common/protocol/ApiVersion.java PRE-CREATION 
>   clients/src/main/java/org/apache/kafka/common/protocol/SecurityProtocol.java PRE-CREATION 
>   clients/src/main/java/org/apache/kafka/common/requests/MetadataRequest.java 0186783e1abd0438d6720d035ee1903b51691e09 
>   clients/src/main/java/org/apache/kafka/common/utils/Utils.java 8a305b0fb46563e9e683c327d9e18de532f291de 
>   clients/src/test/java/org/apache/kafka/common/utils/UtilsTest.java 4c2ea34815b63174732d58b699e1a0a9e6ec3b6f 
>   config/server.properties 1614260b71a658b405bb24157c8f12b1f1031aa5 
>   core/src/main/scala/kafka/admin/AdminUtils.scala 28b12c7b89a56c113b665fbde1b95f873f8624a3 
>   core/src/main/scala/kafka/admin/TopicCommand.scala 285c0333ff43543d3e46444c1cd9374bb883bb59 
>   core/src/main/scala/kafka/api/ConsumerMetadataResponse.scala 24aaf954dc42e2084454fa5fc9e8f388ea95c756 
>   core/src/main/scala/kafka/api/LeaderAndIsrRequest.scala 4ff7e8f8cc695551dd5d2fe65c74f6b6c571e340 
>   core/src/main/scala/kafka/api/TopicMetadata.scala 0190076df0adf906ecd332284f222ff974b315fc 
>   core/src/main/scala/kafka/api/TopicMetadataResponse.scala 92ac4e687be22e4800199c0666bfac5e0059e5bb 
>   core/src/main/scala/kafka/api/UpdateMetadataRequest.scala 530982e36b17934b8cc5fb668075a5342e142c59 
>   core/src/main/scala/kafka/client/ClientUtils.scala ebba87f0566684c796c26cb76c64b4640a5ccfde 
>   core/src/main/scala/kafka/cluster/Broker.scala 0060add008bb3bc4b0092f2173c469fce0120be6 
>   core/src/main/scala/kafka/cluster/BrokerEndPoint.scala PRE-CREATION 
>   core/src/main/scala/kafka/cluster/EndPoint.scala PRE-CREATION 
>   core/src/main/scala/kafka/cluster/SecurityProtocol.scala PRE-CREATION 
>   core/src/main/scala/kafka/common/BrokerEndPointNotAvailableException.scala PRE-CREATION 
>   core/src/main/scala/kafka/consumer/ConsumerConfig.scala 9ebbee6c16dc83767297c729d2d74ebbd063a993 
>   core/src/main/scala/kafka/consumer/ConsumerFetcherManager.scala b9e2bea7b442a19bcebd1b350d39541a8c9dd068 
>   core/src/main/scala/kafka/consumer/ConsumerFetcherThread.scala ee6139c901082358382c5ef892281386bf6fc91b 
>   core/src/main/scala/kafka/consumer/ZookeeperConsumerConnector.scala 5487259751ebe19f137948249aa1fd2637d2deb4 
>   core/src/main/scala/kafka/controller/ControllerChannelManager.scala 14b22ab38cc143c8b8d8617d253c5dfd5f5c7b7e 
>   core/src/main/scala/kafka/controller/KafkaController.scala 66df6d2fbdbdd556da6bea0df84f93e0472c8fbf 
>   core/src/main/scala/kafka/javaapi/ConsumerMetadataResponse.scala d281bb31a66fd749ecddfbe38479b6903f436831 
>   core/src/main/scala/kafka/javaapi/TopicMetadata.scala f384e04678df10a5b46a439f475c63371bf8e32b 
>   core/src/main/scala/kafka/network/RequestChannel.scala 7b1db3dbbb2c0676f166890f566c14aa248467ab 
>   core/src/main/scala/kafka/network/SocketServer.scala 39b1651b680b2995cedfde95d74c086d9c6219ef 
>   core/src/main/scala/kafka/producer/ProducerPool.scala 43df70bb461dd3e385e6b20396adef3c4016a3fc 
>   core/src/main/scala/kafka/server/AbstractFetcherManager.scala 20c00cb8cc2351950edbc8cb1752905a0c26e79f 
>   core/src/main/scala/kafka/server/AbstractFetcherThread.scala 8c281d4668f92eff95a4a5df3c03c4b5b20e7095 
>   core/src/main/scala/kafka/server/KafkaApis.scala f2b027bf944e735fd52cc282690ec1b8395f9290 
>   core/src/main/scala/kafka/server/KafkaConfig.scala 6d74983472249eac808d361344c58cc2858ec971 
>   core/src/main/scala/kafka/server/KafkaHealthcheck.scala 4acdd70fe9c1ee78d6510741006c2ece65450671 
>   core/src/main/scala/kafka/server/KafkaServer.scala 89200da30a04943f0b9befe84ab17e62b747c8c4 
>   core/src/main/scala/kafka/server/MetadataCache.scala bf81a1ab88c14be8697b441eedbeb28fa0112643 
>   core/src/main/scala/kafka/server/ReplicaFetcherManager.scala 351dbbad3bdb709937943b336a5b0a9e0162a5e2 
>   core/src/main/scala/kafka/server/ReplicaFetcherThread.scala 6879e730282185bda3d6bc3659cb15af0672cecf 
>   core/src/main/scala/kafka/server/ReplicaManager.scala fb948b9ab28c516e81dab14dcbe211dcd99842b6 
>   core/src/main/scala/kafka/tools/ConsumerOffsetChecker.scala d1e7c434e77859d746b8dc68dd5d5a3740425e79 
>   core/src/main/scala/kafka/tools/ReplicaVerificationTool.scala ba6ddd7a909df79a0f7d45e8b4a2af94ea0fceb6 
>   core/src/main/scala/kafka/tools/SimpleConsumerShell.scala b4f903b6c7c3bb725cac7c05eb1f885906413c4d 
>   core/src/main/scala/kafka/tools/UpdateOffsetsInZK.scala 111c9a8b94ce45d95551482e9fd3f8c1cccbf548 
>   core/src/main/scala/kafka/utils/Utils.scala 738c1af9ef5de16fdf5130daab69757a14c48b5c 
>   core/src/main/scala/kafka/utils/ZkUtils.scala c14bd455b6642f5e6eb254670bef9f57ae41d6cb 
>   core/src/test/scala/integration/kafka/api/ProducerFailureHandlingTest.scala 90c0b7a19c7af8e5416e4bdba62b9824f1abd5ab 
>   core/src/test/scala/integration/kafka/api/ProducerSendTest.scala b15237b76def3b234924280fa3fdb25dbb0cc0dc 
>   core/src/test/scala/other/kafka/TestOffsetManager.scala 41f334d48897b3027ed54c58bbf4811487d3b191 
>   core/src/test/scala/unit/kafka/KafkaConfigTest.scala 4d36b8b1173f60d43463c13c9d8c1275a84c8c28 
>   core/src/test/scala/unit/kafka/admin/AddPartitionsTest.scala 1bf2667f47853585bc33ffb3e28256ec5f24ae84 
>   core/src/test/scala/unit/kafka/api/RequestResponseSerializationTest.scala a1f72f8c2042ff2a43af503b2e06f84706dad9db 
>   core/src/test/scala/unit/kafka/cluster/BrokerTest.scala PRE-CREATION 
>   core/src/test/scala/unit/kafka/consumer/ConsumerIteratorTest.scala c0355cc0135c6af2e346b4715659353a31723b86 
>   core/src/test/scala/unit/kafka/integration/FetcherTest.scala 25845abbcad2e79f56f729e59239b738d3ddbc9d 
>   core/src/test/scala/unit/kafka/integration/KafkaServerTestHarness.scala ef4c9aeaa2711567915f036fb82bedcf5d106e2b 
>   core/src/test/scala/unit/kafka/integration/TopicMetadataTest.scala 35dc071b1056e775326981573c9618d8046e601d 
>   core/src/test/scala/unit/kafka/log/LogTest.scala c2dd8eb69da8c0982a0dd20231c6f8bd58eb623e 
>   core/src/test/scala/unit/kafka/network/SocketServerTest.scala 78b431f9c88cca1bc5e430ffd41083d0e92b7e75 
>   core/src/test/scala/unit/kafka/producer/AsyncProducerTest.scala 1db6ac329f7b54e600802c8a623f80d159d4e69b 
>   core/src/test/scala/unit/kafka/producer/SyncProducerTest.scala d60d8e0f49443f4dc8bc2cad6e2f951eda28f5cb 
>   core/src/test/scala/unit/kafka/server/AdvertiseBrokerTest.scala f0c4a56b61b4f081cf4bee799c6e9c523ff45e19 
>   core/src/test/scala/unit/kafka/server/KafkaConfigTest.scala 82dce80d553957d8b5776a9e140c346d4e07f766 
>   core/src/test/scala/unit/kafka/server/LeaderElectionTest.scala c2ba07c5fdbaf0e65ca033b2e4d88f45a8a15b2e 
>   core/src/test/scala/unit/kafka/server/LogOffsetTest.scala c06ee756bf0fe07e5d3c92823a476c960b37afd6 
>   core/src/test/scala/unit/kafka/utils/TestUtils.scala 54755e8dd3f23ced313067566cd4ea867f8a496e 
>   system_test/replication_testsuite/testcase_1/testcase_1_properties.json 0c6d7a316cc6b51ac0755ca03558507db0706c31 
>   system_test/utils/kafka_system_test_utils.py 41d511cbc310fa87e0f2cd2f772e479e8e3ae4e2 
> 
> Diff: https://reviews.apache.org/r/28769/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Gwen Shapira
> 
>


Re: Review Request 28769: Patch for KAFKA-1809

Posted by Gwen Shapira <gs...@cloudera.com>.

> On Feb. 11, 2015, 9:45 a.m., Jun Rao wrote:
> > Thanks for the new patch. Some more comments.
> > 
> > 1. We should think through whether we need to add security protocol to existing tools like SimleConsumerShell and UpdateOffsetsInZk.
> > 2. There are unused imports.
> > 3. The patch needs rebase.
> > 4. The following unit test fails consistently.
> > kafka.network.SocketServerTest > testSocketsCloseOnShutdown FAILED
> >     org.scalatest.junit.JUnitTestFailedError: expected exception when writing to closed plain socket
> >         at org.scalatest.junit.AssertionsForJUnit$class.newAssertionFailedException(AssertionsForJUnit.scala:101)
> >         at kafka.network.SocketServerTest.newAssertionFailedException(SocketServerTest.scala:37)
> >         at org.scalatest.Assertions$class.fail(Assertions.scala:711)
> >         at kafka.network.SocketServerTest.fail(SocketServerTest.scala:37)
> >         at kafka.network.SocketServerTest.testSocketsCloseOnShutdown(SocketServerTest.scala:162)

1. Since the tools go major rewrites now (SimpleConsumer may go away, ConsumerOffsetChecker went away...) and since some tools doesn't really need to support security protocols at all (I think? I definitely can't see why then need to support both SSL and Kerberos), I'd rather modify the tools as a separate patch once we have security implemented. The larger part of the change will be implementing SSL/Kerberos in the tools anyway...
3. I know :( chasing commits between reviews is the biggest pain here...
4. Will check it out.


> On Feb. 11, 2015, 9:45 a.m., Jun Rao wrote:
> > core/src/main/scala/kafka/client/ClientUtils.scala, line 111
> > <https://reviews.apache.org/r/28769/diff/17/?file=846148#file846148line111>
> >
> >     Should we default protocolType to PLAINTEXT?

I prefer not to default. Makes it more challenging to catch cases where the wrong protocol is used accidentaly.
Do you see a case for defaulting here?


> On Feb. 11, 2015, 9:45 a.m., Jun Rao wrote:
> > core/src/main/scala/kafka/server/KafkaConfig.scala, lines 148-149
> > <https://reviews.apache.org/r/28769/diff/17/?file=846168#file846168line148>
> >
> >     Do we use PLAINTEXT://0.0.0.0:9092 to bind to all interface or PLAINTEXT://:9092? If it's the former, does it work for ipv6 and do we need to change getListeners() accordingly?

0.0.0.0 binds to all interfaces. Missing hostname binds to default interface.
Its pretty standard (i.e. matches the NIO bind behavior, and the one for lower level sockets too) and works the same way as it did before this patch.


> On Feb. 11, 2015, 9:45 a.m., Jun Rao wrote:
> > core/src/main/scala/kafka/server/KafkaConfig.scala, line 186
> > <https://reviews.apache.org/r/28769/diff/17/?file=846168#file846168line186>
> >
> >     This should default to 0.8.2.0. The user will upgrade the broker jar with the default setting first, followed by another rolling bounce after changing the config to 0.8.3.0.

Actually hardcoding the version means having to remember to change this with every release.
I'll try to figure something more reasonable for this.


- Gwen


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


On Feb. 3, 2015, 6:52 p.m., Gwen Shapira wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/28769/
> -----------------------------------------------------------
> 
> (Updated Feb. 3, 2015, 6:52 p.m.)
> 
> 
> Review request for kafka.
> 
> 
> Bugs: KAFKA-1809
>     https://issues.apache.org/jira/browse/KAFKA-1809
> 
> 
> Repository: kafka
> 
> 
> Description
> -------
> 
> changed topicmetadata to include brokerendpoints and fixed few unit tests
> 
> 
> fixing systest and support for binding to default address
> 
> 
> fixed system tests
> 
> 
> fix default address binding and ipv6 support
> 
> 
> fix some issues regarding endpoint parsing. Also, larger segments for systest make the validation much faster
> 
> 
> added link to security wiki in doc
> 
> 
> fixing unit test after rename of ProtocolType to SecurityProtocol
> 
> 
> Following Joe's advice, added security protocol enum on client side, and modified protocol to use ID instead of string.
> 
> 
> validate producer config against enum
> 
> 
> add a second protocol for testing and modify SocketServerTests to check on multi-ports
> 
> 
> Reverted the metadata request changes and removed the explicit security protocol argument. Instead the socketserver will determine the protocol based on the port and add this to the request
> 
> 
> bump version for UpdateMetadataRequest and added support for rolling upgrades with new config
> 
> 
> following tests - fixed LeaderAndISR protocol and ZK registration for backward compatibility
> 
> 
> cleaned up some changes that were actually not necessary. hopefully making this patch slightly easier to review
> 
> 
> undoing some changes that don't belong here
> 
> 
> bring back config lost in cleanup
> 
> 
> fixes neccessary for an all non-plaintext cluster to work
> 
> 
> minor modifications following comments by Jun
> 
> 
> added missing license
> 
> 
> formatting
> 
> 
> clean up imports
> 
> 
> cleaned up V2 to not include host+port field. Using use.new.protocol flag to decide which version to serialize
> 
> 
> change endpoints collection in Broker to Map[protocol, endpoint], mostly to be clear that we intend to have one endpoint per protocol
> 
> 
> validate that listeners and advertised listeners have unique ports and protocols
> 
> 
> support legacy configs
> 
> 
> some fixes following rebase
> 
> 
> Reverted to backward compatible zk registration, changed use.new.protocol to support multiple versions and few minor fixes
> 
> 
> fixing some issues after rebase
> 
> 
> modified inter.broker.protocol config to start with security per feedback
> 
> 
> rebasing on trunk again
> 
> 
> Diffs
> -----
> 
>   clients/src/main/java/org/apache/kafka/clients/producer/ProducerConfig.java 9a43d668376295f47cea0b8eb26b15a6c73bb39c 
>   clients/src/main/java/org/apache/kafka/common/protocol/ApiVersion.java PRE-CREATION 
>   clients/src/main/java/org/apache/kafka/common/protocol/SecurityProtocol.java PRE-CREATION 
>   clients/src/main/java/org/apache/kafka/common/requests/MetadataRequest.java 0186783e1abd0438d6720d035ee1903b51691e09 
>   clients/src/main/java/org/apache/kafka/common/utils/Utils.java 8a305b0fb46563e9e683c327d9e18de532f291de 
>   clients/src/test/java/org/apache/kafka/common/utils/UtilsTest.java 4c2ea34815b63174732d58b699e1a0a9e6ec3b6f 
>   config/server.properties 1614260b71a658b405bb24157c8f12b1f1031aa5 
>   core/src/main/scala/kafka/admin/AdminUtils.scala 28b12c7b89a56c113b665fbde1b95f873f8624a3 
>   core/src/main/scala/kafka/admin/TopicCommand.scala 285c0333ff43543d3e46444c1cd9374bb883bb59 
>   core/src/main/scala/kafka/api/ConsumerMetadataResponse.scala 24aaf954dc42e2084454fa5fc9e8f388ea95c756 
>   core/src/main/scala/kafka/api/LeaderAndIsrRequest.scala 4ff7e8f8cc695551dd5d2fe65c74f6b6c571e340 
>   core/src/main/scala/kafka/api/TopicMetadata.scala 0190076df0adf906ecd332284f222ff974b315fc 
>   core/src/main/scala/kafka/api/TopicMetadataResponse.scala 92ac4e687be22e4800199c0666bfac5e0059e5bb 
>   core/src/main/scala/kafka/api/UpdateMetadataRequest.scala 530982e36b17934b8cc5fb668075a5342e142c59 
>   core/src/main/scala/kafka/client/ClientUtils.scala ebba87f0566684c796c26cb76c64b4640a5ccfde 
>   core/src/main/scala/kafka/cluster/Broker.scala 0060add008bb3bc4b0092f2173c469fce0120be6 
>   core/src/main/scala/kafka/cluster/BrokerEndPoint.scala PRE-CREATION 
>   core/src/main/scala/kafka/cluster/EndPoint.scala PRE-CREATION 
>   core/src/main/scala/kafka/cluster/SecurityProtocol.scala PRE-CREATION 
>   core/src/main/scala/kafka/common/BrokerEndPointNotAvailableException.scala PRE-CREATION 
>   core/src/main/scala/kafka/consumer/ConsumerConfig.scala 9ebbee6c16dc83767297c729d2d74ebbd063a993 
>   core/src/main/scala/kafka/consumer/ConsumerFetcherManager.scala b9e2bea7b442a19bcebd1b350d39541a8c9dd068 
>   core/src/main/scala/kafka/consumer/ConsumerFetcherThread.scala ee6139c901082358382c5ef892281386bf6fc91b 
>   core/src/main/scala/kafka/consumer/ZookeeperConsumerConnector.scala 5487259751ebe19f137948249aa1fd2637d2deb4 
>   core/src/main/scala/kafka/controller/ControllerChannelManager.scala 14b22ab38cc143c8b8d8617d253c5dfd5f5c7b7e 
>   core/src/main/scala/kafka/controller/KafkaController.scala 66df6d2fbdbdd556da6bea0df84f93e0472c8fbf 
>   core/src/main/scala/kafka/javaapi/ConsumerMetadataResponse.scala d281bb31a66fd749ecddfbe38479b6903f436831 
>   core/src/main/scala/kafka/javaapi/TopicMetadata.scala f384e04678df10a5b46a439f475c63371bf8e32b 
>   core/src/main/scala/kafka/network/RequestChannel.scala 7b1db3dbbb2c0676f166890f566c14aa248467ab 
>   core/src/main/scala/kafka/network/SocketServer.scala 39b1651b680b2995cedfde95d74c086d9c6219ef 
>   core/src/main/scala/kafka/producer/ProducerPool.scala 43df70bb461dd3e385e6b20396adef3c4016a3fc 
>   core/src/main/scala/kafka/server/AbstractFetcherManager.scala 20c00cb8cc2351950edbc8cb1752905a0c26e79f 
>   core/src/main/scala/kafka/server/AbstractFetcherThread.scala 8c281d4668f92eff95a4a5df3c03c4b5b20e7095 
>   core/src/main/scala/kafka/server/KafkaApis.scala f2b027bf944e735fd52cc282690ec1b8395f9290 
>   core/src/main/scala/kafka/server/KafkaConfig.scala 6d74983472249eac808d361344c58cc2858ec971 
>   core/src/main/scala/kafka/server/KafkaHealthcheck.scala 4acdd70fe9c1ee78d6510741006c2ece65450671 
>   core/src/main/scala/kafka/server/KafkaServer.scala 89200da30a04943f0b9befe84ab17e62b747c8c4 
>   core/src/main/scala/kafka/server/MetadataCache.scala bf81a1ab88c14be8697b441eedbeb28fa0112643 
>   core/src/main/scala/kafka/server/ReplicaFetcherManager.scala 351dbbad3bdb709937943b336a5b0a9e0162a5e2 
>   core/src/main/scala/kafka/server/ReplicaFetcherThread.scala 6879e730282185bda3d6bc3659cb15af0672cecf 
>   core/src/main/scala/kafka/server/ReplicaManager.scala fb948b9ab28c516e81dab14dcbe211dcd99842b6 
>   core/src/main/scala/kafka/tools/ConsumerOffsetChecker.scala d1e7c434e77859d746b8dc68dd5d5a3740425e79 
>   core/src/main/scala/kafka/tools/ReplicaVerificationTool.scala ba6ddd7a909df79a0f7d45e8b4a2af94ea0fceb6 
>   core/src/main/scala/kafka/tools/SimpleConsumerShell.scala b4f903b6c7c3bb725cac7c05eb1f885906413c4d 
>   core/src/main/scala/kafka/tools/UpdateOffsetsInZK.scala 111c9a8b94ce45d95551482e9fd3f8c1cccbf548 
>   core/src/main/scala/kafka/utils/Utils.scala 738c1af9ef5de16fdf5130daab69757a14c48b5c 
>   core/src/main/scala/kafka/utils/ZkUtils.scala c14bd455b6642f5e6eb254670bef9f57ae41d6cb 
>   core/src/test/scala/integration/kafka/api/ProducerFailureHandlingTest.scala 90c0b7a19c7af8e5416e4bdba62b9824f1abd5ab 
>   core/src/test/scala/integration/kafka/api/ProducerSendTest.scala b15237b76def3b234924280fa3fdb25dbb0cc0dc 
>   core/src/test/scala/other/kafka/TestOffsetManager.scala 41f334d48897b3027ed54c58bbf4811487d3b191 
>   core/src/test/scala/unit/kafka/KafkaConfigTest.scala 4d36b8b1173f60d43463c13c9d8c1275a84c8c28 
>   core/src/test/scala/unit/kafka/admin/AddPartitionsTest.scala 1bf2667f47853585bc33ffb3e28256ec5f24ae84 
>   core/src/test/scala/unit/kafka/api/RequestResponseSerializationTest.scala a1f72f8c2042ff2a43af503b2e06f84706dad9db 
>   core/src/test/scala/unit/kafka/cluster/BrokerTest.scala PRE-CREATION 
>   core/src/test/scala/unit/kafka/consumer/ConsumerIteratorTest.scala c0355cc0135c6af2e346b4715659353a31723b86 
>   core/src/test/scala/unit/kafka/integration/FetcherTest.scala 25845abbcad2e79f56f729e59239b738d3ddbc9d 
>   core/src/test/scala/unit/kafka/integration/KafkaServerTestHarness.scala ef4c9aeaa2711567915f036fb82bedcf5d106e2b 
>   core/src/test/scala/unit/kafka/integration/TopicMetadataTest.scala 35dc071b1056e775326981573c9618d8046e601d 
>   core/src/test/scala/unit/kafka/log/LogTest.scala c2dd8eb69da8c0982a0dd20231c6f8bd58eb623e 
>   core/src/test/scala/unit/kafka/network/SocketServerTest.scala 78b431f9c88cca1bc5e430ffd41083d0e92b7e75 
>   core/src/test/scala/unit/kafka/producer/AsyncProducerTest.scala 1db6ac329f7b54e600802c8a623f80d159d4e69b 
>   core/src/test/scala/unit/kafka/producer/SyncProducerTest.scala d60d8e0f49443f4dc8bc2cad6e2f951eda28f5cb 
>   core/src/test/scala/unit/kafka/server/AdvertiseBrokerTest.scala f0c4a56b61b4f081cf4bee799c6e9c523ff45e19 
>   core/src/test/scala/unit/kafka/server/KafkaConfigTest.scala 82dce80d553957d8b5776a9e140c346d4e07f766 
>   core/src/test/scala/unit/kafka/server/LeaderElectionTest.scala c2ba07c5fdbaf0e65ca033b2e4d88f45a8a15b2e 
>   core/src/test/scala/unit/kafka/server/LogOffsetTest.scala c06ee756bf0fe07e5d3c92823a476c960b37afd6 
>   core/src/test/scala/unit/kafka/utils/TestUtils.scala 54755e8dd3f23ced313067566cd4ea867f8a496e 
>   system_test/replication_testsuite/testcase_1/testcase_1_properties.json 0c6d7a316cc6b51ac0755ca03558507db0706c31 
>   system_test/utils/kafka_system_test_utils.py 41d511cbc310fa87e0f2cd2f772e479e8e3ae4e2 
> 
> Diff: https://reviews.apache.org/r/28769/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Gwen Shapira
> 
>


Re: Review Request 28769: Patch for KAFKA-1809

Posted by Gwen Shapira <gs...@cloudera.com>.

> On Feb. 11, 2015, 9:45 a.m., Jun Rao wrote:
> > core/src/main/scala/kafka/consumer/ConsumerConfig.scala, lines 184-186
> > <https://reviews.apache.org/r/28769/diff/17/?file=846154#file846154line184>
> >
> >     I thought we won't support security in the old client?

We don't, but I need to test my code :)
I left the parameter, but clarified that only PLAINTEXT will be supported.


- Gwen


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


On Feb. 3, 2015, 6:52 p.m., Gwen Shapira wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/28769/
> -----------------------------------------------------------
> 
> (Updated Feb. 3, 2015, 6:52 p.m.)
> 
> 
> Review request for kafka.
> 
> 
> Bugs: KAFKA-1809
>     https://issues.apache.org/jira/browse/KAFKA-1809
> 
> 
> Repository: kafka
> 
> 
> Description
> -------
> 
> changed topicmetadata to include brokerendpoints and fixed few unit tests
> 
> 
> fixing systest and support for binding to default address
> 
> 
> fixed system tests
> 
> 
> fix default address binding and ipv6 support
> 
> 
> fix some issues regarding endpoint parsing. Also, larger segments for systest make the validation much faster
> 
> 
> added link to security wiki in doc
> 
> 
> fixing unit test after rename of ProtocolType to SecurityProtocol
> 
> 
> Following Joe's advice, added security protocol enum on client side, and modified protocol to use ID instead of string.
> 
> 
> validate producer config against enum
> 
> 
> add a second protocol for testing and modify SocketServerTests to check on multi-ports
> 
> 
> Reverted the metadata request changes and removed the explicit security protocol argument. Instead the socketserver will determine the protocol based on the port and add this to the request
> 
> 
> bump version for UpdateMetadataRequest and added support for rolling upgrades with new config
> 
> 
> following tests - fixed LeaderAndISR protocol and ZK registration for backward compatibility
> 
> 
> cleaned up some changes that were actually not necessary. hopefully making this patch slightly easier to review
> 
> 
> undoing some changes that don't belong here
> 
> 
> bring back config lost in cleanup
> 
> 
> fixes neccessary for an all non-plaintext cluster to work
> 
> 
> minor modifications following comments by Jun
> 
> 
> added missing license
> 
> 
> formatting
> 
> 
> clean up imports
> 
> 
> cleaned up V2 to not include host+port field. Using use.new.protocol flag to decide which version to serialize
> 
> 
> change endpoints collection in Broker to Map[protocol, endpoint], mostly to be clear that we intend to have one endpoint per protocol
> 
> 
> validate that listeners and advertised listeners have unique ports and protocols
> 
> 
> support legacy configs
> 
> 
> some fixes following rebase
> 
> 
> Reverted to backward compatible zk registration, changed use.new.protocol to support multiple versions and few minor fixes
> 
> 
> fixing some issues after rebase
> 
> 
> modified inter.broker.protocol config to start with security per feedback
> 
> 
> rebasing on trunk again
> 
> 
> Diffs
> -----
> 
>   clients/src/main/java/org/apache/kafka/clients/producer/ProducerConfig.java 9a43d668376295f47cea0b8eb26b15a6c73bb39c 
>   clients/src/main/java/org/apache/kafka/common/protocol/ApiVersion.java PRE-CREATION 
>   clients/src/main/java/org/apache/kafka/common/protocol/SecurityProtocol.java PRE-CREATION 
>   clients/src/main/java/org/apache/kafka/common/requests/MetadataRequest.java 0186783e1abd0438d6720d035ee1903b51691e09 
>   clients/src/main/java/org/apache/kafka/common/utils/Utils.java 8a305b0fb46563e9e683c327d9e18de532f291de 
>   clients/src/test/java/org/apache/kafka/common/utils/UtilsTest.java 4c2ea34815b63174732d58b699e1a0a9e6ec3b6f 
>   config/server.properties 1614260b71a658b405bb24157c8f12b1f1031aa5 
>   core/src/main/scala/kafka/admin/AdminUtils.scala 28b12c7b89a56c113b665fbde1b95f873f8624a3 
>   core/src/main/scala/kafka/admin/TopicCommand.scala 285c0333ff43543d3e46444c1cd9374bb883bb59 
>   core/src/main/scala/kafka/api/ConsumerMetadataResponse.scala 24aaf954dc42e2084454fa5fc9e8f388ea95c756 
>   core/src/main/scala/kafka/api/LeaderAndIsrRequest.scala 4ff7e8f8cc695551dd5d2fe65c74f6b6c571e340 
>   core/src/main/scala/kafka/api/TopicMetadata.scala 0190076df0adf906ecd332284f222ff974b315fc 
>   core/src/main/scala/kafka/api/TopicMetadataResponse.scala 92ac4e687be22e4800199c0666bfac5e0059e5bb 
>   core/src/main/scala/kafka/api/UpdateMetadataRequest.scala 530982e36b17934b8cc5fb668075a5342e142c59 
>   core/src/main/scala/kafka/client/ClientUtils.scala ebba87f0566684c796c26cb76c64b4640a5ccfde 
>   core/src/main/scala/kafka/cluster/Broker.scala 0060add008bb3bc4b0092f2173c469fce0120be6 
>   core/src/main/scala/kafka/cluster/BrokerEndPoint.scala PRE-CREATION 
>   core/src/main/scala/kafka/cluster/EndPoint.scala PRE-CREATION 
>   core/src/main/scala/kafka/cluster/SecurityProtocol.scala PRE-CREATION 
>   core/src/main/scala/kafka/common/BrokerEndPointNotAvailableException.scala PRE-CREATION 
>   core/src/main/scala/kafka/consumer/ConsumerConfig.scala 9ebbee6c16dc83767297c729d2d74ebbd063a993 
>   core/src/main/scala/kafka/consumer/ConsumerFetcherManager.scala b9e2bea7b442a19bcebd1b350d39541a8c9dd068 
>   core/src/main/scala/kafka/consumer/ConsumerFetcherThread.scala ee6139c901082358382c5ef892281386bf6fc91b 
>   core/src/main/scala/kafka/consumer/ZookeeperConsumerConnector.scala 5487259751ebe19f137948249aa1fd2637d2deb4 
>   core/src/main/scala/kafka/controller/ControllerChannelManager.scala 14b22ab38cc143c8b8d8617d253c5dfd5f5c7b7e 
>   core/src/main/scala/kafka/controller/KafkaController.scala 66df6d2fbdbdd556da6bea0df84f93e0472c8fbf 
>   core/src/main/scala/kafka/javaapi/ConsumerMetadataResponse.scala d281bb31a66fd749ecddfbe38479b6903f436831 
>   core/src/main/scala/kafka/javaapi/TopicMetadata.scala f384e04678df10a5b46a439f475c63371bf8e32b 
>   core/src/main/scala/kafka/network/RequestChannel.scala 7b1db3dbbb2c0676f166890f566c14aa248467ab 
>   core/src/main/scala/kafka/network/SocketServer.scala 39b1651b680b2995cedfde95d74c086d9c6219ef 
>   core/src/main/scala/kafka/producer/ProducerPool.scala 43df70bb461dd3e385e6b20396adef3c4016a3fc 
>   core/src/main/scala/kafka/server/AbstractFetcherManager.scala 20c00cb8cc2351950edbc8cb1752905a0c26e79f 
>   core/src/main/scala/kafka/server/AbstractFetcherThread.scala 8c281d4668f92eff95a4a5df3c03c4b5b20e7095 
>   core/src/main/scala/kafka/server/KafkaApis.scala f2b027bf944e735fd52cc282690ec1b8395f9290 
>   core/src/main/scala/kafka/server/KafkaConfig.scala 6d74983472249eac808d361344c58cc2858ec971 
>   core/src/main/scala/kafka/server/KafkaHealthcheck.scala 4acdd70fe9c1ee78d6510741006c2ece65450671 
>   core/src/main/scala/kafka/server/KafkaServer.scala 89200da30a04943f0b9befe84ab17e62b747c8c4 
>   core/src/main/scala/kafka/server/MetadataCache.scala bf81a1ab88c14be8697b441eedbeb28fa0112643 
>   core/src/main/scala/kafka/server/ReplicaFetcherManager.scala 351dbbad3bdb709937943b336a5b0a9e0162a5e2 
>   core/src/main/scala/kafka/server/ReplicaFetcherThread.scala 6879e730282185bda3d6bc3659cb15af0672cecf 
>   core/src/main/scala/kafka/server/ReplicaManager.scala fb948b9ab28c516e81dab14dcbe211dcd99842b6 
>   core/src/main/scala/kafka/tools/ConsumerOffsetChecker.scala d1e7c434e77859d746b8dc68dd5d5a3740425e79 
>   core/src/main/scala/kafka/tools/ReplicaVerificationTool.scala ba6ddd7a909df79a0f7d45e8b4a2af94ea0fceb6 
>   core/src/main/scala/kafka/tools/SimpleConsumerShell.scala b4f903b6c7c3bb725cac7c05eb1f885906413c4d 
>   core/src/main/scala/kafka/tools/UpdateOffsetsInZK.scala 111c9a8b94ce45d95551482e9fd3f8c1cccbf548 
>   core/src/main/scala/kafka/utils/Utils.scala 738c1af9ef5de16fdf5130daab69757a14c48b5c 
>   core/src/main/scala/kafka/utils/ZkUtils.scala c14bd455b6642f5e6eb254670bef9f57ae41d6cb 
>   core/src/test/scala/integration/kafka/api/ProducerFailureHandlingTest.scala 90c0b7a19c7af8e5416e4bdba62b9824f1abd5ab 
>   core/src/test/scala/integration/kafka/api/ProducerSendTest.scala b15237b76def3b234924280fa3fdb25dbb0cc0dc 
>   core/src/test/scala/other/kafka/TestOffsetManager.scala 41f334d48897b3027ed54c58bbf4811487d3b191 
>   core/src/test/scala/unit/kafka/KafkaConfigTest.scala 4d36b8b1173f60d43463c13c9d8c1275a84c8c28 
>   core/src/test/scala/unit/kafka/admin/AddPartitionsTest.scala 1bf2667f47853585bc33ffb3e28256ec5f24ae84 
>   core/src/test/scala/unit/kafka/api/RequestResponseSerializationTest.scala a1f72f8c2042ff2a43af503b2e06f84706dad9db 
>   core/src/test/scala/unit/kafka/cluster/BrokerTest.scala PRE-CREATION 
>   core/src/test/scala/unit/kafka/consumer/ConsumerIteratorTest.scala c0355cc0135c6af2e346b4715659353a31723b86 
>   core/src/test/scala/unit/kafka/integration/FetcherTest.scala 25845abbcad2e79f56f729e59239b738d3ddbc9d 
>   core/src/test/scala/unit/kafka/integration/KafkaServerTestHarness.scala ef4c9aeaa2711567915f036fb82bedcf5d106e2b 
>   core/src/test/scala/unit/kafka/integration/TopicMetadataTest.scala 35dc071b1056e775326981573c9618d8046e601d 
>   core/src/test/scala/unit/kafka/log/LogTest.scala c2dd8eb69da8c0982a0dd20231c6f8bd58eb623e 
>   core/src/test/scala/unit/kafka/network/SocketServerTest.scala 78b431f9c88cca1bc5e430ffd41083d0e92b7e75 
>   core/src/test/scala/unit/kafka/producer/AsyncProducerTest.scala 1db6ac329f7b54e600802c8a623f80d159d4e69b 
>   core/src/test/scala/unit/kafka/producer/SyncProducerTest.scala d60d8e0f49443f4dc8bc2cad6e2f951eda28f5cb 
>   core/src/test/scala/unit/kafka/server/AdvertiseBrokerTest.scala f0c4a56b61b4f081cf4bee799c6e9c523ff45e19 
>   core/src/test/scala/unit/kafka/server/KafkaConfigTest.scala 82dce80d553957d8b5776a9e140c346d4e07f766 
>   core/src/test/scala/unit/kafka/server/LeaderElectionTest.scala c2ba07c5fdbaf0e65ca033b2e4d88f45a8a15b2e 
>   core/src/test/scala/unit/kafka/server/LogOffsetTest.scala c06ee756bf0fe07e5d3c92823a476c960b37afd6 
>   core/src/test/scala/unit/kafka/utils/TestUtils.scala 54755e8dd3f23ced313067566cd4ea867f8a496e 
>   system_test/replication_testsuite/testcase_1/testcase_1_properties.json 0c6d7a316cc6b51ac0755ca03558507db0706c31 
>   system_test/utils/kafka_system_test_utils.py 41d511cbc310fa87e0f2cd2f772e479e8e3ae4e2 
> 
> Diff: https://reviews.apache.org/r/28769/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Gwen Shapira
> 
>


Re: Review Request 28769: Patch for KAFKA-1809

Posted by Gwen Shapira <gs...@cloudera.com>.

> On Feb. 11, 2015, 9:45 a.m., Jun Rao wrote:
> > core/src/main/scala/kafka/server/KafkaConfig.scala, lines 70-72
> > <https://reviews.apache.org/r/28769/diff/17/?file=846168#file846168line70>
> >
> >     Same comment as above, does a null string translate into a null in endPoint.host?

yes. null string is equivalent to PLAINTEXT://:6667 and this binds to default interface. Pretty much identical to what we have today, except with PROTOCOL:// in the beginning. I'll add a test.


- Gwen


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


On Feb. 3, 2015, 6:52 p.m., Gwen Shapira wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/28769/
> -----------------------------------------------------------
> 
> (Updated Feb. 3, 2015, 6:52 p.m.)
> 
> 
> Review request for kafka.
> 
> 
> Bugs: KAFKA-1809
>     https://issues.apache.org/jira/browse/KAFKA-1809
> 
> 
> Repository: kafka
> 
> 
> Description
> -------
> 
> changed topicmetadata to include brokerendpoints and fixed few unit tests
> 
> 
> fixing systest and support for binding to default address
> 
> 
> fixed system tests
> 
> 
> fix default address binding and ipv6 support
> 
> 
> fix some issues regarding endpoint parsing. Also, larger segments for systest make the validation much faster
> 
> 
> added link to security wiki in doc
> 
> 
> fixing unit test after rename of ProtocolType to SecurityProtocol
> 
> 
> Following Joe's advice, added security protocol enum on client side, and modified protocol to use ID instead of string.
> 
> 
> validate producer config against enum
> 
> 
> add a second protocol for testing and modify SocketServerTests to check on multi-ports
> 
> 
> Reverted the metadata request changes and removed the explicit security protocol argument. Instead the socketserver will determine the protocol based on the port and add this to the request
> 
> 
> bump version for UpdateMetadataRequest and added support for rolling upgrades with new config
> 
> 
> following tests - fixed LeaderAndISR protocol and ZK registration for backward compatibility
> 
> 
> cleaned up some changes that were actually not necessary. hopefully making this patch slightly easier to review
> 
> 
> undoing some changes that don't belong here
> 
> 
> bring back config lost in cleanup
> 
> 
> fixes neccessary for an all non-plaintext cluster to work
> 
> 
> minor modifications following comments by Jun
> 
> 
> added missing license
> 
> 
> formatting
> 
> 
> clean up imports
> 
> 
> cleaned up V2 to not include host+port field. Using use.new.protocol flag to decide which version to serialize
> 
> 
> change endpoints collection in Broker to Map[protocol, endpoint], mostly to be clear that we intend to have one endpoint per protocol
> 
> 
> validate that listeners and advertised listeners have unique ports and protocols
> 
> 
> support legacy configs
> 
> 
> some fixes following rebase
> 
> 
> Reverted to backward compatible zk registration, changed use.new.protocol to support multiple versions and few minor fixes
> 
> 
> fixing some issues after rebase
> 
> 
> modified inter.broker.protocol config to start with security per feedback
> 
> 
> rebasing on trunk again
> 
> 
> Diffs
> -----
> 
>   clients/src/main/java/org/apache/kafka/clients/producer/ProducerConfig.java 9a43d668376295f47cea0b8eb26b15a6c73bb39c 
>   clients/src/main/java/org/apache/kafka/common/protocol/ApiVersion.java PRE-CREATION 
>   clients/src/main/java/org/apache/kafka/common/protocol/SecurityProtocol.java PRE-CREATION 
>   clients/src/main/java/org/apache/kafka/common/requests/MetadataRequest.java 0186783e1abd0438d6720d035ee1903b51691e09 
>   clients/src/main/java/org/apache/kafka/common/utils/Utils.java 8a305b0fb46563e9e683c327d9e18de532f291de 
>   clients/src/test/java/org/apache/kafka/common/utils/UtilsTest.java 4c2ea34815b63174732d58b699e1a0a9e6ec3b6f 
>   config/server.properties 1614260b71a658b405bb24157c8f12b1f1031aa5 
>   core/src/main/scala/kafka/admin/AdminUtils.scala 28b12c7b89a56c113b665fbde1b95f873f8624a3 
>   core/src/main/scala/kafka/admin/TopicCommand.scala 285c0333ff43543d3e46444c1cd9374bb883bb59 
>   core/src/main/scala/kafka/api/ConsumerMetadataResponse.scala 24aaf954dc42e2084454fa5fc9e8f388ea95c756 
>   core/src/main/scala/kafka/api/LeaderAndIsrRequest.scala 4ff7e8f8cc695551dd5d2fe65c74f6b6c571e340 
>   core/src/main/scala/kafka/api/TopicMetadata.scala 0190076df0adf906ecd332284f222ff974b315fc 
>   core/src/main/scala/kafka/api/TopicMetadataResponse.scala 92ac4e687be22e4800199c0666bfac5e0059e5bb 
>   core/src/main/scala/kafka/api/UpdateMetadataRequest.scala 530982e36b17934b8cc5fb668075a5342e142c59 
>   core/src/main/scala/kafka/client/ClientUtils.scala ebba87f0566684c796c26cb76c64b4640a5ccfde 
>   core/src/main/scala/kafka/cluster/Broker.scala 0060add008bb3bc4b0092f2173c469fce0120be6 
>   core/src/main/scala/kafka/cluster/BrokerEndPoint.scala PRE-CREATION 
>   core/src/main/scala/kafka/cluster/EndPoint.scala PRE-CREATION 
>   core/src/main/scala/kafka/cluster/SecurityProtocol.scala PRE-CREATION 
>   core/src/main/scala/kafka/common/BrokerEndPointNotAvailableException.scala PRE-CREATION 
>   core/src/main/scala/kafka/consumer/ConsumerConfig.scala 9ebbee6c16dc83767297c729d2d74ebbd063a993 
>   core/src/main/scala/kafka/consumer/ConsumerFetcherManager.scala b9e2bea7b442a19bcebd1b350d39541a8c9dd068 
>   core/src/main/scala/kafka/consumer/ConsumerFetcherThread.scala ee6139c901082358382c5ef892281386bf6fc91b 
>   core/src/main/scala/kafka/consumer/ZookeeperConsumerConnector.scala 5487259751ebe19f137948249aa1fd2637d2deb4 
>   core/src/main/scala/kafka/controller/ControllerChannelManager.scala 14b22ab38cc143c8b8d8617d253c5dfd5f5c7b7e 
>   core/src/main/scala/kafka/controller/KafkaController.scala 66df6d2fbdbdd556da6bea0df84f93e0472c8fbf 
>   core/src/main/scala/kafka/javaapi/ConsumerMetadataResponse.scala d281bb31a66fd749ecddfbe38479b6903f436831 
>   core/src/main/scala/kafka/javaapi/TopicMetadata.scala f384e04678df10a5b46a439f475c63371bf8e32b 
>   core/src/main/scala/kafka/network/RequestChannel.scala 7b1db3dbbb2c0676f166890f566c14aa248467ab 
>   core/src/main/scala/kafka/network/SocketServer.scala 39b1651b680b2995cedfde95d74c086d9c6219ef 
>   core/src/main/scala/kafka/producer/ProducerPool.scala 43df70bb461dd3e385e6b20396adef3c4016a3fc 
>   core/src/main/scala/kafka/server/AbstractFetcherManager.scala 20c00cb8cc2351950edbc8cb1752905a0c26e79f 
>   core/src/main/scala/kafka/server/AbstractFetcherThread.scala 8c281d4668f92eff95a4a5df3c03c4b5b20e7095 
>   core/src/main/scala/kafka/server/KafkaApis.scala f2b027bf944e735fd52cc282690ec1b8395f9290 
>   core/src/main/scala/kafka/server/KafkaConfig.scala 6d74983472249eac808d361344c58cc2858ec971 
>   core/src/main/scala/kafka/server/KafkaHealthcheck.scala 4acdd70fe9c1ee78d6510741006c2ece65450671 
>   core/src/main/scala/kafka/server/KafkaServer.scala 89200da30a04943f0b9befe84ab17e62b747c8c4 
>   core/src/main/scala/kafka/server/MetadataCache.scala bf81a1ab88c14be8697b441eedbeb28fa0112643 
>   core/src/main/scala/kafka/server/ReplicaFetcherManager.scala 351dbbad3bdb709937943b336a5b0a9e0162a5e2 
>   core/src/main/scala/kafka/server/ReplicaFetcherThread.scala 6879e730282185bda3d6bc3659cb15af0672cecf 
>   core/src/main/scala/kafka/server/ReplicaManager.scala fb948b9ab28c516e81dab14dcbe211dcd99842b6 
>   core/src/main/scala/kafka/tools/ConsumerOffsetChecker.scala d1e7c434e77859d746b8dc68dd5d5a3740425e79 
>   core/src/main/scala/kafka/tools/ReplicaVerificationTool.scala ba6ddd7a909df79a0f7d45e8b4a2af94ea0fceb6 
>   core/src/main/scala/kafka/tools/SimpleConsumerShell.scala b4f903b6c7c3bb725cac7c05eb1f885906413c4d 
>   core/src/main/scala/kafka/tools/UpdateOffsetsInZK.scala 111c9a8b94ce45d95551482e9fd3f8c1cccbf548 
>   core/src/main/scala/kafka/utils/Utils.scala 738c1af9ef5de16fdf5130daab69757a14c48b5c 
>   core/src/main/scala/kafka/utils/ZkUtils.scala c14bd455b6642f5e6eb254670bef9f57ae41d6cb 
>   core/src/test/scala/integration/kafka/api/ProducerFailureHandlingTest.scala 90c0b7a19c7af8e5416e4bdba62b9824f1abd5ab 
>   core/src/test/scala/integration/kafka/api/ProducerSendTest.scala b15237b76def3b234924280fa3fdb25dbb0cc0dc 
>   core/src/test/scala/other/kafka/TestOffsetManager.scala 41f334d48897b3027ed54c58bbf4811487d3b191 
>   core/src/test/scala/unit/kafka/KafkaConfigTest.scala 4d36b8b1173f60d43463c13c9d8c1275a84c8c28 
>   core/src/test/scala/unit/kafka/admin/AddPartitionsTest.scala 1bf2667f47853585bc33ffb3e28256ec5f24ae84 
>   core/src/test/scala/unit/kafka/api/RequestResponseSerializationTest.scala a1f72f8c2042ff2a43af503b2e06f84706dad9db 
>   core/src/test/scala/unit/kafka/cluster/BrokerTest.scala PRE-CREATION 
>   core/src/test/scala/unit/kafka/consumer/ConsumerIteratorTest.scala c0355cc0135c6af2e346b4715659353a31723b86 
>   core/src/test/scala/unit/kafka/integration/FetcherTest.scala 25845abbcad2e79f56f729e59239b738d3ddbc9d 
>   core/src/test/scala/unit/kafka/integration/KafkaServerTestHarness.scala ef4c9aeaa2711567915f036fb82bedcf5d106e2b 
>   core/src/test/scala/unit/kafka/integration/TopicMetadataTest.scala 35dc071b1056e775326981573c9618d8046e601d 
>   core/src/test/scala/unit/kafka/log/LogTest.scala c2dd8eb69da8c0982a0dd20231c6f8bd58eb623e 
>   core/src/test/scala/unit/kafka/network/SocketServerTest.scala 78b431f9c88cca1bc5e430ffd41083d0e92b7e75 
>   core/src/test/scala/unit/kafka/producer/AsyncProducerTest.scala 1db6ac329f7b54e600802c8a623f80d159d4e69b 
>   core/src/test/scala/unit/kafka/producer/SyncProducerTest.scala d60d8e0f49443f4dc8bc2cad6e2f951eda28f5cb 
>   core/src/test/scala/unit/kafka/server/AdvertiseBrokerTest.scala f0c4a56b61b4f081cf4bee799c6e9c523ff45e19 
>   core/src/test/scala/unit/kafka/server/KafkaConfigTest.scala 82dce80d553957d8b5776a9e140c346d4e07f766 
>   core/src/test/scala/unit/kafka/server/LeaderElectionTest.scala c2ba07c5fdbaf0e65ca033b2e4d88f45a8a15b2e 
>   core/src/test/scala/unit/kafka/server/LogOffsetTest.scala c06ee756bf0fe07e5d3c92823a476c960b37afd6 
>   core/src/test/scala/unit/kafka/utils/TestUtils.scala 54755e8dd3f23ced313067566cd4ea867f8a496e 
>   system_test/replication_testsuite/testcase_1/testcase_1_properties.json 0c6d7a316cc6b51ac0755ca03558507db0706c31 
>   system_test/utils/kafka_system_test_utils.py 41d511cbc310fa87e0f2cd2f772e479e8e3ae4e2 
> 
> Diff: https://reviews.apache.org/r/28769/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Gwen Shapira
> 
>


Re: Review Request 28769: Patch for KAFKA-1809

Posted by Jun Rao <ju...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/28769/#review71916
-----------------------------------------------------------


Thanks for the new patch. Some more comments.

1. We should think through whether we need to add security protocol to existing tools like SimleConsumerShell and UpdateOffsetsInZk.
2. There are unused imports.
3. The patch needs rebase.
4. The following unit test fails consistently.
kafka.network.SocketServerTest > testSocketsCloseOnShutdown FAILED
    org.scalatest.junit.JUnitTestFailedError: expected exception when writing to closed plain socket
        at org.scalatest.junit.AssertionsForJUnit$class.newAssertionFailedException(AssertionsForJUnit.scala:101)
        at kafka.network.SocketServerTest.newAssertionFailedException(SocketServerTest.scala:37)
        at org.scalatest.Assertions$class.fail(Assertions.scala:711)
        at kafka.network.SocketServerTest.fail(SocketServerTest.scala:37)
        at kafka.network.SocketServerTest.testSocketsCloseOnShutdown(SocketServerTest.scala:162)


clients/src/main/java/org/apache/kafka/common/requests/MetadataRequest.java
<https://reviews.apache.org/r/28769/#comment117835>

    Do we need to remove final?



core/src/main/scala/kafka/client/ClientUtils.scala
<https://reviews.apache.org/r/28769/#comment117853>

    Should we default protocolType to PLAINTEXT?



core/src/main/scala/kafka/cluster/Broker.scala
<https://reviews.apache.org/r/28769/#comment117854>

    Instead of representing endpoints as a single string, should we represent it as an array of strings, one for each endpoint?



core/src/main/scala/kafka/cluster/BrokerEndPoint.scala
<https://reviews.apache.org/r/28769/#comment117855>

    For ease of reading, perhaps we can add a comment on what the uri format is?



core/src/main/scala/kafka/cluster/BrokerEndPoint.scala
<https://reviews.apache.org/r/28769/#comment117856>

    Capitalize the first word of each sentence and end the sentence with . This applies to a few other places too.



core/src/main/scala/kafka/consumer/ConsumerConfig.scala
<https://reviews.apache.org/r/28769/#comment117857>

    I thought we won't support security in the old client?



core/src/main/scala/kafka/server/KafkaConfig.scala
<https://reviews.apache.org/r/28769/#comment117861>

    If host.name is not specified, should we generate PLAINTEXT://:6667 instead? When converting that to a BrokerEndPoint, do we get a null for host? It will be useful to add a test for that.



core/src/main/scala/kafka/server/KafkaConfig.scala
<https://reviews.apache.org/r/28769/#comment117863>

    Same comment as above, does a null string translate into a null in endPoint.host?



core/src/main/scala/kafka/server/KafkaConfig.scala
<https://reviews.apache.org/r/28769/#comment117862>

    Do we use PLAINTEXT://0.0.0.0:9092 to bind to all interface or PLAINTEXT://:9092? If it's the former, does it work for ipv6 and do we need to change getListeners() accordingly?



core/src/main/scala/kafka/server/KafkaConfig.scala
<https://reviews.apache.org/r/28769/#comment117859>

    Would it be better to make this a sequence of string (like logDirs)?



core/src/main/scala/kafka/server/KafkaConfig.scala
<https://reviews.apache.org/r/28769/#comment117858>

    This should default to 0.8.2.0. The user will upgrade the broker jar with the default setting first, followed by another rolling bounce after changing the config to 0.8.3.0.


- Jun Rao


On Feb. 3, 2015, 6:52 p.m., Gwen Shapira wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/28769/
> -----------------------------------------------------------
> 
> (Updated Feb. 3, 2015, 6:52 p.m.)
> 
> 
> Review request for kafka.
> 
> 
> Bugs: KAFKA-1809
>     https://issues.apache.org/jira/browse/KAFKA-1809
> 
> 
> Repository: kafka
> 
> 
> Description
> -------
> 
> changed topicmetadata to include brokerendpoints and fixed few unit tests
> 
> 
> fixing systest and support for binding to default address
> 
> 
> fixed system tests
> 
> 
> fix default address binding and ipv6 support
> 
> 
> fix some issues regarding endpoint parsing. Also, larger segments for systest make the validation much faster
> 
> 
> added link to security wiki in doc
> 
> 
> fixing unit test after rename of ProtocolType to SecurityProtocol
> 
> 
> Following Joe's advice, added security protocol enum on client side, and modified protocol to use ID instead of string.
> 
> 
> validate producer config against enum
> 
> 
> add a second protocol for testing and modify SocketServerTests to check on multi-ports
> 
> 
> Reverted the metadata request changes and removed the explicit security protocol argument. Instead the socketserver will determine the protocol based on the port and add this to the request
> 
> 
> bump version for UpdateMetadataRequest and added support for rolling upgrades with new config
> 
> 
> following tests - fixed LeaderAndISR protocol and ZK registration for backward compatibility
> 
> 
> cleaned up some changes that were actually not necessary. hopefully making this patch slightly easier to review
> 
> 
> undoing some changes that don't belong here
> 
> 
> bring back config lost in cleanup
> 
> 
> fixes neccessary for an all non-plaintext cluster to work
> 
> 
> minor modifications following comments by Jun
> 
> 
> added missing license
> 
> 
> formatting
> 
> 
> clean up imports
> 
> 
> cleaned up V2 to not include host+port field. Using use.new.protocol flag to decide which version to serialize
> 
> 
> change endpoints collection in Broker to Map[protocol, endpoint], mostly to be clear that we intend to have one endpoint per protocol
> 
> 
> validate that listeners and advertised listeners have unique ports and protocols
> 
> 
> support legacy configs
> 
> 
> some fixes following rebase
> 
> 
> Reverted to backward compatible zk registration, changed use.new.protocol to support multiple versions and few minor fixes
> 
> 
> fixing some issues after rebase
> 
> 
> modified inter.broker.protocol config to start with security per feedback
> 
> 
> rebasing on trunk again
> 
> 
> Diffs
> -----
> 
>   clients/src/main/java/org/apache/kafka/clients/producer/ProducerConfig.java 9a43d668376295f47cea0b8eb26b15a6c73bb39c 
>   clients/src/main/java/org/apache/kafka/common/protocol/ApiVersion.java PRE-CREATION 
>   clients/src/main/java/org/apache/kafka/common/protocol/SecurityProtocol.java PRE-CREATION 
>   clients/src/main/java/org/apache/kafka/common/requests/MetadataRequest.java 0186783e1abd0438d6720d035ee1903b51691e09 
>   clients/src/main/java/org/apache/kafka/common/utils/Utils.java 8a305b0fb46563e9e683c327d9e18de532f291de 
>   clients/src/test/java/org/apache/kafka/common/utils/UtilsTest.java 4c2ea34815b63174732d58b699e1a0a9e6ec3b6f 
>   config/server.properties 1614260b71a658b405bb24157c8f12b1f1031aa5 
>   core/src/main/scala/kafka/admin/AdminUtils.scala 28b12c7b89a56c113b665fbde1b95f873f8624a3 
>   core/src/main/scala/kafka/admin/TopicCommand.scala 285c0333ff43543d3e46444c1cd9374bb883bb59 
>   core/src/main/scala/kafka/api/ConsumerMetadataResponse.scala 24aaf954dc42e2084454fa5fc9e8f388ea95c756 
>   core/src/main/scala/kafka/api/LeaderAndIsrRequest.scala 4ff7e8f8cc695551dd5d2fe65c74f6b6c571e340 
>   core/src/main/scala/kafka/api/TopicMetadata.scala 0190076df0adf906ecd332284f222ff974b315fc 
>   core/src/main/scala/kafka/api/TopicMetadataResponse.scala 92ac4e687be22e4800199c0666bfac5e0059e5bb 
>   core/src/main/scala/kafka/api/UpdateMetadataRequest.scala 530982e36b17934b8cc5fb668075a5342e142c59 
>   core/src/main/scala/kafka/client/ClientUtils.scala ebba87f0566684c796c26cb76c64b4640a5ccfde 
>   core/src/main/scala/kafka/cluster/Broker.scala 0060add008bb3bc4b0092f2173c469fce0120be6 
>   core/src/main/scala/kafka/cluster/BrokerEndPoint.scala PRE-CREATION 
>   core/src/main/scala/kafka/cluster/EndPoint.scala PRE-CREATION 
>   core/src/main/scala/kafka/cluster/SecurityProtocol.scala PRE-CREATION 
>   core/src/main/scala/kafka/common/BrokerEndPointNotAvailableException.scala PRE-CREATION 
>   core/src/main/scala/kafka/consumer/ConsumerConfig.scala 9ebbee6c16dc83767297c729d2d74ebbd063a993 
>   core/src/main/scala/kafka/consumer/ConsumerFetcherManager.scala b9e2bea7b442a19bcebd1b350d39541a8c9dd068 
>   core/src/main/scala/kafka/consumer/ConsumerFetcherThread.scala ee6139c901082358382c5ef892281386bf6fc91b 
>   core/src/main/scala/kafka/consumer/ZookeeperConsumerConnector.scala 5487259751ebe19f137948249aa1fd2637d2deb4 
>   core/src/main/scala/kafka/controller/ControllerChannelManager.scala 14b22ab38cc143c8b8d8617d253c5dfd5f5c7b7e 
>   core/src/main/scala/kafka/controller/KafkaController.scala 66df6d2fbdbdd556da6bea0df84f93e0472c8fbf 
>   core/src/main/scala/kafka/javaapi/ConsumerMetadataResponse.scala d281bb31a66fd749ecddfbe38479b6903f436831 
>   core/src/main/scala/kafka/javaapi/TopicMetadata.scala f384e04678df10a5b46a439f475c63371bf8e32b 
>   core/src/main/scala/kafka/network/RequestChannel.scala 7b1db3dbbb2c0676f166890f566c14aa248467ab 
>   core/src/main/scala/kafka/network/SocketServer.scala 39b1651b680b2995cedfde95d74c086d9c6219ef 
>   core/src/main/scala/kafka/producer/ProducerPool.scala 43df70bb461dd3e385e6b20396adef3c4016a3fc 
>   core/src/main/scala/kafka/server/AbstractFetcherManager.scala 20c00cb8cc2351950edbc8cb1752905a0c26e79f 
>   core/src/main/scala/kafka/server/AbstractFetcherThread.scala 8c281d4668f92eff95a4a5df3c03c4b5b20e7095 
>   core/src/main/scala/kafka/server/KafkaApis.scala f2b027bf944e735fd52cc282690ec1b8395f9290 
>   core/src/main/scala/kafka/server/KafkaConfig.scala 6d74983472249eac808d361344c58cc2858ec971 
>   core/src/main/scala/kafka/server/KafkaHealthcheck.scala 4acdd70fe9c1ee78d6510741006c2ece65450671 
>   core/src/main/scala/kafka/server/KafkaServer.scala 89200da30a04943f0b9befe84ab17e62b747c8c4 
>   core/src/main/scala/kafka/server/MetadataCache.scala bf81a1ab88c14be8697b441eedbeb28fa0112643 
>   core/src/main/scala/kafka/server/ReplicaFetcherManager.scala 351dbbad3bdb709937943b336a5b0a9e0162a5e2 
>   core/src/main/scala/kafka/server/ReplicaFetcherThread.scala 6879e730282185bda3d6bc3659cb15af0672cecf 
>   core/src/main/scala/kafka/server/ReplicaManager.scala fb948b9ab28c516e81dab14dcbe211dcd99842b6 
>   core/src/main/scala/kafka/tools/ConsumerOffsetChecker.scala d1e7c434e77859d746b8dc68dd5d5a3740425e79 
>   core/src/main/scala/kafka/tools/ReplicaVerificationTool.scala ba6ddd7a909df79a0f7d45e8b4a2af94ea0fceb6 
>   core/src/main/scala/kafka/tools/SimpleConsumerShell.scala b4f903b6c7c3bb725cac7c05eb1f885906413c4d 
>   core/src/main/scala/kafka/tools/UpdateOffsetsInZK.scala 111c9a8b94ce45d95551482e9fd3f8c1cccbf548 
>   core/src/main/scala/kafka/utils/Utils.scala 738c1af9ef5de16fdf5130daab69757a14c48b5c 
>   core/src/main/scala/kafka/utils/ZkUtils.scala c14bd455b6642f5e6eb254670bef9f57ae41d6cb 
>   core/src/test/scala/integration/kafka/api/ProducerFailureHandlingTest.scala 90c0b7a19c7af8e5416e4bdba62b9824f1abd5ab 
>   core/src/test/scala/integration/kafka/api/ProducerSendTest.scala b15237b76def3b234924280fa3fdb25dbb0cc0dc 
>   core/src/test/scala/other/kafka/TestOffsetManager.scala 41f334d48897b3027ed54c58bbf4811487d3b191 
>   core/src/test/scala/unit/kafka/KafkaConfigTest.scala 4d36b8b1173f60d43463c13c9d8c1275a84c8c28 
>   core/src/test/scala/unit/kafka/admin/AddPartitionsTest.scala 1bf2667f47853585bc33ffb3e28256ec5f24ae84 
>   core/src/test/scala/unit/kafka/api/RequestResponseSerializationTest.scala a1f72f8c2042ff2a43af503b2e06f84706dad9db 
>   core/src/test/scala/unit/kafka/cluster/BrokerTest.scala PRE-CREATION 
>   core/src/test/scala/unit/kafka/consumer/ConsumerIteratorTest.scala c0355cc0135c6af2e346b4715659353a31723b86 
>   core/src/test/scala/unit/kafka/integration/FetcherTest.scala 25845abbcad2e79f56f729e59239b738d3ddbc9d 
>   core/src/test/scala/unit/kafka/integration/KafkaServerTestHarness.scala ef4c9aeaa2711567915f036fb82bedcf5d106e2b 
>   core/src/test/scala/unit/kafka/integration/TopicMetadataTest.scala 35dc071b1056e775326981573c9618d8046e601d 
>   core/src/test/scala/unit/kafka/log/LogTest.scala c2dd8eb69da8c0982a0dd20231c6f8bd58eb623e 
>   core/src/test/scala/unit/kafka/network/SocketServerTest.scala 78b431f9c88cca1bc5e430ffd41083d0e92b7e75 
>   core/src/test/scala/unit/kafka/producer/AsyncProducerTest.scala 1db6ac329f7b54e600802c8a623f80d159d4e69b 
>   core/src/test/scala/unit/kafka/producer/SyncProducerTest.scala d60d8e0f49443f4dc8bc2cad6e2f951eda28f5cb 
>   core/src/test/scala/unit/kafka/server/AdvertiseBrokerTest.scala f0c4a56b61b4f081cf4bee799c6e9c523ff45e19 
>   core/src/test/scala/unit/kafka/server/KafkaConfigTest.scala 82dce80d553957d8b5776a9e140c346d4e07f766 
>   core/src/test/scala/unit/kafka/server/LeaderElectionTest.scala c2ba07c5fdbaf0e65ca033b2e4d88f45a8a15b2e 
>   core/src/test/scala/unit/kafka/server/LogOffsetTest.scala c06ee756bf0fe07e5d3c92823a476c960b37afd6 
>   core/src/test/scala/unit/kafka/utils/TestUtils.scala 54755e8dd3f23ced313067566cd4ea867f8a496e 
>   system_test/replication_testsuite/testcase_1/testcase_1_properties.json 0c6d7a316cc6b51ac0755ca03558507db0706c31 
>   system_test/utils/kafka_system_test_utils.py 41d511cbc310fa87e0f2cd2f772e479e8e3ae4e2 
> 
> Diff: https://reviews.apache.org/r/28769/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Gwen Shapira
> 
>


Re: Review Request 28769: Patch for KAFKA-1809

Posted by Gwen Shapira <gs...@cloudera.com>.

> On Feb. 12, 2015, 7:46 p.m., Jun Rao wrote:
> > clients/src/main/java/org/apache/kafka/common/protocol/ApiVersion.java, lines 20-27
> > <https://reviews.apache.org/r/28769/diff/17/?file=846135#file846135line20>
> >
> >     It seems that we rely on the lexicographical ordering of the enum name for ordering. This may cause problems when we have versions like 0.10.0.0. So, we probably need a more reliable way for ordering.

Actaully its order in the enum itself (i.e. based on ordinal value of each enumeration constant. As long as we keep adding new versions after old ones, the actual version number doesn't matter. I'll add a comment.


- Gwen


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


On Feb. 3, 2015, 6:52 p.m., Gwen Shapira wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/28769/
> -----------------------------------------------------------
> 
> (Updated Feb. 3, 2015, 6:52 p.m.)
> 
> 
> Review request for kafka.
> 
> 
> Bugs: KAFKA-1809
>     https://issues.apache.org/jira/browse/KAFKA-1809
> 
> 
> Repository: kafka
> 
> 
> Description
> -------
> 
> changed topicmetadata to include brokerendpoints and fixed few unit tests
> 
> 
> fixing systest and support for binding to default address
> 
> 
> fixed system tests
> 
> 
> fix default address binding and ipv6 support
> 
> 
> fix some issues regarding endpoint parsing. Also, larger segments for systest make the validation much faster
> 
> 
> added link to security wiki in doc
> 
> 
> fixing unit test after rename of ProtocolType to SecurityProtocol
> 
> 
> Following Joe's advice, added security protocol enum on client side, and modified protocol to use ID instead of string.
> 
> 
> validate producer config against enum
> 
> 
> add a second protocol for testing and modify SocketServerTests to check on multi-ports
> 
> 
> Reverted the metadata request changes and removed the explicit security protocol argument. Instead the socketserver will determine the protocol based on the port and add this to the request
> 
> 
> bump version for UpdateMetadataRequest and added support for rolling upgrades with new config
> 
> 
> following tests - fixed LeaderAndISR protocol and ZK registration for backward compatibility
> 
> 
> cleaned up some changes that were actually not necessary. hopefully making this patch slightly easier to review
> 
> 
> undoing some changes that don't belong here
> 
> 
> bring back config lost in cleanup
> 
> 
> fixes neccessary for an all non-plaintext cluster to work
> 
> 
> minor modifications following comments by Jun
> 
> 
> added missing license
> 
> 
> formatting
> 
> 
> clean up imports
> 
> 
> cleaned up V2 to not include host+port field. Using use.new.protocol flag to decide which version to serialize
> 
> 
> change endpoints collection in Broker to Map[protocol, endpoint], mostly to be clear that we intend to have one endpoint per protocol
> 
> 
> validate that listeners and advertised listeners have unique ports and protocols
> 
> 
> support legacy configs
> 
> 
> some fixes following rebase
> 
> 
> Reverted to backward compatible zk registration, changed use.new.protocol to support multiple versions and few minor fixes
> 
> 
> fixing some issues after rebase
> 
> 
> modified inter.broker.protocol config to start with security per feedback
> 
> 
> rebasing on trunk again
> 
> 
> Diffs
> -----
> 
>   clients/src/main/java/org/apache/kafka/clients/producer/ProducerConfig.java 9a43d668376295f47cea0b8eb26b15a6c73bb39c 
>   clients/src/main/java/org/apache/kafka/common/protocol/ApiVersion.java PRE-CREATION 
>   clients/src/main/java/org/apache/kafka/common/protocol/SecurityProtocol.java PRE-CREATION 
>   clients/src/main/java/org/apache/kafka/common/requests/MetadataRequest.java 0186783e1abd0438d6720d035ee1903b51691e09 
>   clients/src/main/java/org/apache/kafka/common/utils/Utils.java 8a305b0fb46563e9e683c327d9e18de532f291de 
>   clients/src/test/java/org/apache/kafka/common/utils/UtilsTest.java 4c2ea34815b63174732d58b699e1a0a9e6ec3b6f 
>   config/server.properties 1614260b71a658b405bb24157c8f12b1f1031aa5 
>   core/src/main/scala/kafka/admin/AdminUtils.scala 28b12c7b89a56c113b665fbde1b95f873f8624a3 
>   core/src/main/scala/kafka/admin/TopicCommand.scala 285c0333ff43543d3e46444c1cd9374bb883bb59 
>   core/src/main/scala/kafka/api/ConsumerMetadataResponse.scala 24aaf954dc42e2084454fa5fc9e8f388ea95c756 
>   core/src/main/scala/kafka/api/LeaderAndIsrRequest.scala 4ff7e8f8cc695551dd5d2fe65c74f6b6c571e340 
>   core/src/main/scala/kafka/api/TopicMetadata.scala 0190076df0adf906ecd332284f222ff974b315fc 
>   core/src/main/scala/kafka/api/TopicMetadataResponse.scala 92ac4e687be22e4800199c0666bfac5e0059e5bb 
>   core/src/main/scala/kafka/api/UpdateMetadataRequest.scala 530982e36b17934b8cc5fb668075a5342e142c59 
>   core/src/main/scala/kafka/client/ClientUtils.scala ebba87f0566684c796c26cb76c64b4640a5ccfde 
>   core/src/main/scala/kafka/cluster/Broker.scala 0060add008bb3bc4b0092f2173c469fce0120be6 
>   core/src/main/scala/kafka/cluster/BrokerEndPoint.scala PRE-CREATION 
>   core/src/main/scala/kafka/cluster/EndPoint.scala PRE-CREATION 
>   core/src/main/scala/kafka/cluster/SecurityProtocol.scala PRE-CREATION 
>   core/src/main/scala/kafka/common/BrokerEndPointNotAvailableException.scala PRE-CREATION 
>   core/src/main/scala/kafka/consumer/ConsumerConfig.scala 9ebbee6c16dc83767297c729d2d74ebbd063a993 
>   core/src/main/scala/kafka/consumer/ConsumerFetcherManager.scala b9e2bea7b442a19bcebd1b350d39541a8c9dd068 
>   core/src/main/scala/kafka/consumer/ConsumerFetcherThread.scala ee6139c901082358382c5ef892281386bf6fc91b 
>   core/src/main/scala/kafka/consumer/ZookeeperConsumerConnector.scala 5487259751ebe19f137948249aa1fd2637d2deb4 
>   core/src/main/scala/kafka/controller/ControllerChannelManager.scala 14b22ab38cc143c8b8d8617d253c5dfd5f5c7b7e 
>   core/src/main/scala/kafka/controller/KafkaController.scala 66df6d2fbdbdd556da6bea0df84f93e0472c8fbf 
>   core/src/main/scala/kafka/javaapi/ConsumerMetadataResponse.scala d281bb31a66fd749ecddfbe38479b6903f436831 
>   core/src/main/scala/kafka/javaapi/TopicMetadata.scala f384e04678df10a5b46a439f475c63371bf8e32b 
>   core/src/main/scala/kafka/network/RequestChannel.scala 7b1db3dbbb2c0676f166890f566c14aa248467ab 
>   core/src/main/scala/kafka/network/SocketServer.scala 39b1651b680b2995cedfde95d74c086d9c6219ef 
>   core/src/main/scala/kafka/producer/ProducerPool.scala 43df70bb461dd3e385e6b20396adef3c4016a3fc 
>   core/src/main/scala/kafka/server/AbstractFetcherManager.scala 20c00cb8cc2351950edbc8cb1752905a0c26e79f 
>   core/src/main/scala/kafka/server/AbstractFetcherThread.scala 8c281d4668f92eff95a4a5df3c03c4b5b20e7095 
>   core/src/main/scala/kafka/server/KafkaApis.scala f2b027bf944e735fd52cc282690ec1b8395f9290 
>   core/src/main/scala/kafka/server/KafkaConfig.scala 6d74983472249eac808d361344c58cc2858ec971 
>   core/src/main/scala/kafka/server/KafkaHealthcheck.scala 4acdd70fe9c1ee78d6510741006c2ece65450671 
>   core/src/main/scala/kafka/server/KafkaServer.scala 89200da30a04943f0b9befe84ab17e62b747c8c4 
>   core/src/main/scala/kafka/server/MetadataCache.scala bf81a1ab88c14be8697b441eedbeb28fa0112643 
>   core/src/main/scala/kafka/server/ReplicaFetcherManager.scala 351dbbad3bdb709937943b336a5b0a9e0162a5e2 
>   core/src/main/scala/kafka/server/ReplicaFetcherThread.scala 6879e730282185bda3d6bc3659cb15af0672cecf 
>   core/src/main/scala/kafka/server/ReplicaManager.scala fb948b9ab28c516e81dab14dcbe211dcd99842b6 
>   core/src/main/scala/kafka/tools/ConsumerOffsetChecker.scala d1e7c434e77859d746b8dc68dd5d5a3740425e79 
>   core/src/main/scala/kafka/tools/ReplicaVerificationTool.scala ba6ddd7a909df79a0f7d45e8b4a2af94ea0fceb6 
>   core/src/main/scala/kafka/tools/SimpleConsumerShell.scala b4f903b6c7c3bb725cac7c05eb1f885906413c4d 
>   core/src/main/scala/kafka/tools/UpdateOffsetsInZK.scala 111c9a8b94ce45d95551482e9fd3f8c1cccbf548 
>   core/src/main/scala/kafka/utils/Utils.scala 738c1af9ef5de16fdf5130daab69757a14c48b5c 
>   core/src/main/scala/kafka/utils/ZkUtils.scala c14bd455b6642f5e6eb254670bef9f57ae41d6cb 
>   core/src/test/scala/integration/kafka/api/ProducerFailureHandlingTest.scala 90c0b7a19c7af8e5416e4bdba62b9824f1abd5ab 
>   core/src/test/scala/integration/kafka/api/ProducerSendTest.scala b15237b76def3b234924280fa3fdb25dbb0cc0dc 
>   core/src/test/scala/other/kafka/TestOffsetManager.scala 41f334d48897b3027ed54c58bbf4811487d3b191 
>   core/src/test/scala/unit/kafka/KafkaConfigTest.scala 4d36b8b1173f60d43463c13c9d8c1275a84c8c28 
>   core/src/test/scala/unit/kafka/admin/AddPartitionsTest.scala 1bf2667f47853585bc33ffb3e28256ec5f24ae84 
>   core/src/test/scala/unit/kafka/api/RequestResponseSerializationTest.scala a1f72f8c2042ff2a43af503b2e06f84706dad9db 
>   core/src/test/scala/unit/kafka/cluster/BrokerTest.scala PRE-CREATION 
>   core/src/test/scala/unit/kafka/consumer/ConsumerIteratorTest.scala c0355cc0135c6af2e346b4715659353a31723b86 
>   core/src/test/scala/unit/kafka/integration/FetcherTest.scala 25845abbcad2e79f56f729e59239b738d3ddbc9d 
>   core/src/test/scala/unit/kafka/integration/KafkaServerTestHarness.scala ef4c9aeaa2711567915f036fb82bedcf5d106e2b 
>   core/src/test/scala/unit/kafka/integration/TopicMetadataTest.scala 35dc071b1056e775326981573c9618d8046e601d 
>   core/src/test/scala/unit/kafka/log/LogTest.scala c2dd8eb69da8c0982a0dd20231c6f8bd58eb623e 
>   core/src/test/scala/unit/kafka/network/SocketServerTest.scala 78b431f9c88cca1bc5e430ffd41083d0e92b7e75 
>   core/src/test/scala/unit/kafka/producer/AsyncProducerTest.scala 1db6ac329f7b54e600802c8a623f80d159d4e69b 
>   core/src/test/scala/unit/kafka/producer/SyncProducerTest.scala d60d8e0f49443f4dc8bc2cad6e2f951eda28f5cb 
>   core/src/test/scala/unit/kafka/server/AdvertiseBrokerTest.scala f0c4a56b61b4f081cf4bee799c6e9c523ff45e19 
>   core/src/test/scala/unit/kafka/server/KafkaConfigTest.scala 82dce80d553957d8b5776a9e140c346d4e07f766 
>   core/src/test/scala/unit/kafka/server/LeaderElectionTest.scala c2ba07c5fdbaf0e65ca033b2e4d88f45a8a15b2e 
>   core/src/test/scala/unit/kafka/server/LogOffsetTest.scala c06ee756bf0fe07e5d3c92823a476c960b37afd6 
>   core/src/test/scala/unit/kafka/utils/TestUtils.scala 54755e8dd3f23ced313067566cd4ea867f8a496e 
>   system_test/replication_testsuite/testcase_1/testcase_1_properties.json 0c6d7a316cc6b51ac0755ca03558507db0706c31 
>   system_test/utils/kafka_system_test_utils.py 41d511cbc310fa87e0f2cd2f772e479e8e3ae4e2 
> 
> Diff: https://reviews.apache.org/r/28769/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Gwen Shapira
> 
>


Re: Review Request 28769: Patch for KAFKA-1809

Posted by Jun Rao <ju...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/28769/#review72226
-----------------------------------------------------------



clients/src/main/java/org/apache/kafka/common/protocol/ApiVersion.java
<https://reviews.apache.org/r/28769/#comment118255>

    It seems that we rely on the lexicographical ordering of the enum name for ordering. This may cause problems when we have versions like 0.10.0.0. So, we probably need a more reliable way for ordering.


- Jun Rao


On Feb. 3, 2015, 6:52 p.m., Gwen Shapira wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/28769/
> -----------------------------------------------------------
> 
> (Updated Feb. 3, 2015, 6:52 p.m.)
> 
> 
> Review request for kafka.
> 
> 
> Bugs: KAFKA-1809
>     https://issues.apache.org/jira/browse/KAFKA-1809
> 
> 
> Repository: kafka
> 
> 
> Description
> -------
> 
> changed topicmetadata to include brokerendpoints and fixed few unit tests
> 
> 
> fixing systest and support for binding to default address
> 
> 
> fixed system tests
> 
> 
> fix default address binding and ipv6 support
> 
> 
> fix some issues regarding endpoint parsing. Also, larger segments for systest make the validation much faster
> 
> 
> added link to security wiki in doc
> 
> 
> fixing unit test after rename of ProtocolType to SecurityProtocol
> 
> 
> Following Joe's advice, added security protocol enum on client side, and modified protocol to use ID instead of string.
> 
> 
> validate producer config against enum
> 
> 
> add a second protocol for testing and modify SocketServerTests to check on multi-ports
> 
> 
> Reverted the metadata request changes and removed the explicit security protocol argument. Instead the socketserver will determine the protocol based on the port and add this to the request
> 
> 
> bump version for UpdateMetadataRequest and added support for rolling upgrades with new config
> 
> 
> following tests - fixed LeaderAndISR protocol and ZK registration for backward compatibility
> 
> 
> cleaned up some changes that were actually not necessary. hopefully making this patch slightly easier to review
> 
> 
> undoing some changes that don't belong here
> 
> 
> bring back config lost in cleanup
> 
> 
> fixes neccessary for an all non-plaintext cluster to work
> 
> 
> minor modifications following comments by Jun
> 
> 
> added missing license
> 
> 
> formatting
> 
> 
> clean up imports
> 
> 
> cleaned up V2 to not include host+port field. Using use.new.protocol flag to decide which version to serialize
> 
> 
> change endpoints collection in Broker to Map[protocol, endpoint], mostly to be clear that we intend to have one endpoint per protocol
> 
> 
> validate that listeners and advertised listeners have unique ports and protocols
> 
> 
> support legacy configs
> 
> 
> some fixes following rebase
> 
> 
> Reverted to backward compatible zk registration, changed use.new.protocol to support multiple versions and few minor fixes
> 
> 
> fixing some issues after rebase
> 
> 
> modified inter.broker.protocol config to start with security per feedback
> 
> 
> rebasing on trunk again
> 
> 
> Diffs
> -----
> 
>   clients/src/main/java/org/apache/kafka/clients/producer/ProducerConfig.java 9a43d668376295f47cea0b8eb26b15a6c73bb39c 
>   clients/src/main/java/org/apache/kafka/common/protocol/ApiVersion.java PRE-CREATION 
>   clients/src/main/java/org/apache/kafka/common/protocol/SecurityProtocol.java PRE-CREATION 
>   clients/src/main/java/org/apache/kafka/common/requests/MetadataRequest.java 0186783e1abd0438d6720d035ee1903b51691e09 
>   clients/src/main/java/org/apache/kafka/common/utils/Utils.java 8a305b0fb46563e9e683c327d9e18de532f291de 
>   clients/src/test/java/org/apache/kafka/common/utils/UtilsTest.java 4c2ea34815b63174732d58b699e1a0a9e6ec3b6f 
>   config/server.properties 1614260b71a658b405bb24157c8f12b1f1031aa5 
>   core/src/main/scala/kafka/admin/AdminUtils.scala 28b12c7b89a56c113b665fbde1b95f873f8624a3 
>   core/src/main/scala/kafka/admin/TopicCommand.scala 285c0333ff43543d3e46444c1cd9374bb883bb59 
>   core/src/main/scala/kafka/api/ConsumerMetadataResponse.scala 24aaf954dc42e2084454fa5fc9e8f388ea95c756 
>   core/src/main/scala/kafka/api/LeaderAndIsrRequest.scala 4ff7e8f8cc695551dd5d2fe65c74f6b6c571e340 
>   core/src/main/scala/kafka/api/TopicMetadata.scala 0190076df0adf906ecd332284f222ff974b315fc 
>   core/src/main/scala/kafka/api/TopicMetadataResponse.scala 92ac4e687be22e4800199c0666bfac5e0059e5bb 
>   core/src/main/scala/kafka/api/UpdateMetadataRequest.scala 530982e36b17934b8cc5fb668075a5342e142c59 
>   core/src/main/scala/kafka/client/ClientUtils.scala ebba87f0566684c796c26cb76c64b4640a5ccfde 
>   core/src/main/scala/kafka/cluster/Broker.scala 0060add008bb3bc4b0092f2173c469fce0120be6 
>   core/src/main/scala/kafka/cluster/BrokerEndPoint.scala PRE-CREATION 
>   core/src/main/scala/kafka/cluster/EndPoint.scala PRE-CREATION 
>   core/src/main/scala/kafka/cluster/SecurityProtocol.scala PRE-CREATION 
>   core/src/main/scala/kafka/common/BrokerEndPointNotAvailableException.scala PRE-CREATION 
>   core/src/main/scala/kafka/consumer/ConsumerConfig.scala 9ebbee6c16dc83767297c729d2d74ebbd063a993 
>   core/src/main/scala/kafka/consumer/ConsumerFetcherManager.scala b9e2bea7b442a19bcebd1b350d39541a8c9dd068 
>   core/src/main/scala/kafka/consumer/ConsumerFetcherThread.scala ee6139c901082358382c5ef892281386bf6fc91b 
>   core/src/main/scala/kafka/consumer/ZookeeperConsumerConnector.scala 5487259751ebe19f137948249aa1fd2637d2deb4 
>   core/src/main/scala/kafka/controller/ControllerChannelManager.scala 14b22ab38cc143c8b8d8617d253c5dfd5f5c7b7e 
>   core/src/main/scala/kafka/controller/KafkaController.scala 66df6d2fbdbdd556da6bea0df84f93e0472c8fbf 
>   core/src/main/scala/kafka/javaapi/ConsumerMetadataResponse.scala d281bb31a66fd749ecddfbe38479b6903f436831 
>   core/src/main/scala/kafka/javaapi/TopicMetadata.scala f384e04678df10a5b46a439f475c63371bf8e32b 
>   core/src/main/scala/kafka/network/RequestChannel.scala 7b1db3dbbb2c0676f166890f566c14aa248467ab 
>   core/src/main/scala/kafka/network/SocketServer.scala 39b1651b680b2995cedfde95d74c086d9c6219ef 
>   core/src/main/scala/kafka/producer/ProducerPool.scala 43df70bb461dd3e385e6b20396adef3c4016a3fc 
>   core/src/main/scala/kafka/server/AbstractFetcherManager.scala 20c00cb8cc2351950edbc8cb1752905a0c26e79f 
>   core/src/main/scala/kafka/server/AbstractFetcherThread.scala 8c281d4668f92eff95a4a5df3c03c4b5b20e7095 
>   core/src/main/scala/kafka/server/KafkaApis.scala f2b027bf944e735fd52cc282690ec1b8395f9290 
>   core/src/main/scala/kafka/server/KafkaConfig.scala 6d74983472249eac808d361344c58cc2858ec971 
>   core/src/main/scala/kafka/server/KafkaHealthcheck.scala 4acdd70fe9c1ee78d6510741006c2ece65450671 
>   core/src/main/scala/kafka/server/KafkaServer.scala 89200da30a04943f0b9befe84ab17e62b747c8c4 
>   core/src/main/scala/kafka/server/MetadataCache.scala bf81a1ab88c14be8697b441eedbeb28fa0112643 
>   core/src/main/scala/kafka/server/ReplicaFetcherManager.scala 351dbbad3bdb709937943b336a5b0a9e0162a5e2 
>   core/src/main/scala/kafka/server/ReplicaFetcherThread.scala 6879e730282185bda3d6bc3659cb15af0672cecf 
>   core/src/main/scala/kafka/server/ReplicaManager.scala fb948b9ab28c516e81dab14dcbe211dcd99842b6 
>   core/src/main/scala/kafka/tools/ConsumerOffsetChecker.scala d1e7c434e77859d746b8dc68dd5d5a3740425e79 
>   core/src/main/scala/kafka/tools/ReplicaVerificationTool.scala ba6ddd7a909df79a0f7d45e8b4a2af94ea0fceb6 
>   core/src/main/scala/kafka/tools/SimpleConsumerShell.scala b4f903b6c7c3bb725cac7c05eb1f885906413c4d 
>   core/src/main/scala/kafka/tools/UpdateOffsetsInZK.scala 111c9a8b94ce45d95551482e9fd3f8c1cccbf548 
>   core/src/main/scala/kafka/utils/Utils.scala 738c1af9ef5de16fdf5130daab69757a14c48b5c 
>   core/src/main/scala/kafka/utils/ZkUtils.scala c14bd455b6642f5e6eb254670bef9f57ae41d6cb 
>   core/src/test/scala/integration/kafka/api/ProducerFailureHandlingTest.scala 90c0b7a19c7af8e5416e4bdba62b9824f1abd5ab 
>   core/src/test/scala/integration/kafka/api/ProducerSendTest.scala b15237b76def3b234924280fa3fdb25dbb0cc0dc 
>   core/src/test/scala/other/kafka/TestOffsetManager.scala 41f334d48897b3027ed54c58bbf4811487d3b191 
>   core/src/test/scala/unit/kafka/KafkaConfigTest.scala 4d36b8b1173f60d43463c13c9d8c1275a84c8c28 
>   core/src/test/scala/unit/kafka/admin/AddPartitionsTest.scala 1bf2667f47853585bc33ffb3e28256ec5f24ae84 
>   core/src/test/scala/unit/kafka/api/RequestResponseSerializationTest.scala a1f72f8c2042ff2a43af503b2e06f84706dad9db 
>   core/src/test/scala/unit/kafka/cluster/BrokerTest.scala PRE-CREATION 
>   core/src/test/scala/unit/kafka/consumer/ConsumerIteratorTest.scala c0355cc0135c6af2e346b4715659353a31723b86 
>   core/src/test/scala/unit/kafka/integration/FetcherTest.scala 25845abbcad2e79f56f729e59239b738d3ddbc9d 
>   core/src/test/scala/unit/kafka/integration/KafkaServerTestHarness.scala ef4c9aeaa2711567915f036fb82bedcf5d106e2b 
>   core/src/test/scala/unit/kafka/integration/TopicMetadataTest.scala 35dc071b1056e775326981573c9618d8046e601d 
>   core/src/test/scala/unit/kafka/log/LogTest.scala c2dd8eb69da8c0982a0dd20231c6f8bd58eb623e 
>   core/src/test/scala/unit/kafka/network/SocketServerTest.scala 78b431f9c88cca1bc5e430ffd41083d0e92b7e75 
>   core/src/test/scala/unit/kafka/producer/AsyncProducerTest.scala 1db6ac329f7b54e600802c8a623f80d159d4e69b 
>   core/src/test/scala/unit/kafka/producer/SyncProducerTest.scala d60d8e0f49443f4dc8bc2cad6e2f951eda28f5cb 
>   core/src/test/scala/unit/kafka/server/AdvertiseBrokerTest.scala f0c4a56b61b4f081cf4bee799c6e9c523ff45e19 
>   core/src/test/scala/unit/kafka/server/KafkaConfigTest.scala 82dce80d553957d8b5776a9e140c346d4e07f766 
>   core/src/test/scala/unit/kafka/server/LeaderElectionTest.scala c2ba07c5fdbaf0e65ca033b2e4d88f45a8a15b2e 
>   core/src/test/scala/unit/kafka/server/LogOffsetTest.scala c06ee756bf0fe07e5d3c92823a476c960b37afd6 
>   core/src/test/scala/unit/kafka/utils/TestUtils.scala 54755e8dd3f23ced313067566cd4ea867f8a496e 
>   system_test/replication_testsuite/testcase_1/testcase_1_properties.json 0c6d7a316cc6b51ac0755ca03558507db0706c31 
>   system_test/utils/kafka_system_test_utils.py 41d511cbc310fa87e0f2cd2f772e479e8e3ae4e2 
> 
> Diff: https://reviews.apache.org/r/28769/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Gwen Shapira
> 
>


Re: Review Request 28769: Patch for KAFKA-1809

Posted by Gwen Shapira <gs...@cloudera.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/28769/
-----------------------------------------------------------

(Updated Feb. 3, 2015, 6:52 p.m.)


Review request for kafka.


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


Repository: kafka


Description (updated)
-------

changed topicmetadata to include brokerendpoints and fixed few unit tests


fixing systest and support for binding to default address


fixed system tests


fix default address binding and ipv6 support


fix some issues regarding endpoint parsing. Also, larger segments for systest make the validation much faster


added link to security wiki in doc


fixing unit test after rename of ProtocolType to SecurityProtocol


Following Joe's advice, added security protocol enum on client side, and modified protocol to use ID instead of string.


validate producer config against enum


add a second protocol for testing and modify SocketServerTests to check on multi-ports


Reverted the metadata request changes and removed the explicit security protocol argument. Instead the socketserver will determine the protocol based on the port and add this to the request


bump version for UpdateMetadataRequest and added support for rolling upgrades with new config


following tests - fixed LeaderAndISR protocol and ZK registration for backward compatibility


cleaned up some changes that were actually not necessary. hopefully making this patch slightly easier to review


undoing some changes that don't belong here


bring back config lost in cleanup


fixes neccessary for an all non-plaintext cluster to work


minor modifications following comments by Jun


added missing license


formatting


clean up imports


cleaned up V2 to not include host+port field. Using use.new.protocol flag to decide which version to serialize


change endpoints collection in Broker to Map[protocol, endpoint], mostly to be clear that we intend to have one endpoint per protocol


validate that listeners and advertised listeners have unique ports and protocols


support legacy configs


some fixes following rebase


Reverted to backward compatible zk registration, changed use.new.protocol to support multiple versions and few minor fixes


fixing some issues after rebase


modified inter.broker.protocol config to start with security per feedback


rebasing on trunk again


Diffs (updated)
-----

  clients/src/main/java/org/apache/kafka/clients/producer/ProducerConfig.java 9a43d668376295f47cea0b8eb26b15a6c73bb39c 
  clients/src/main/java/org/apache/kafka/common/protocol/ApiVersion.java PRE-CREATION 
  clients/src/main/java/org/apache/kafka/common/protocol/SecurityProtocol.java PRE-CREATION 
  clients/src/main/java/org/apache/kafka/common/requests/MetadataRequest.java 0186783e1abd0438d6720d035ee1903b51691e09 
  clients/src/main/java/org/apache/kafka/common/utils/Utils.java 8a305b0fb46563e9e683c327d9e18de532f291de 
  clients/src/test/java/org/apache/kafka/common/utils/UtilsTest.java 4c2ea34815b63174732d58b699e1a0a9e6ec3b6f 
  config/server.properties 1614260b71a658b405bb24157c8f12b1f1031aa5 
  core/src/main/scala/kafka/admin/AdminUtils.scala 28b12c7b89a56c113b665fbde1b95f873f8624a3 
  core/src/main/scala/kafka/admin/TopicCommand.scala 285c0333ff43543d3e46444c1cd9374bb883bb59 
  core/src/main/scala/kafka/api/ConsumerMetadataResponse.scala 24aaf954dc42e2084454fa5fc9e8f388ea95c756 
  core/src/main/scala/kafka/api/LeaderAndIsrRequest.scala 4ff7e8f8cc695551dd5d2fe65c74f6b6c571e340 
  core/src/main/scala/kafka/api/TopicMetadata.scala 0190076df0adf906ecd332284f222ff974b315fc 
  core/src/main/scala/kafka/api/TopicMetadataResponse.scala 92ac4e687be22e4800199c0666bfac5e0059e5bb 
  core/src/main/scala/kafka/api/UpdateMetadataRequest.scala 530982e36b17934b8cc5fb668075a5342e142c59 
  core/src/main/scala/kafka/client/ClientUtils.scala ebba87f0566684c796c26cb76c64b4640a5ccfde 
  core/src/main/scala/kafka/cluster/Broker.scala 0060add008bb3bc4b0092f2173c469fce0120be6 
  core/src/main/scala/kafka/cluster/BrokerEndPoint.scala PRE-CREATION 
  core/src/main/scala/kafka/cluster/EndPoint.scala PRE-CREATION 
  core/src/main/scala/kafka/cluster/SecurityProtocol.scala PRE-CREATION 
  core/src/main/scala/kafka/common/BrokerEndPointNotAvailableException.scala PRE-CREATION 
  core/src/main/scala/kafka/consumer/ConsumerConfig.scala 9ebbee6c16dc83767297c729d2d74ebbd063a993 
  core/src/main/scala/kafka/consumer/ConsumerFetcherManager.scala b9e2bea7b442a19bcebd1b350d39541a8c9dd068 
  core/src/main/scala/kafka/consumer/ConsumerFetcherThread.scala ee6139c901082358382c5ef892281386bf6fc91b 
  core/src/main/scala/kafka/consumer/ZookeeperConsumerConnector.scala 5487259751ebe19f137948249aa1fd2637d2deb4 
  core/src/main/scala/kafka/controller/ControllerChannelManager.scala 14b22ab38cc143c8b8d8617d253c5dfd5f5c7b7e 
  core/src/main/scala/kafka/controller/KafkaController.scala 66df6d2fbdbdd556da6bea0df84f93e0472c8fbf 
  core/src/main/scala/kafka/javaapi/ConsumerMetadataResponse.scala d281bb31a66fd749ecddfbe38479b6903f436831 
  core/src/main/scala/kafka/javaapi/TopicMetadata.scala f384e04678df10a5b46a439f475c63371bf8e32b 
  core/src/main/scala/kafka/network/RequestChannel.scala 7b1db3dbbb2c0676f166890f566c14aa248467ab 
  core/src/main/scala/kafka/network/SocketServer.scala 39b1651b680b2995cedfde95d74c086d9c6219ef 
  core/src/main/scala/kafka/producer/ProducerPool.scala 43df70bb461dd3e385e6b20396adef3c4016a3fc 
  core/src/main/scala/kafka/server/AbstractFetcherManager.scala 20c00cb8cc2351950edbc8cb1752905a0c26e79f 
  core/src/main/scala/kafka/server/AbstractFetcherThread.scala 8c281d4668f92eff95a4a5df3c03c4b5b20e7095 
  core/src/main/scala/kafka/server/KafkaApis.scala f2b027bf944e735fd52cc282690ec1b8395f9290 
  core/src/main/scala/kafka/server/KafkaConfig.scala 6d74983472249eac808d361344c58cc2858ec971 
  core/src/main/scala/kafka/server/KafkaHealthcheck.scala 4acdd70fe9c1ee78d6510741006c2ece65450671 
  core/src/main/scala/kafka/server/KafkaServer.scala 89200da30a04943f0b9befe84ab17e62b747c8c4 
  core/src/main/scala/kafka/server/MetadataCache.scala bf81a1ab88c14be8697b441eedbeb28fa0112643 
  core/src/main/scala/kafka/server/ReplicaFetcherManager.scala 351dbbad3bdb709937943b336a5b0a9e0162a5e2 
  core/src/main/scala/kafka/server/ReplicaFetcherThread.scala 6879e730282185bda3d6bc3659cb15af0672cecf 
  core/src/main/scala/kafka/server/ReplicaManager.scala fb948b9ab28c516e81dab14dcbe211dcd99842b6 
  core/src/main/scala/kafka/tools/ConsumerOffsetChecker.scala d1e7c434e77859d746b8dc68dd5d5a3740425e79 
  core/src/main/scala/kafka/tools/ReplicaVerificationTool.scala ba6ddd7a909df79a0f7d45e8b4a2af94ea0fceb6 
  core/src/main/scala/kafka/tools/SimpleConsumerShell.scala b4f903b6c7c3bb725cac7c05eb1f885906413c4d 
  core/src/main/scala/kafka/tools/UpdateOffsetsInZK.scala 111c9a8b94ce45d95551482e9fd3f8c1cccbf548 
  core/src/main/scala/kafka/utils/Utils.scala 738c1af9ef5de16fdf5130daab69757a14c48b5c 
  core/src/main/scala/kafka/utils/ZkUtils.scala c14bd455b6642f5e6eb254670bef9f57ae41d6cb 
  core/src/test/scala/integration/kafka/api/ProducerFailureHandlingTest.scala 90c0b7a19c7af8e5416e4bdba62b9824f1abd5ab 
  core/src/test/scala/integration/kafka/api/ProducerSendTest.scala b15237b76def3b234924280fa3fdb25dbb0cc0dc 
  core/src/test/scala/other/kafka/TestOffsetManager.scala 41f334d48897b3027ed54c58bbf4811487d3b191 
  core/src/test/scala/unit/kafka/KafkaConfigTest.scala 4d36b8b1173f60d43463c13c9d8c1275a84c8c28 
  core/src/test/scala/unit/kafka/admin/AddPartitionsTest.scala 1bf2667f47853585bc33ffb3e28256ec5f24ae84 
  core/src/test/scala/unit/kafka/api/RequestResponseSerializationTest.scala a1f72f8c2042ff2a43af503b2e06f84706dad9db 
  core/src/test/scala/unit/kafka/cluster/BrokerTest.scala PRE-CREATION 
  core/src/test/scala/unit/kafka/consumer/ConsumerIteratorTest.scala c0355cc0135c6af2e346b4715659353a31723b86 
  core/src/test/scala/unit/kafka/integration/FetcherTest.scala 25845abbcad2e79f56f729e59239b738d3ddbc9d 
  core/src/test/scala/unit/kafka/integration/KafkaServerTestHarness.scala ef4c9aeaa2711567915f036fb82bedcf5d106e2b 
  core/src/test/scala/unit/kafka/integration/TopicMetadataTest.scala 35dc071b1056e775326981573c9618d8046e601d 
  core/src/test/scala/unit/kafka/log/LogTest.scala c2dd8eb69da8c0982a0dd20231c6f8bd58eb623e 
  core/src/test/scala/unit/kafka/network/SocketServerTest.scala 78b431f9c88cca1bc5e430ffd41083d0e92b7e75 
  core/src/test/scala/unit/kafka/producer/AsyncProducerTest.scala 1db6ac329f7b54e600802c8a623f80d159d4e69b 
  core/src/test/scala/unit/kafka/producer/SyncProducerTest.scala d60d8e0f49443f4dc8bc2cad6e2f951eda28f5cb 
  core/src/test/scala/unit/kafka/server/AdvertiseBrokerTest.scala f0c4a56b61b4f081cf4bee799c6e9c523ff45e19 
  core/src/test/scala/unit/kafka/server/KafkaConfigTest.scala 82dce80d553957d8b5776a9e140c346d4e07f766 
  core/src/test/scala/unit/kafka/server/LeaderElectionTest.scala c2ba07c5fdbaf0e65ca033b2e4d88f45a8a15b2e 
  core/src/test/scala/unit/kafka/server/LogOffsetTest.scala c06ee756bf0fe07e5d3c92823a476c960b37afd6 
  core/src/test/scala/unit/kafka/utils/TestUtils.scala 54755e8dd3f23ced313067566cd4ea867f8a496e 
  system_test/replication_testsuite/testcase_1/testcase_1_properties.json 0c6d7a316cc6b51ac0755ca03558507db0706c31 
  system_test/utils/kafka_system_test_utils.py 41d511cbc310fa87e0f2cd2f772e479e8e3ae4e2 

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


Testing
-------


Thanks,

Gwen Shapira


Re: Review Request 28769: Patch for KAFKA-1809

Posted by Gwen Shapira <gs...@cloudera.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/28769/
-----------------------------------------------------------

(Updated Feb. 3, 2015, 6:46 p.m.)


Review request for kafka.


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


Repository: kafka


Description
-------

KAFKA-1890 Fix bug preventing Mirror Maker from successful rebalance; reviewed by Gwen Shapira and Neha Narkhede


KAFKA-1896; Record size function should check if value is null; reviewed by Guozhang Wang


KAFKA-1109 Need to fix GC log configuration code, not able to override KAFKA_GC_LOG_OPTS; reviewed by Neha Narkhede


KAFKA-1883 Fix NullPointerException in RequestSendThread; reviewed by Neha Narkhede


KAFKA-1885 Upgrade junit dependency in core to 4.6 version to allow running individual test methods via gradle command line; reviewed by Neha Narkhede


KAFKA-1818 KAFKA-1818 clean up code to more idiomatic scala usage; reviewed by Neha Narkhede and Gwen Shapira


KAFKA-1902; fix MetricName so that Yammer reporter can work correctly; patched by Jun Rao; reviewed by Manikumar Reddy, Manikumar Reddy and Joel Koshy


KAFKA-1861; Publishing kafka-client:test in order to utilize the helper utils in TestUtils; patched by Manikumar Reddy; reviewed by Jun Rao


KAFKA-1760: New consumer.


KAFKA-1760 Follow-up: fix compilation issue with Scala 2.11


first commit of refactoring.


changed topicmetadata to include brokerendpoints and fixed few unit tests


fixing systest and support for binding to default address


fixed system tests


fix default address binding and ipv6 support


fix some issues regarding endpoint parsing. Also, larger segments for systest make the validation much faster


added link to security wiki in doc


fixing unit test after rename of ProtocolType to SecurityProtocol


Following Joe's advice, added security protocol enum on client side, and modified protocol to use ID instead of string.


validate producer config against enum


add a second protocol for testing and modify SocketServerTests to check on multi-ports


Reverted the metadata request changes and removed the explicit security protocol argument. Instead the socketserver will determine the protocol based on the port and add this to the request


bump version for UpdateMetadataRequest and added support for rolling upgrades with new config


following tests - fixed LeaderAndISR protocol and ZK registration for backward compatibility


cleaned up some changes that were actually not necessary. hopefully making this patch slightly easier to review


undoing some changes that don't belong here


bring back config lost in cleanup


fixes neccessary for an all non-plaintext cluster to work


minor modifications following comments by Jun


added missing license


formatting


clean up imports


cleaned up V2 to not include host+port field. Using use.new.protocol flag to decide which version to serialize


change endpoints collection in Broker to Map[protocol, endpoint], mostly to be clear that we intend to have one endpoint per protocol


validate that listeners and advertised listeners have unique ports and protocols


support legacy configs


some fixes following rebase


Reverted to backward compatible zk registration, changed use.new.protocol to support multiple versions and few minor fixes


fixing some issues after rebase


modified inter.broker.protocol config to start with security per feedback


KAFKA-1729; Add constructor to javaapi to allow constructing explicitly versioned offset commit requests; reviewed by Jun Rao


rebasing on trunk again


Diffs (updated)
-----

  README.md 35e06b1cc6373f24ea6d405cccd4aacf0f458e0d 
  bin/kafka-run-class.sh 22a9865b5939450a9d7f4ea2eee5eba2c1ec758c 
  build.gradle 1cbab29ce83e20dae0561b51eed6fdb86d522f28 
  clients/src/main/java/org/apache/kafka/clients/ClientRequest.java d32c319d8ee4c46dad309ea54b136ea9798e2fd7 
  clients/src/main/java/org/apache/kafka/clients/ClusterConnectionStates.java 8aece7e81a804b177a6f2c12e2dc6c89c1613262 
  clients/src/main/java/org/apache/kafka/clients/CommonClientConfigs.java PRE-CREATION 
  clients/src/main/java/org/apache/kafka/clients/ConnectionState.java ab7e3220f9b76b92ef981d695299656f041ad5ed 
  clients/src/main/java/org/apache/kafka/clients/KafkaClient.java 397695568d3fd8e835d8f923a89b3b00c96d0ead 
  clients/src/main/java/org/apache/kafka/clients/NetworkClient.java 6746275d0b2596cd6ff7ce464a3a8225ad75ef00 
  clients/src/main/java/org/apache/kafka/clients/NodeConnectionState.java 752a979ea0b8bde7ff6d2e1a23bf54052305d841 
  clients/src/main/java/org/apache/kafka/clients/consumer/CommitType.java PRE-CREATION 
  clients/src/main/java/org/apache/kafka/clients/consumer/Consumer.java c0c636b3e1ba213033db6d23655032c9bbd5e378 
  clients/src/main/java/org/apache/kafka/clients/consumer/ConsumerConfig.java 57c1807ccba9f264186f83e91f37c34b959c8060 
  clients/src/main/java/org/apache/kafka/clients/consumer/ConsumerRebalanceCallback.java e4cf7d1cfa01c2844b53213a7b539cdcbcbeaa3a 
  clients/src/main/java/org/apache/kafka/clients/consumer/ConsumerRecord.java 16af70a5de52cca786fdea147a6a639b7dc4a311 
  clients/src/main/java/org/apache/kafka/clients/consumer/ConsumerRecords.java bdf4b26942d5a8c8a9503e05908e9a9eff6228a7 
  clients/src/main/java/org/apache/kafka/clients/consumer/KafkaConsumer.java 76efc216c9e6c3ab084461d792877092a189ad0f 
  clients/src/main/java/org/apache/kafka/clients/consumer/MockConsumer.java fa88ac1a8b19b4294f211c4467fe68c7707ddbae 
  clients/src/main/java/org/apache/kafka/clients/consumer/NoOffsetForPartitionException.java PRE-CREATION 
  clients/src/main/java/org/apache/kafka/clients/consumer/OffsetMetadata.java ea423ad15eebd262d20d5ec05d592cc115229177 
  clients/src/main/java/org/apache/kafka/clients/consumer/internals/Heartbeat.java PRE-CREATION 
  clients/src/main/java/org/apache/kafka/clients/consumer/internals/NoOpConsumerRebalanceCallback.java PRE-CREATION 
  clients/src/main/java/org/apache/kafka/clients/consumer/internals/SubscriptionState.java PRE-CREATION 
  clients/src/main/java/org/apache/kafka/clients/producer/KafkaProducer.java fc71710dd5997576d3841a1c3b0f7e19a8c9698e 
  clients/src/main/java/org/apache/kafka/clients/producer/MockProducer.java 904976fadf0610982958628eaee810b60a98d725 
  clients/src/main/java/org/apache/kafka/clients/producer/ProducerConfig.java 8b3e565edd1ae04d8d34bd9f1a41e9fa8c880a75 
  clients/src/main/java/org/apache/kafka/clients/producer/internals/Metadata.java dcf46581b912cfb1b5c8d4cbc293d2d1444b7740 
  clients/src/main/java/org/apache/kafka/clients/producer/internals/Partitioner.java 483899d2e69b33655d0e08949f5f64af2519660a 
  clients/src/main/java/org/apache/kafka/clients/producer/internals/Sender.java ccc03d8447ebba40131a70e16969686ac4aab58a 
  clients/src/main/java/org/apache/kafka/common/Cluster.java d3299b944062d96852452de455902659ad8af757 
  clients/src/main/java/org/apache/kafka/common/PartitionInfo.java b15aa2c3ef2d7c4b24618ff42fd4da324237a813 
  clients/src/main/java/org/apache/kafka/common/config/ConfigDef.java 98cb79b701918eca3f6ca9823b6c7b7c97b3ecec 
  clients/src/main/java/org/apache/kafka/common/errors/ApiException.java 7c948b166a8ac07616809f260754116ae7764973 
  clients/src/main/java/org/apache/kafka/common/network/Selectable.java b68bbf00ab8eba6c5867d346c91188142593ca6e 
  clients/src/main/java/org/apache/kafka/common/network/Selector.java 74d695ba39de44b6a3d15340ec0114bc4fce2ba2 
  clients/src/main/java/org/apache/kafka/common/protocol/ApiVersion.java PRE-CREATION 
  clients/src/main/java/org/apache/kafka/common/protocol/Errors.java 3316b6a1098311b8603a4a5893bf57b75d2e43cb 
  clients/src/main/java/org/apache/kafka/common/protocol/SecurityProtocol.java PRE-CREATION 
  clients/src/main/java/org/apache/kafka/common/protocol/types/Struct.java 121e880a941fcd3e6392859edba11a94236494cc 
  clients/src/main/java/org/apache/kafka/common/record/LogEntry.java e4d688cbe0c61b74ea15fc8dd3b634f9e5ee9b83 
  clients/src/main/java/org/apache/kafka/common/record/MemoryRecords.java 040e5b91005edb8f015afdfa76fd94e0bf3cb4ca 
  clients/src/main/java/org/apache/kafka/common/requests/ConsumerMetadataRequest.java 99b52c23d639df010bf2affc0f79d1c6e16ed67c 
  clients/src/main/java/org/apache/kafka/common/requests/ConsumerMetadataResponse.java 8b8f591c4b2802a9cbbe34746c0b3ca4a64a8681 
  clients/src/main/java/org/apache/kafka/common/requests/FetchRequest.java 2fc471f64f4352eeb128bbd3941779780076fb8c 
  clients/src/main/java/org/apache/kafka/common/requests/FetchResponse.java f719010119951e55795a583796a93a251e1ba404 
  clients/src/main/java/org/apache/kafka/common/requests/HeartbeatRequest.java 9512db2365d8d1f7a9a9e93b2bebabd877881143 
  clients/src/main/java/org/apache/kafka/common/requests/HeartbeatResponse.java 8997ffc44c18b7ae14365161c04eb423793cb8c9 
  clients/src/main/java/org/apache/kafka/common/requests/JoinGroupRequest.java d6e91f393179809f72d52028d6a8a2b2bb43b820 
  clients/src/main/java/org/apache/kafka/common/requests/JoinGroupResponse.java efe89796a7bd0d1cabc138f695b0eb28007663a7 
  clients/src/main/java/org/apache/kafka/common/requests/ListOffsetRequest.java 99364c1ca464f7b81be7d3da15b40ab66717a659 
  clients/src/main/java/org/apache/kafka/common/requests/ListOffsetResponse.java ac239712f11848755cc01399b4027ea0a8d7d8ac 
  clients/src/main/java/org/apache/kafka/common/requests/MetadataRequest.java b22ca1dce65f665d84c2a980fd82f816e93d9960 
  clients/src/main/java/org/apache/kafka/common/requests/MetadataResponse.java d97962d3840179b1abf01459522c58e59102ac8d 
  clients/src/main/java/org/apache/kafka/common/requests/OffsetCommitRequest.java 3ee5cbad55ce836fd04bb954dcf6ef2f9bc3288f 
  clients/src/main/java/org/apache/kafka/common/requests/OffsetCommitResponse.java 711232ac613786392f1389f2f883818bf4ac2a33 
  clients/src/main/java/org/apache/kafka/common/requests/OffsetFetchRequest.java 90d5135b97a44d1181bd595c8eab2f2aef1a728a 
  clients/src/main/java/org/apache/kafka/common/requests/OffsetFetchResponse.java 6b7c269ad7679df57c6bd505516075add39b7534 
  clients/src/main/java/org/apache/kafka/common/requests/ProduceRequest.java 3dbba8a360f11b2b1db259ecce11e15d8eeaccfb 
  clients/src/main/java/org/apache/kafka/common/requests/ProduceResponse.java 5220464913e6e82734e7f9ff886be7fdfa80361f 
  clients/src/main/java/org/apache/kafka/common/serialization/Deserializer.java 3c001d33091c0f04ac3bf49a6731ab9e9f2bb0c4 
  clients/src/main/java/org/apache/kafka/common/utils/Utils.java 527dd0f9c47fce7310b7a37a9b95bf87f1b9c292 
  clients/src/test/java/org/apache/kafka/clients/MockClient.java 47b5d4ac1f2a5d162541cab658add9cc40b3aa4e 
  clients/src/test/java/org/apache/kafka/clients/NetworkClientTest.java 1a55242e9399fa4669630b55110d530f954e1279 
  clients/src/test/java/org/apache/kafka/clients/consumer/ConsumerExampleTest.java 29ad25e90606f065b409bc194ef9200189933aa6 
  clients/src/test/java/org/apache/kafka/clients/consumer/MockConsumerTest.java PRE-CREATION 
  clients/src/test/java/org/apache/kafka/clients/consumer/internals/SubscriptionStateTest.java PRE-CREATION 
  clients/src/test/java/org/apache/kafka/clients/producer/BufferPoolTest.java 12368038e1381f89352a5a1c98b2e0f8cbc04cbd 
  clients/src/test/java/org/apache/kafka/clients/producer/MockProducerTest.java 3676b05eb8b83bbd8a38754fc3a979124908281b 
  clients/src/test/java/org/apache/kafka/clients/producer/PartitionerTest.java 1d077fd4c56bf28557a0ca1e15c82cc427f36e6c 
  clients/src/test/java/org/apache/kafka/clients/producer/SenderTest.java 66cbdf5babed3ac27c5254d945372644a053df87 
  clients/src/test/java/org/apache/kafka/common/config/ConfigDefTest.java 3c442a27a7ba3eaa908becc802aab6242594df85 
  clients/src/test/java/org/apache/kafka/common/network/SelectorTest.java 74c19573a29b0d5ac4264e1430904dca52571404 
  clients/src/test/java/org/apache/kafka/common/utils/UtilsTest.java a39fab532f73148316a56c0f8e9197f38ea66f79 
  clients/src/test/java/org/apache/kafka/test/MockSelector.java d61de529173314c044261ad9662bec735d67e97f 
  config/server.properties 1614260b71a658b405bb24157c8f12b1f1031aa5 
  core/src/main/scala/kafka/admin/AdminUtils.scala 28b12c7b89a56c113b665fbde1b95f873f8624a3 
  core/src/main/scala/kafka/admin/TopicCommand.scala 285c0333ff43543d3e46444c1cd9374bb883bb59 
  core/src/main/scala/kafka/api/ConsumerMetadataRequest.scala 6d00ed090d76cd7925621a9c6db8fb00fb9d48f4 
  core/src/main/scala/kafka/api/ConsumerMetadataResponse.scala 84f60178f6ebae735c8aa3e79ed93fe21ac4aea7 
  core/src/main/scala/kafka/api/LeaderAndIsrRequest.scala 4ff7e8f8cc695551dd5d2fe65c74f6b6c571e340 
  core/src/main/scala/kafka/api/OffsetCommitResponse.scala 624a1c1cc540688ae2b1fb96665696a6084158e5 
  core/src/main/scala/kafka/api/TopicMetadata.scala 0190076df0adf906ecd332284f222ff974b315fc 
  core/src/main/scala/kafka/api/TopicMetadataResponse.scala 92ac4e687be22e4800199c0666bfac5e0059e5bb 
  core/src/main/scala/kafka/api/UpdateMetadataRequest.scala 530982e36b17934b8cc5fb668075a5342e142c59 
  core/src/main/scala/kafka/client/ClientUtils.scala ebba87f0566684c796c26cb76c64b4640a5ccfde 
  core/src/main/scala/kafka/cluster/Broker.scala 0060add008bb3bc4b0092f2173c469fce0120be6 
  core/src/main/scala/kafka/cluster/BrokerEndPoint.scala PRE-CREATION 
  core/src/main/scala/kafka/cluster/EndPoint.scala PRE-CREATION 
  core/src/main/scala/kafka/cluster/Partition.scala b230e9a1fb1a3161f4c9d164e4890a16eceb2ad4 
  core/src/main/scala/kafka/cluster/SecurityProtocol.scala PRE-CREATION 
  core/src/main/scala/kafka/common/BrokerEndPointNotAvailableException.scala PRE-CREATION 
  core/src/main/scala/kafka/consumer/ConsumerConfig.scala 9ebbee6c16dc83767297c729d2d74ebbd063a993 
  core/src/main/scala/kafka/consumer/ConsumerFetcherManager.scala b9e2bea7b442a19bcebd1b350d39541a8c9dd068 
  core/src/main/scala/kafka/consumer/ConsumerFetcherThread.scala ee6139c901082358382c5ef892281386bf6fc91b 
  core/src/main/scala/kafka/consumer/ZookeeperConsumerConnector.scala 5487259751ebe19f137948249aa1fd2637d2deb4 
  core/src/main/scala/kafka/controller/ControllerChannelManager.scala eb492f00449744bc8d63f55b393e2a1659d38454 
  core/src/main/scala/kafka/controller/KafkaController.scala 66df6d2fbdbdd556da6bea0df84f93e0472c8fbf 
  core/src/main/scala/kafka/javaapi/ConsumerMetadataResponse.scala 1b28861cdf7dfb30fc696b54f8f8f05f730f4ece 
  core/src/main/scala/kafka/javaapi/OffsetCommitRequest.scala 873f575cc22af56d980430cde8037324eb754f80 
  core/src/main/scala/kafka/javaapi/OffsetCommitResponse.scala c2d3d114b82a826e5209d7e65b07c06a75ff9420 
  core/src/main/scala/kafka/javaapi/OffsetFetchResponse.scala 60924d2fe543d7c4b5ffe24d1355e1e57211fcc6 
  core/src/main/scala/kafka/javaapi/TopicMetadata.scala f384e04678df10a5b46a439f475c63371bf8e32b 
  core/src/main/scala/kafka/log/LogConfig.scala 4631bc78106e6167ab6c0a781f40dcd8cd265598 
  core/src/main/scala/kafka/metrics/KafkaMetricsGroup.scala e9e49180f6de45f98e79374f519f6097b4fc8637 
  core/src/main/scala/kafka/network/RequestChannel.scala 7b1db3dbbb2c0676f166890f566c14aa248467ab 
  core/src/main/scala/kafka/network/SocketServer.scala 39b1651b680b2995cedfde95d74c086d9c6219ef 
  core/src/main/scala/kafka/producer/ProducerPool.scala 43df70bb461dd3e385e6b20396adef3c4016a3fc 
  core/src/main/scala/kafka/server/AbstractFetcherManager.scala 20c00cb8cc2351950edbc8cb1752905a0c26e79f 
  core/src/main/scala/kafka/server/AbstractFetcherThread.scala 8c281d4668f92eff95a4a5df3c03c4b5b20e7095 
  core/src/main/scala/kafka/server/KafkaApis.scala ec8d9f7ba44741db40875458bd524c4062ad6a26 
  core/src/main/scala/kafka/server/KafkaConfig.scala 6d74983472249eac808d361344c58cc2858ec971 
  core/src/main/scala/kafka/server/KafkaHealthcheck.scala 4acdd70fe9c1ee78d6510741006c2ece65450671 
  core/src/main/scala/kafka/server/KafkaServer.scala 89200da30a04943f0b9befe84ab17e62b747c8c4 
  core/src/main/scala/kafka/server/MetadataCache.scala bf81a1ab88c14be8697b441eedbeb28fa0112643 
  core/src/main/scala/kafka/server/ReplicaFetcherManager.scala 351dbbad3bdb709937943b336a5b0a9e0162a5e2 
  core/src/main/scala/kafka/server/ReplicaFetcherThread.scala 6879e730282185bda3d6bc3659cb15af0672cecf 
  core/src/main/scala/kafka/server/ReplicaManager.scala e58fbb922e93b0c31dff04f187fcadb4ece986d7 
  core/src/main/scala/kafka/tools/ConsoleConsumer.scala e455cb9a1de221a6d080e3abd909ea8f24ff7fe9 
  core/src/main/scala/kafka/tools/ConsumerOffsetChecker.scala d1e7c434e77859d746b8dc68dd5d5a3740425e79 
  core/src/main/scala/kafka/tools/ConsumerPerformance.scala 093c800ea7f8a9c972bb66e99ac4e4d431cf11cc 
  core/src/main/scala/kafka/tools/MirrorMaker.scala 5cbc8103e33a0a234d158c048e5314e841da6249 
  core/src/main/scala/kafka/tools/ReplicaVerificationTool.scala ba6ddd7a909df79a0f7d45e8b4a2af94ea0fceb6 
  core/src/main/scala/kafka/tools/SimpleConsumerPerformance.scala 7602b8d705970a5dab49ed36d117346a960701ac 
  core/src/main/scala/kafka/tools/SimpleConsumerShell.scala b4f903b6c7c3bb725cac7c05eb1f885906413c4d 
  core/src/main/scala/kafka/tools/UpdateOffsetsInZK.scala 111c9a8b94ce45d95551482e9fd3f8c1cccbf548 
  core/src/main/scala/kafka/utils/KafkaScheduler.scala 9a16343d2ff7192b741f0b23a6bdf58d8f2bbd3e 
  core/src/main/scala/kafka/utils/ReplicationUtils.scala 715767380f7c284148689fd34d4bfba51abd96a0 
  core/src/main/scala/kafka/utils/Utils.scala 738c1af9ef5de16fdf5130daab69757a14c48b5c 
  core/src/main/scala/kafka/utils/ZkUtils.scala c14bd455b6642f5e6eb254670bef9f57ae41d6cb 
  core/src/test/scala/integration/kafka/api/ConsumerTest.scala PRE-CREATION 
  core/src/test/scala/integration/kafka/api/IntegrationTestHarness.scala PRE-CREATION 
  core/src/test/scala/integration/kafka/api/ProducerFailureHandlingTest.scala 90c0b7a19c7af8e5416e4bdba62b9824f1abd5ab 
  core/src/test/scala/integration/kafka/api/ProducerSendTest.scala b15237b76def3b234924280fa3fdb25dbb0cc0dc 
  core/src/test/scala/other/kafka/TestOffsetManager.scala 41f334d48897b3027ed54c58bbf4811487d3b191 
  core/src/test/scala/unit/kafka/KafkaConfigTest.scala 4d36b8b1173f60d43463c13c9d8c1275a84c8c28 
  core/src/test/scala/unit/kafka/admin/AddPartitionsTest.scala 1bf2667f47853585bc33ffb3e28256ec5f24ae84 
  core/src/test/scala/unit/kafka/api/RequestResponseSerializationTest.scala cd16ced5465d098be7a60498326b2a98c248f343 
  core/src/test/scala/unit/kafka/cluster/BrokerTest.scala PRE-CREATION 
  core/src/test/scala/unit/kafka/consumer/ConsumerIteratorTest.scala c0355cc0135c6af2e346b4715659353a31723b86 
  core/src/test/scala/unit/kafka/integration/FetcherTest.scala 25845abbcad2e79f56f729e59239b738d3ddbc9d 
  core/src/test/scala/unit/kafka/integration/KafkaServerTestHarness.scala 3cf7c9bcd64492d05590067a8ad11d31096a8e5e 
  core/src/test/scala/unit/kafka/integration/PrimitiveApiTest.scala a5386a03b62956bc440b40783247c8cdf7432315 
  core/src/test/scala/unit/kafka/integration/TopicMetadataTest.scala 35dc071b1056e775326981573c9618d8046e601d 
  core/src/test/scala/unit/kafka/log/LogTest.scala c2dd8eb69da8c0982a0dd20231c6f8bd58eb623e 
  core/src/test/scala/unit/kafka/network/SocketServerTest.scala 78b431f9c88cca1bc5e430ffd41083d0e92b7e75 
  core/src/test/scala/unit/kafka/producer/AsyncProducerTest.scala 1db6ac329f7b54e600802c8a623f80d159d4e69b 
  core/src/test/scala/unit/kafka/producer/SyncProducerTest.scala d60d8e0f49443f4dc8bc2cad6e2f951eda28f5cb 
  core/src/test/scala/unit/kafka/server/AdvertiseBrokerTest.scala f0c4a56b61b4f081cf4bee799c6e9c523ff45e19 
  core/src/test/scala/unit/kafka/server/KafkaConfigTest.scala 82dce80d553957d8b5776a9e140c346d4e07f766 
  core/src/test/scala/unit/kafka/server/LeaderElectionTest.scala c2ba07c5fdbaf0e65ca033b2e4d88f45a8a15b2e 
  core/src/test/scala/unit/kafka/server/LogOffsetTest.scala c06ee756bf0fe07e5d3c92823a476c960b37afd6 
  core/src/test/scala/unit/kafka/utils/MockScheduler.scala d5896ed4d3b73aecb652436b5dfc80c2835af595 
  core/src/test/scala/unit/kafka/utils/ReplicationUtilsTest.scala 84e08557de5acdcf0a98b192feac72836ea359b8 
  core/src/test/scala/unit/kafka/utils/SchedulerTest.scala b364ac2d6d623f6e86805710ca68dc32d92558c1 
  core/src/test/scala/unit/kafka/utils/TestUtils.scala ac15d34425795d5be20c51b01fa1108bdcd66583 
  system_test/replication_testsuite/testcase_1/testcase_1_properties.json 0c6d7a316cc6b51ac0755ca03558507db0706c31 
  system_test/utils/kafka_system_test_utils.py 41d511cbc310fa87e0f2cd2f772e479e8e3ae4e2 

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


Testing
-------


Thanks,

Gwen Shapira


Re: Review Request 28769: Patch for KAFKA-1809

Posted by Gwen Shapira <gs...@cloudera.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/28769/
-----------------------------------------------------------

(Updated Feb. 3, 2015, 6:45 p.m.)


Review request for kafka.


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


Repository: kafka


Description (updated)
-------

KAFKA-1890 Fix bug preventing Mirror Maker from successful rebalance; reviewed by Gwen Shapira and Neha Narkhede


KAFKA-1896; Record size function should check if value is null; reviewed by Guozhang Wang


KAFKA-1109 Need to fix GC log configuration code, not able to override KAFKA_GC_LOG_OPTS; reviewed by Neha Narkhede


KAFKA-1883 Fix NullPointerException in RequestSendThread; reviewed by Neha Narkhede


KAFKA-1885 Upgrade junit dependency in core to 4.6 version to allow running individual test methods via gradle command line; reviewed by Neha Narkhede


KAFKA-1818 KAFKA-1818 clean up code to more idiomatic scala usage; reviewed by Neha Narkhede and Gwen Shapira


KAFKA-1902; fix MetricName so that Yammer reporter can work correctly; patched by Jun Rao; reviewed by Manikumar Reddy, Manikumar Reddy and Joel Koshy


KAFKA-1861; Publishing kafka-client:test in order to utilize the helper utils in TestUtils; patched by Manikumar Reddy; reviewed by Jun Rao


KAFKA-1760: New consumer.


KAFKA-1760 Follow-up: fix compilation issue with Scala 2.11


first commit of refactoring.


changed topicmetadata to include brokerendpoints and fixed few unit tests


fixing systest and support for binding to default address


fixed system tests


fix default address binding and ipv6 support


fix some issues regarding endpoint parsing. Also, larger segments for systest make the validation much faster


added link to security wiki in doc


fixing unit test after rename of ProtocolType to SecurityProtocol


Following Joe's advice, added security protocol enum on client side, and modified protocol to use ID instead of string.


validate producer config against enum


add a second protocol for testing and modify SocketServerTests to check on multi-ports


Reverted the metadata request changes and removed the explicit security protocol argument. Instead the socketserver will determine the protocol based on the port and add this to the request


bump version for UpdateMetadataRequest and added support for rolling upgrades with new config


following tests - fixed LeaderAndISR protocol and ZK registration for backward compatibility


cleaned up some changes that were actually not necessary. hopefully making this patch slightly easier to review


undoing some changes that don't belong here


bring back config lost in cleanup


fixes neccessary for an all non-plaintext cluster to work


minor modifications following comments by Jun


added missing license


formatting


clean up imports


cleaned up V2 to not include host+port field. Using use.new.protocol flag to decide which version to serialize


change endpoints collection in Broker to Map[protocol, endpoint], mostly to be clear that we intend to have one endpoint per protocol


validate that listeners and advertised listeners have unique ports and protocols


support legacy configs


some fixes following rebase


Reverted to backward compatible zk registration, changed use.new.protocol to support multiple versions and few minor fixes


fixing some issues after rebase


modified inter.broker.protocol config to start with security per feedback


KAFKA-1729; Add constructor to javaapi to allow constructing explicitly versioned offset commit requests; reviewed by Jun Rao


rebasing on trunk again


Diffs (updated)
-----

  README.md 35e06b1cc6373f24ea6d405cccd4aacf0f458e0d 
  bin/kafka-run-class.sh 22a9865b5939450a9d7f4ea2eee5eba2c1ec758c 
  build.gradle 1cbab29ce83e20dae0561b51eed6fdb86d522f28 
  clients/src/main/java/org/apache/kafka/clients/ClientRequest.java d32c319d8ee4c46dad309ea54b136ea9798e2fd7 
  clients/src/main/java/org/apache/kafka/clients/ClusterConnectionStates.java 8aece7e81a804b177a6f2c12e2dc6c89c1613262 
  clients/src/main/java/org/apache/kafka/clients/CommonClientConfigs.java PRE-CREATION 
  clients/src/main/java/org/apache/kafka/clients/ConnectionState.java ab7e3220f9b76b92ef981d695299656f041ad5ed 
  clients/src/main/java/org/apache/kafka/clients/KafkaClient.java 397695568d3fd8e835d8f923a89b3b00c96d0ead 
  clients/src/main/java/org/apache/kafka/clients/NetworkClient.java 6746275d0b2596cd6ff7ce464a3a8225ad75ef00 
  clients/src/main/java/org/apache/kafka/clients/NodeConnectionState.java 752a979ea0b8bde7ff6d2e1a23bf54052305d841 
  clients/src/main/java/org/apache/kafka/clients/consumer/CommitType.java PRE-CREATION 
  clients/src/main/java/org/apache/kafka/clients/consumer/Consumer.java c0c636b3e1ba213033db6d23655032c9bbd5e378 
  clients/src/main/java/org/apache/kafka/clients/consumer/ConsumerConfig.java 57c1807ccba9f264186f83e91f37c34b959c8060 
  clients/src/main/java/org/apache/kafka/clients/consumer/ConsumerRebalanceCallback.java e4cf7d1cfa01c2844b53213a7b539cdcbcbeaa3a 
  clients/src/main/java/org/apache/kafka/clients/consumer/ConsumerRecord.java 16af70a5de52cca786fdea147a6a639b7dc4a311 
  clients/src/main/java/org/apache/kafka/clients/consumer/ConsumerRecords.java bdf4b26942d5a8c8a9503e05908e9a9eff6228a7 
  clients/src/main/java/org/apache/kafka/clients/consumer/KafkaConsumer.java 76efc216c9e6c3ab084461d792877092a189ad0f 
  clients/src/main/java/org/apache/kafka/clients/consumer/MockConsumer.java fa88ac1a8b19b4294f211c4467fe68c7707ddbae 
  clients/src/main/java/org/apache/kafka/clients/consumer/NoOffsetForPartitionException.java PRE-CREATION 
  clients/src/main/java/org/apache/kafka/clients/consumer/OffsetMetadata.java ea423ad15eebd262d20d5ec05d592cc115229177 
  clients/src/main/java/org/apache/kafka/clients/consumer/internals/Heartbeat.java PRE-CREATION 
  clients/src/main/java/org/apache/kafka/clients/consumer/internals/NoOpConsumerRebalanceCallback.java PRE-CREATION 
  clients/src/main/java/org/apache/kafka/clients/consumer/internals/SubscriptionState.java PRE-CREATION 
  clients/src/main/java/org/apache/kafka/clients/producer/KafkaProducer.java fc71710dd5997576d3841a1c3b0f7e19a8c9698e 
  clients/src/main/java/org/apache/kafka/clients/producer/MockProducer.java 904976fadf0610982958628eaee810b60a98d725 
  clients/src/main/java/org/apache/kafka/clients/producer/ProducerConfig.java 8b3e565edd1ae04d8d34bd9f1a41e9fa8c880a75 
  clients/src/main/java/org/apache/kafka/clients/producer/internals/Metadata.java dcf46581b912cfb1b5c8d4cbc293d2d1444b7740 
  clients/src/main/java/org/apache/kafka/clients/producer/internals/Partitioner.java 483899d2e69b33655d0e08949f5f64af2519660a 
  clients/src/main/java/org/apache/kafka/clients/producer/internals/Sender.java ccc03d8447ebba40131a70e16969686ac4aab58a 
  clients/src/main/java/org/apache/kafka/common/Cluster.java d3299b944062d96852452de455902659ad8af757 
  clients/src/main/java/org/apache/kafka/common/PartitionInfo.java b15aa2c3ef2d7c4b24618ff42fd4da324237a813 
  clients/src/main/java/org/apache/kafka/common/config/ConfigDef.java 98cb79b701918eca3f6ca9823b6c7b7c97b3ecec 
  clients/src/main/java/org/apache/kafka/common/errors/ApiException.java 7c948b166a8ac07616809f260754116ae7764973 
  clients/src/main/java/org/apache/kafka/common/network/Selectable.java b68bbf00ab8eba6c5867d346c91188142593ca6e 
  clients/src/main/java/org/apache/kafka/common/network/Selector.java 74d695ba39de44b6a3d15340ec0114bc4fce2ba2 
  clients/src/main/java/org/apache/kafka/common/protocol/ApiVersion.java PRE-CREATION 
  clients/src/main/java/org/apache/kafka/common/protocol/Errors.java 3316b6a1098311b8603a4a5893bf57b75d2e43cb 
  clients/src/main/java/org/apache/kafka/common/protocol/SecurityProtocol.java PRE-CREATION 
  clients/src/main/java/org/apache/kafka/common/protocol/types/Struct.java 121e880a941fcd3e6392859edba11a94236494cc 
  clients/src/main/java/org/apache/kafka/common/record/LogEntry.java e4d688cbe0c61b74ea15fc8dd3b634f9e5ee9b83 
  clients/src/main/java/org/apache/kafka/common/record/MemoryRecords.java 040e5b91005edb8f015afdfa76fd94e0bf3cb4ca 
  clients/src/main/java/org/apache/kafka/common/requests/ConsumerMetadataRequest.java 99b52c23d639df010bf2affc0f79d1c6e16ed67c 
  clients/src/main/java/org/apache/kafka/common/requests/ConsumerMetadataResponse.java 8b8f591c4b2802a9cbbe34746c0b3ca4a64a8681 
  clients/src/main/java/org/apache/kafka/common/requests/FetchRequest.java 2fc471f64f4352eeb128bbd3941779780076fb8c 
  clients/src/main/java/org/apache/kafka/common/requests/FetchResponse.java f719010119951e55795a583796a93a251e1ba404 
  clients/src/main/java/org/apache/kafka/common/requests/HeartbeatRequest.java 9512db2365d8d1f7a9a9e93b2bebabd877881143 
  clients/src/main/java/org/apache/kafka/common/requests/HeartbeatResponse.java 8997ffc44c18b7ae14365161c04eb423793cb8c9 
  clients/src/main/java/org/apache/kafka/common/requests/JoinGroupRequest.java d6e91f393179809f72d52028d6a8a2b2bb43b820 
  clients/src/main/java/org/apache/kafka/common/requests/JoinGroupResponse.java efe89796a7bd0d1cabc138f695b0eb28007663a7 
  clients/src/main/java/org/apache/kafka/common/requests/ListOffsetRequest.java 99364c1ca464f7b81be7d3da15b40ab66717a659 
  clients/src/main/java/org/apache/kafka/common/requests/ListOffsetResponse.java ac239712f11848755cc01399b4027ea0a8d7d8ac 
  clients/src/main/java/org/apache/kafka/common/requests/MetadataRequest.java b22ca1dce65f665d84c2a980fd82f816e93d9960 
  clients/src/main/java/org/apache/kafka/common/requests/MetadataResponse.java d97962d3840179b1abf01459522c58e59102ac8d 
  clients/src/main/java/org/apache/kafka/common/requests/OffsetCommitRequest.java 3ee5cbad55ce836fd04bb954dcf6ef2f9bc3288f 
  clients/src/main/java/org/apache/kafka/common/requests/OffsetCommitResponse.java 711232ac613786392f1389f2f883818bf4ac2a33 
  clients/src/main/java/org/apache/kafka/common/requests/OffsetFetchRequest.java 90d5135b97a44d1181bd595c8eab2f2aef1a728a 
  clients/src/main/java/org/apache/kafka/common/requests/OffsetFetchResponse.java 6b7c269ad7679df57c6bd505516075add39b7534 
  clients/src/main/java/org/apache/kafka/common/requests/ProduceRequest.java 3dbba8a360f11b2b1db259ecce11e15d8eeaccfb 
  clients/src/main/java/org/apache/kafka/common/requests/ProduceResponse.java 5220464913e6e82734e7f9ff886be7fdfa80361f 
  clients/src/main/java/org/apache/kafka/common/serialization/Deserializer.java 3c001d33091c0f04ac3bf49a6731ab9e9f2bb0c4 
  clients/src/main/java/org/apache/kafka/common/utils/Utils.java 527dd0f9c47fce7310b7a37a9b95bf87f1b9c292 
  clients/src/test/java/org/apache/kafka/clients/MockClient.java 47b5d4ac1f2a5d162541cab658add9cc40b3aa4e 
  clients/src/test/java/org/apache/kafka/clients/NetworkClientTest.java 1a55242e9399fa4669630b55110d530f954e1279 
  clients/src/test/java/org/apache/kafka/clients/consumer/ConsumerExampleTest.java 29ad25e90606f065b409bc194ef9200189933aa6 
  clients/src/test/java/org/apache/kafka/clients/consumer/MockConsumerTest.java PRE-CREATION 
  clients/src/test/java/org/apache/kafka/clients/consumer/internals/SubscriptionStateTest.java PRE-CREATION 
  clients/src/test/java/org/apache/kafka/clients/producer/BufferPoolTest.java 12368038e1381f89352a5a1c98b2e0f8cbc04cbd 
  clients/src/test/java/org/apache/kafka/clients/producer/MockProducerTest.java 3676b05eb8b83bbd8a38754fc3a979124908281b 
  clients/src/test/java/org/apache/kafka/clients/producer/PartitionerTest.java 1d077fd4c56bf28557a0ca1e15c82cc427f36e6c 
  clients/src/test/java/org/apache/kafka/clients/producer/SenderTest.java 66cbdf5babed3ac27c5254d945372644a053df87 
  clients/src/test/java/org/apache/kafka/common/config/ConfigDefTest.java 3c442a27a7ba3eaa908becc802aab6242594df85 
  clients/src/test/java/org/apache/kafka/common/network/SelectorTest.java 74c19573a29b0d5ac4264e1430904dca52571404 
  clients/src/test/java/org/apache/kafka/common/utils/UtilsTest.java a39fab532f73148316a56c0f8e9197f38ea66f79 
  clients/src/test/java/org/apache/kafka/test/MockSelector.java d61de529173314c044261ad9662bec735d67e97f 
  config/server.properties 1614260b71a658b405bb24157c8f12b1f1031aa5 
  core/src/main/scala/kafka/admin/AdminUtils.scala 28b12c7b89a56c113b665fbde1b95f873f8624a3 
  core/src/main/scala/kafka/admin/TopicCommand.scala 285c0333ff43543d3e46444c1cd9374bb883bb59 
  core/src/main/scala/kafka/api/ConsumerMetadataRequest.scala 6d00ed090d76cd7925621a9c6db8fb00fb9d48f4 
  core/src/main/scala/kafka/api/ConsumerMetadataResponse.scala 84f60178f6ebae735c8aa3e79ed93fe21ac4aea7 
  core/src/main/scala/kafka/api/LeaderAndIsrRequest.scala 4ff7e8f8cc695551dd5d2fe65c74f6b6c571e340 
  core/src/main/scala/kafka/api/OffsetCommitResponse.scala 624a1c1cc540688ae2b1fb96665696a6084158e5 
  core/src/main/scala/kafka/api/TopicMetadata.scala 0190076df0adf906ecd332284f222ff974b315fc 
  core/src/main/scala/kafka/api/TopicMetadataResponse.scala 92ac4e687be22e4800199c0666bfac5e0059e5bb 
  core/src/main/scala/kafka/api/UpdateMetadataRequest.scala 530982e36b17934b8cc5fb668075a5342e142c59 
  core/src/main/scala/kafka/client/ClientUtils.scala ebba87f0566684c796c26cb76c64b4640a5ccfde 
  core/src/main/scala/kafka/cluster/Broker.scala 0060add008bb3bc4b0092f2173c469fce0120be6 
  core/src/main/scala/kafka/cluster/BrokerEndPoint.scala PRE-CREATION 
  core/src/main/scala/kafka/cluster/EndPoint.scala PRE-CREATION 
  core/src/main/scala/kafka/cluster/Partition.scala b230e9a1fb1a3161f4c9d164e4890a16eceb2ad4 
  core/src/main/scala/kafka/cluster/SecurityProtocol.scala PRE-CREATION 
  core/src/main/scala/kafka/common/BrokerEndPointNotAvailableException.scala PRE-CREATION 
  core/src/main/scala/kafka/consumer/ConsumerConfig.scala 9ebbee6c16dc83767297c729d2d74ebbd063a993 
  core/src/main/scala/kafka/consumer/ConsumerFetcherManager.scala b9e2bea7b442a19bcebd1b350d39541a8c9dd068 
  core/src/main/scala/kafka/consumer/ConsumerFetcherThread.scala ee6139c901082358382c5ef892281386bf6fc91b 
  core/src/main/scala/kafka/consumer/ZookeeperConsumerConnector.scala 5487259751ebe19f137948249aa1fd2637d2deb4 
  core/src/main/scala/kafka/controller/ControllerChannelManager.scala eb492f00449744bc8d63f55b393e2a1659d38454 
  core/src/main/scala/kafka/controller/KafkaController.scala 66df6d2fbdbdd556da6bea0df84f93e0472c8fbf 
  core/src/main/scala/kafka/javaapi/ConsumerMetadataResponse.scala 1b28861cdf7dfb30fc696b54f8f8f05f730f4ece 
  core/src/main/scala/kafka/javaapi/OffsetCommitRequest.scala 873f575cc22af56d980430cde8037324eb754f80 
  core/src/main/scala/kafka/javaapi/OffsetCommitResponse.scala c2d3d114b82a826e5209d7e65b07c06a75ff9420 
  core/src/main/scala/kafka/javaapi/OffsetFetchResponse.scala 60924d2fe543d7c4b5ffe24d1355e1e57211fcc6 
  core/src/main/scala/kafka/javaapi/TopicMetadata.scala f384e04678df10a5b46a439f475c63371bf8e32b 
  core/src/main/scala/kafka/log/LogConfig.scala 4631bc78106e6167ab6c0a781f40dcd8cd265598 
  core/src/main/scala/kafka/metrics/KafkaMetricsGroup.scala e9e49180f6de45f98e79374f519f6097b4fc8637 
  core/src/main/scala/kafka/network/RequestChannel.scala 7b1db3dbbb2c0676f166890f566c14aa248467ab 
  core/src/main/scala/kafka/network/SocketServer.scala 39b1651b680b2995cedfde95d74c086d9c6219ef 
  core/src/main/scala/kafka/producer/ProducerPool.scala 43df70bb461dd3e385e6b20396adef3c4016a3fc 
  core/src/main/scala/kafka/server/AbstractFetcherManager.scala 20c00cb8cc2351950edbc8cb1752905a0c26e79f 
  core/src/main/scala/kafka/server/AbstractFetcherThread.scala 8c281d4668f92eff95a4a5df3c03c4b5b20e7095 
  core/src/main/scala/kafka/server/KafkaApis.scala ec8d9f7ba44741db40875458bd524c4062ad6a26 
  core/src/main/scala/kafka/server/KafkaConfig.scala 6d74983472249eac808d361344c58cc2858ec971 
  core/src/main/scala/kafka/server/KafkaHealthcheck.scala 4acdd70fe9c1ee78d6510741006c2ece65450671 
  core/src/main/scala/kafka/server/KafkaServer.scala 89200da30a04943f0b9befe84ab17e62b747c8c4 
  core/src/main/scala/kafka/server/MetadataCache.scala bf81a1ab88c14be8697b441eedbeb28fa0112643 
  core/src/main/scala/kafka/server/ReplicaFetcherManager.scala 351dbbad3bdb709937943b336a5b0a9e0162a5e2 
  core/src/main/scala/kafka/server/ReplicaFetcherThread.scala 6879e730282185bda3d6bc3659cb15af0672cecf 
  core/src/main/scala/kafka/server/ReplicaManager.scala e58fbb922e93b0c31dff04f187fcadb4ece986d7 
  core/src/main/scala/kafka/tools/ConsoleConsumer.scala e455cb9a1de221a6d080e3abd909ea8f24ff7fe9 
  core/src/main/scala/kafka/tools/ConsumerOffsetChecker.scala d1e7c434e77859d746b8dc68dd5d5a3740425e79 
  core/src/main/scala/kafka/tools/ConsumerPerformance.scala 093c800ea7f8a9c972bb66e99ac4e4d431cf11cc 
  core/src/main/scala/kafka/tools/MirrorMaker.scala 5cbc8103e33a0a234d158c048e5314e841da6249 
  core/src/main/scala/kafka/tools/ReplicaVerificationTool.scala ba6ddd7a909df79a0f7d45e8b4a2af94ea0fceb6 
  core/src/main/scala/kafka/tools/SimpleConsumerPerformance.scala 7602b8d705970a5dab49ed36d117346a960701ac 
  core/src/main/scala/kafka/tools/SimpleConsumerShell.scala b4f903b6c7c3bb725cac7c05eb1f885906413c4d 
  core/src/main/scala/kafka/tools/UpdateOffsetsInZK.scala 111c9a8b94ce45d95551482e9fd3f8c1cccbf548 
  core/src/main/scala/kafka/utils/KafkaScheduler.scala 9a16343d2ff7192b741f0b23a6bdf58d8f2bbd3e 
  core/src/main/scala/kafka/utils/ReplicationUtils.scala 715767380f7c284148689fd34d4bfba51abd96a0 
  core/src/main/scala/kafka/utils/Utils.scala 738c1af9ef5de16fdf5130daab69757a14c48b5c 
  core/src/main/scala/kafka/utils/ZkUtils.scala c14bd455b6642f5e6eb254670bef9f57ae41d6cb 
  core/src/test/scala/integration/kafka/api/ConsumerTest.scala PRE-CREATION 
  core/src/test/scala/integration/kafka/api/IntegrationTestHarness.scala PRE-CREATION 
  core/src/test/scala/integration/kafka/api/ProducerFailureHandlingTest.scala 90c0b7a19c7af8e5416e4bdba62b9824f1abd5ab 
  core/src/test/scala/integration/kafka/api/ProducerSendTest.scala b15237b76def3b234924280fa3fdb25dbb0cc0dc 
  core/src/test/scala/other/kafka/TestOffsetManager.scala 41f334d48897b3027ed54c58bbf4811487d3b191 
  core/src/test/scala/unit/kafka/KafkaConfigTest.scala 4d36b8b1173f60d43463c13c9d8c1275a84c8c28 
  core/src/test/scala/unit/kafka/admin/AddPartitionsTest.scala 1bf2667f47853585bc33ffb3e28256ec5f24ae84 
  core/src/test/scala/unit/kafka/api/RequestResponseSerializationTest.scala cd16ced5465d098be7a60498326b2a98c248f343 
  core/src/test/scala/unit/kafka/cluster/BrokerTest.scala PRE-CREATION 
  core/src/test/scala/unit/kafka/consumer/ConsumerIteratorTest.scala c0355cc0135c6af2e346b4715659353a31723b86 
  core/src/test/scala/unit/kafka/integration/FetcherTest.scala 25845abbcad2e79f56f729e59239b738d3ddbc9d 
  core/src/test/scala/unit/kafka/integration/KafkaServerTestHarness.scala 3cf7c9bcd64492d05590067a8ad11d31096a8e5e 
  core/src/test/scala/unit/kafka/integration/PrimitiveApiTest.scala a5386a03b62956bc440b40783247c8cdf7432315 
  core/src/test/scala/unit/kafka/integration/TopicMetadataTest.scala 35dc071b1056e775326981573c9618d8046e601d 
  core/src/test/scala/unit/kafka/log/LogTest.scala c2dd8eb69da8c0982a0dd20231c6f8bd58eb623e 
  core/src/test/scala/unit/kafka/network/SocketServerTest.scala 78b431f9c88cca1bc5e430ffd41083d0e92b7e75 
  core/src/test/scala/unit/kafka/producer/AsyncProducerTest.scala 1db6ac329f7b54e600802c8a623f80d159d4e69b 
  core/src/test/scala/unit/kafka/producer/SyncProducerTest.scala d60d8e0f49443f4dc8bc2cad6e2f951eda28f5cb 
  core/src/test/scala/unit/kafka/server/AdvertiseBrokerTest.scala f0c4a56b61b4f081cf4bee799c6e9c523ff45e19 
  core/src/test/scala/unit/kafka/server/KafkaConfigTest.scala 82dce80d553957d8b5776a9e140c346d4e07f766 
  core/src/test/scala/unit/kafka/server/LeaderElectionTest.scala c2ba07c5fdbaf0e65ca033b2e4d88f45a8a15b2e 
  core/src/test/scala/unit/kafka/server/LogOffsetTest.scala c06ee756bf0fe07e5d3c92823a476c960b37afd6 
  core/src/test/scala/unit/kafka/utils/MockScheduler.scala d5896ed4d3b73aecb652436b5dfc80c2835af595 
  core/src/test/scala/unit/kafka/utils/ReplicationUtilsTest.scala 84e08557de5acdcf0a98b192feac72836ea359b8 
  core/src/test/scala/unit/kafka/utils/SchedulerTest.scala b364ac2d6d623f6e86805710ca68dc32d92558c1 
  core/src/test/scala/unit/kafka/utils/TestUtils.scala ac15d34425795d5be20c51b01fa1108bdcd66583 
  system_test/replication_testsuite/testcase_1/testcase_1_properties.json 0c6d7a316cc6b51ac0755ca03558507db0706c31 
  system_test/utils/kafka_system_test_utils.py 41d511cbc310fa87e0f2cd2f772e479e8e3ae4e2 

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


Testing
-------


Thanks,

Gwen Shapira


Re: Review Request 28769: Patch for KAFKA-1809

Posted by Gwen Shapira <gs...@cloudera.com>.

> On Feb. 2, 2015, 10:46 p.m., Joel Koshy wrote:
> > It seems some of the recent trunk changes have crept into this diff. Seems to be an issue with the patch review script as you normally shouldn't need to git pull before submitting.

Turned out that in addition to rebasing my branch, I had to "pull" into my copy of trunk to get the patch right through the patch review tool.


- Gwen


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


On Feb. 3, 2015, 6:52 p.m., Gwen Shapira wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/28769/
> -----------------------------------------------------------
> 
> (Updated Feb. 3, 2015, 6:52 p.m.)
> 
> 
> Review request for kafka.
> 
> 
> Bugs: KAFKA-1809
>     https://issues.apache.org/jira/browse/KAFKA-1809
> 
> 
> Repository: kafka
> 
> 
> Description
> -------
> 
> changed topicmetadata to include brokerendpoints and fixed few unit tests
> 
> 
> fixing systest and support for binding to default address
> 
> 
> fixed system tests
> 
> 
> fix default address binding and ipv6 support
> 
> 
> fix some issues regarding endpoint parsing. Also, larger segments for systest make the validation much faster
> 
> 
> added link to security wiki in doc
> 
> 
> fixing unit test after rename of ProtocolType to SecurityProtocol
> 
> 
> Following Joe's advice, added security protocol enum on client side, and modified protocol to use ID instead of string.
> 
> 
> validate producer config against enum
> 
> 
> add a second protocol for testing and modify SocketServerTests to check on multi-ports
> 
> 
> Reverted the metadata request changes and removed the explicit security protocol argument. Instead the socketserver will determine the protocol based on the port and add this to the request
> 
> 
> bump version for UpdateMetadataRequest and added support for rolling upgrades with new config
> 
> 
> following tests - fixed LeaderAndISR protocol and ZK registration for backward compatibility
> 
> 
> cleaned up some changes that were actually not necessary. hopefully making this patch slightly easier to review
> 
> 
> undoing some changes that don't belong here
> 
> 
> bring back config lost in cleanup
> 
> 
> fixes neccessary for an all non-plaintext cluster to work
> 
> 
> minor modifications following comments by Jun
> 
> 
> added missing license
> 
> 
> formatting
> 
> 
> clean up imports
> 
> 
> cleaned up V2 to not include host+port field. Using use.new.protocol flag to decide which version to serialize
> 
> 
> change endpoints collection in Broker to Map[protocol, endpoint], mostly to be clear that we intend to have one endpoint per protocol
> 
> 
> validate that listeners and advertised listeners have unique ports and protocols
> 
> 
> support legacy configs
> 
> 
> some fixes following rebase
> 
> 
> Reverted to backward compatible zk registration, changed use.new.protocol to support multiple versions and few minor fixes
> 
> 
> fixing some issues after rebase
> 
> 
> modified inter.broker.protocol config to start with security per feedback
> 
> 
> rebasing on trunk again
> 
> 
> Diffs
> -----
> 
>   clients/src/main/java/org/apache/kafka/clients/producer/ProducerConfig.java 9a43d668376295f47cea0b8eb26b15a6c73bb39c 
>   clients/src/main/java/org/apache/kafka/common/protocol/ApiVersion.java PRE-CREATION 
>   clients/src/main/java/org/apache/kafka/common/protocol/SecurityProtocol.java PRE-CREATION 
>   clients/src/main/java/org/apache/kafka/common/requests/MetadataRequest.java 0186783e1abd0438d6720d035ee1903b51691e09 
>   clients/src/main/java/org/apache/kafka/common/utils/Utils.java 8a305b0fb46563e9e683c327d9e18de532f291de 
>   clients/src/test/java/org/apache/kafka/common/utils/UtilsTest.java 4c2ea34815b63174732d58b699e1a0a9e6ec3b6f 
>   config/server.properties 1614260b71a658b405bb24157c8f12b1f1031aa5 
>   core/src/main/scala/kafka/admin/AdminUtils.scala 28b12c7b89a56c113b665fbde1b95f873f8624a3 
>   core/src/main/scala/kafka/admin/TopicCommand.scala 285c0333ff43543d3e46444c1cd9374bb883bb59 
>   core/src/main/scala/kafka/api/ConsumerMetadataResponse.scala 24aaf954dc42e2084454fa5fc9e8f388ea95c756 
>   core/src/main/scala/kafka/api/LeaderAndIsrRequest.scala 4ff7e8f8cc695551dd5d2fe65c74f6b6c571e340 
>   core/src/main/scala/kafka/api/TopicMetadata.scala 0190076df0adf906ecd332284f222ff974b315fc 
>   core/src/main/scala/kafka/api/TopicMetadataResponse.scala 92ac4e687be22e4800199c0666bfac5e0059e5bb 
>   core/src/main/scala/kafka/api/UpdateMetadataRequest.scala 530982e36b17934b8cc5fb668075a5342e142c59 
>   core/src/main/scala/kafka/client/ClientUtils.scala ebba87f0566684c796c26cb76c64b4640a5ccfde 
>   core/src/main/scala/kafka/cluster/Broker.scala 0060add008bb3bc4b0092f2173c469fce0120be6 
>   core/src/main/scala/kafka/cluster/BrokerEndPoint.scala PRE-CREATION 
>   core/src/main/scala/kafka/cluster/EndPoint.scala PRE-CREATION 
>   core/src/main/scala/kafka/cluster/SecurityProtocol.scala PRE-CREATION 
>   core/src/main/scala/kafka/common/BrokerEndPointNotAvailableException.scala PRE-CREATION 
>   core/src/main/scala/kafka/consumer/ConsumerConfig.scala 9ebbee6c16dc83767297c729d2d74ebbd063a993 
>   core/src/main/scala/kafka/consumer/ConsumerFetcherManager.scala b9e2bea7b442a19bcebd1b350d39541a8c9dd068 
>   core/src/main/scala/kafka/consumer/ConsumerFetcherThread.scala ee6139c901082358382c5ef892281386bf6fc91b 
>   core/src/main/scala/kafka/consumer/ZookeeperConsumerConnector.scala 5487259751ebe19f137948249aa1fd2637d2deb4 
>   core/src/main/scala/kafka/controller/ControllerChannelManager.scala 14b22ab38cc143c8b8d8617d253c5dfd5f5c7b7e 
>   core/src/main/scala/kafka/controller/KafkaController.scala 66df6d2fbdbdd556da6bea0df84f93e0472c8fbf 
>   core/src/main/scala/kafka/javaapi/ConsumerMetadataResponse.scala d281bb31a66fd749ecddfbe38479b6903f436831 
>   core/src/main/scala/kafka/javaapi/TopicMetadata.scala f384e04678df10a5b46a439f475c63371bf8e32b 
>   core/src/main/scala/kafka/network/RequestChannel.scala 7b1db3dbbb2c0676f166890f566c14aa248467ab 
>   core/src/main/scala/kafka/network/SocketServer.scala 39b1651b680b2995cedfde95d74c086d9c6219ef 
>   core/src/main/scala/kafka/producer/ProducerPool.scala 43df70bb461dd3e385e6b20396adef3c4016a3fc 
>   core/src/main/scala/kafka/server/AbstractFetcherManager.scala 20c00cb8cc2351950edbc8cb1752905a0c26e79f 
>   core/src/main/scala/kafka/server/AbstractFetcherThread.scala 8c281d4668f92eff95a4a5df3c03c4b5b20e7095 
>   core/src/main/scala/kafka/server/KafkaApis.scala f2b027bf944e735fd52cc282690ec1b8395f9290 
>   core/src/main/scala/kafka/server/KafkaConfig.scala 6d74983472249eac808d361344c58cc2858ec971 
>   core/src/main/scala/kafka/server/KafkaHealthcheck.scala 4acdd70fe9c1ee78d6510741006c2ece65450671 
>   core/src/main/scala/kafka/server/KafkaServer.scala 89200da30a04943f0b9befe84ab17e62b747c8c4 
>   core/src/main/scala/kafka/server/MetadataCache.scala bf81a1ab88c14be8697b441eedbeb28fa0112643 
>   core/src/main/scala/kafka/server/ReplicaFetcherManager.scala 351dbbad3bdb709937943b336a5b0a9e0162a5e2 
>   core/src/main/scala/kafka/server/ReplicaFetcherThread.scala 6879e730282185bda3d6bc3659cb15af0672cecf 
>   core/src/main/scala/kafka/server/ReplicaManager.scala fb948b9ab28c516e81dab14dcbe211dcd99842b6 
>   core/src/main/scala/kafka/tools/ConsumerOffsetChecker.scala d1e7c434e77859d746b8dc68dd5d5a3740425e79 
>   core/src/main/scala/kafka/tools/ReplicaVerificationTool.scala ba6ddd7a909df79a0f7d45e8b4a2af94ea0fceb6 
>   core/src/main/scala/kafka/tools/SimpleConsumerShell.scala b4f903b6c7c3bb725cac7c05eb1f885906413c4d 
>   core/src/main/scala/kafka/tools/UpdateOffsetsInZK.scala 111c9a8b94ce45d95551482e9fd3f8c1cccbf548 
>   core/src/main/scala/kafka/utils/Utils.scala 738c1af9ef5de16fdf5130daab69757a14c48b5c 
>   core/src/main/scala/kafka/utils/ZkUtils.scala c14bd455b6642f5e6eb254670bef9f57ae41d6cb 
>   core/src/test/scala/integration/kafka/api/ProducerFailureHandlingTest.scala 90c0b7a19c7af8e5416e4bdba62b9824f1abd5ab 
>   core/src/test/scala/integration/kafka/api/ProducerSendTest.scala b15237b76def3b234924280fa3fdb25dbb0cc0dc 
>   core/src/test/scala/other/kafka/TestOffsetManager.scala 41f334d48897b3027ed54c58bbf4811487d3b191 
>   core/src/test/scala/unit/kafka/KafkaConfigTest.scala 4d36b8b1173f60d43463c13c9d8c1275a84c8c28 
>   core/src/test/scala/unit/kafka/admin/AddPartitionsTest.scala 1bf2667f47853585bc33ffb3e28256ec5f24ae84 
>   core/src/test/scala/unit/kafka/api/RequestResponseSerializationTest.scala a1f72f8c2042ff2a43af503b2e06f84706dad9db 
>   core/src/test/scala/unit/kafka/cluster/BrokerTest.scala PRE-CREATION 
>   core/src/test/scala/unit/kafka/consumer/ConsumerIteratorTest.scala c0355cc0135c6af2e346b4715659353a31723b86 
>   core/src/test/scala/unit/kafka/integration/FetcherTest.scala 25845abbcad2e79f56f729e59239b738d3ddbc9d 
>   core/src/test/scala/unit/kafka/integration/KafkaServerTestHarness.scala ef4c9aeaa2711567915f036fb82bedcf5d106e2b 
>   core/src/test/scala/unit/kafka/integration/TopicMetadataTest.scala 35dc071b1056e775326981573c9618d8046e601d 
>   core/src/test/scala/unit/kafka/log/LogTest.scala c2dd8eb69da8c0982a0dd20231c6f8bd58eb623e 
>   core/src/test/scala/unit/kafka/network/SocketServerTest.scala 78b431f9c88cca1bc5e430ffd41083d0e92b7e75 
>   core/src/test/scala/unit/kafka/producer/AsyncProducerTest.scala 1db6ac329f7b54e600802c8a623f80d159d4e69b 
>   core/src/test/scala/unit/kafka/producer/SyncProducerTest.scala d60d8e0f49443f4dc8bc2cad6e2f951eda28f5cb 
>   core/src/test/scala/unit/kafka/server/AdvertiseBrokerTest.scala f0c4a56b61b4f081cf4bee799c6e9c523ff45e19 
>   core/src/test/scala/unit/kafka/server/KafkaConfigTest.scala 82dce80d553957d8b5776a9e140c346d4e07f766 
>   core/src/test/scala/unit/kafka/server/LeaderElectionTest.scala c2ba07c5fdbaf0e65ca033b2e4d88f45a8a15b2e 
>   core/src/test/scala/unit/kafka/server/LogOffsetTest.scala c06ee756bf0fe07e5d3c92823a476c960b37afd6 
>   core/src/test/scala/unit/kafka/utils/TestUtils.scala 54755e8dd3f23ced313067566cd4ea867f8a496e 
>   system_test/replication_testsuite/testcase_1/testcase_1_properties.json 0c6d7a316cc6b51ac0755ca03558507db0706c31 
>   system_test/utils/kafka_system_test_utils.py 41d511cbc310fa87e0f2cd2f772e479e8e3ae4e2 
> 
> Diff: https://reviews.apache.org/r/28769/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Gwen Shapira
> 
>


Re: Review Request 28769: Patch for KAFKA-1809

Posted by Joel Koshy <jj...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/28769/#review70642
-----------------------------------------------------------


It seems some of the recent trunk changes have crept into this diff. Seems to be an issue with the patch review script as you normally shouldn't need to git pull before submitting.

- Joel Koshy


On Feb. 2, 2015, 7:55 p.m., Gwen Shapira wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/28769/
> -----------------------------------------------------------
> 
> (Updated Feb. 2, 2015, 7:55 p.m.)
> 
> 
> Review request for kafka.
> 
> 
> Bugs: KAFKA-1809
>     https://issues.apache.org/jira/browse/KAFKA-1809
> 
> 
> Repository: kafka
> 
> 
> Description
> -------
> 
> KAFKA-1890 Fix bug preventing Mirror Maker from successful rebalance; reviewed by Gwen Shapira and Neha Narkhede
> 
> 
> KAFKA-1896; Record size function should check if value is null; reviewed by Guozhang Wang
> 
> 
> KAFKA-1109 Need to fix GC log configuration code, not able to override KAFKA_GC_LOG_OPTS; reviewed by Neha Narkhede
> 
> 
> KAFKA-1883 Fix NullPointerException in RequestSendThread; reviewed by Neha Narkhede
> 
> 
> KAFKA-1885 Upgrade junit dependency in core to 4.6 version to allow running individual test methods via gradle command line; reviewed by Neha Narkhede
> 
> 
> KAFKA-1818 KAFKA-1818 clean up code to more idiomatic scala usage; reviewed by Neha Narkhede and Gwen Shapira
> 
> 
> KAFKA-1902; fix MetricName so that Yammer reporter can work correctly; patched by Jun Rao; reviewed by Manikumar Reddy, Manikumar Reddy and Joel Koshy
> 
> 
> KAFKA-1861; Publishing kafka-client:test in order to utilize the helper utils in TestUtils; patched by Manikumar Reddy; reviewed by Jun Rao
> 
> 
> KAFKA-1760: New consumer.
> 
> 
> KAFKA-1760 Follow-up: fix compilation issue with Scala 2.11
> 
> 
> first commit of refactoring.
> 
> 
> changed topicmetadata to include brokerendpoints and fixed few unit tests
> 
> 
> fixing systest and support for binding to default address
> 
> 
> fixed system tests
> 
> 
> fix default address binding and ipv6 support
> 
> 
> fix some issues regarding endpoint parsing. Also, larger segments for systest make the validation much faster
> 
> 
> added link to security wiki in doc
> 
> 
> fixing unit test after rename of ProtocolType to SecurityProtocol
> 
> 
> Following Joe's advice, added security protocol enum on client side, and modified protocol to use ID instead of string.
> 
> 
> validate producer config against enum
> 
> 
> add a second protocol for testing and modify SocketServerTests to check on multi-ports
> 
> 
> Reverted the metadata request changes and removed the explicit security protocol argument. Instead the socketserver will determine the protocol based on the port and add this to the request
> 
> 
> bump version for UpdateMetadataRequest and added support for rolling upgrades with new config
> 
> 
> following tests - fixed LeaderAndISR protocol and ZK registration for backward compatibility
> 
> 
> cleaned up some changes that were actually not necessary. hopefully making this patch slightly easier to review
> 
> 
> undoing some changes that don't belong here
> 
> 
> bring back config lost in cleanup
> 
> 
> fixes neccessary for an all non-plaintext cluster to work
> 
> 
> minor modifications following comments by Jun
> 
> 
> added missing license
> 
> 
> formatting
> 
> 
> clean up imports
> 
> 
> cleaned up V2 to not include host+port field. Using use.new.protocol flag to decide which version to serialize
> 
> 
> change endpoints collection in Broker to Map[protocol, endpoint], mostly to be clear that we intend to have one endpoint per protocol
> 
> 
> validate that listeners and advertised listeners have unique ports and protocols
> 
> 
> support legacy configs
> 
> 
> some fixes following rebase
> 
> 
> Reverted to backward compatible zk registration, changed use.new.protocol to support multiple versions and few minor fixes
> 
> 
> fixing some issues after rebase
> 
> 
> modified inter.broker.protocol config to start with security per feedback
> 
> 
> Diffs
> -----
> 
>   README.md 35e06b1cc6373f24ea6d405cccd4aacf0f458e0d 
>   bin/kafka-run-class.sh 22a9865b5939450a9d7f4ea2eee5eba2c1ec758c 
>   build.gradle 1cbab29ce83e20dae0561b51eed6fdb86d522f28 
>   clients/src/main/java/org/apache/kafka/clients/ClientRequest.java d32c319d8ee4c46dad309ea54b136ea9798e2fd7 
>   clients/src/main/java/org/apache/kafka/clients/ClusterConnectionStates.java 8aece7e81a804b177a6f2c12e2dc6c89c1613262 
>   clients/src/main/java/org/apache/kafka/clients/CommonClientConfigs.java PRE-CREATION 
>   clients/src/main/java/org/apache/kafka/clients/ConnectionState.java ab7e3220f9b76b92ef981d695299656f041ad5ed 
>   clients/src/main/java/org/apache/kafka/clients/KafkaClient.java 397695568d3fd8e835d8f923a89b3b00c96d0ead 
>   clients/src/main/java/org/apache/kafka/clients/NetworkClient.java 6746275d0b2596cd6ff7ce464a3a8225ad75ef00 
>   clients/src/main/java/org/apache/kafka/clients/NodeConnectionState.java 752a979ea0b8bde7ff6d2e1a23bf54052305d841 
>   clients/src/main/java/org/apache/kafka/clients/consumer/CommitType.java PRE-CREATION 
>   clients/src/main/java/org/apache/kafka/clients/consumer/Consumer.java c0c636b3e1ba213033db6d23655032c9bbd5e378 
>   clients/src/main/java/org/apache/kafka/clients/consumer/ConsumerConfig.java 57c1807ccba9f264186f83e91f37c34b959c8060 
>   clients/src/main/java/org/apache/kafka/clients/consumer/ConsumerRebalanceCallback.java e4cf7d1cfa01c2844b53213a7b539cdcbcbeaa3a 
>   clients/src/main/java/org/apache/kafka/clients/consumer/ConsumerRecord.java 16af70a5de52cca786fdea147a6a639b7dc4a311 
>   clients/src/main/java/org/apache/kafka/clients/consumer/ConsumerRecords.java bdf4b26942d5a8c8a9503e05908e9a9eff6228a7 
>   clients/src/main/java/org/apache/kafka/clients/consumer/KafkaConsumer.java 76efc216c9e6c3ab084461d792877092a189ad0f 
>   clients/src/main/java/org/apache/kafka/clients/consumer/MockConsumer.java fa88ac1a8b19b4294f211c4467fe68c7707ddbae 
>   clients/src/main/java/org/apache/kafka/clients/consumer/NoOffsetForPartitionException.java PRE-CREATION 
>   clients/src/main/java/org/apache/kafka/clients/consumer/OffsetMetadata.java ea423ad15eebd262d20d5ec05d592cc115229177 
>   clients/src/main/java/org/apache/kafka/clients/consumer/internals/Heartbeat.java PRE-CREATION 
>   clients/src/main/java/org/apache/kafka/clients/consumer/internals/NoOpConsumerRebalanceCallback.java PRE-CREATION 
>   clients/src/main/java/org/apache/kafka/clients/consumer/internals/SubscriptionState.java PRE-CREATION 
>   clients/src/main/java/org/apache/kafka/clients/producer/KafkaProducer.java fc71710dd5997576d3841a1c3b0f7e19a8c9698e 
>   clients/src/main/java/org/apache/kafka/clients/producer/MockProducer.java 904976fadf0610982958628eaee810b60a98d725 
>   clients/src/main/java/org/apache/kafka/clients/producer/ProducerConfig.java 8b3e565edd1ae04d8d34bd9f1a41e9fa8c880a75 
>   clients/src/main/java/org/apache/kafka/clients/producer/internals/Metadata.java dcf46581b912cfb1b5c8d4cbc293d2d1444b7740 
>   clients/src/main/java/org/apache/kafka/clients/producer/internals/Partitioner.java 483899d2e69b33655d0e08949f5f64af2519660a 
>   clients/src/main/java/org/apache/kafka/clients/producer/internals/Sender.java ccc03d8447ebba40131a70e16969686ac4aab58a 
>   clients/src/main/java/org/apache/kafka/common/Cluster.java d3299b944062d96852452de455902659ad8af757 
>   clients/src/main/java/org/apache/kafka/common/PartitionInfo.java b15aa2c3ef2d7c4b24618ff42fd4da324237a813 
>   clients/src/main/java/org/apache/kafka/common/config/ConfigDef.java 98cb79b701918eca3f6ca9823b6c7b7c97b3ecec 
>   clients/src/main/java/org/apache/kafka/common/errors/ApiException.java 7c948b166a8ac07616809f260754116ae7764973 
>   clients/src/main/java/org/apache/kafka/common/network/Selectable.java b68bbf00ab8eba6c5867d346c91188142593ca6e 
>   clients/src/main/java/org/apache/kafka/common/network/Selector.java 74d695ba39de44b6a3d15340ec0114bc4fce2ba2 
>   clients/src/main/java/org/apache/kafka/common/protocol/ApiVersion.java PRE-CREATION 
>   clients/src/main/java/org/apache/kafka/common/protocol/Errors.java 3316b6a1098311b8603a4a5893bf57b75d2e43cb 
>   clients/src/main/java/org/apache/kafka/common/protocol/SecurityProtocol.java PRE-CREATION 
>   clients/src/main/java/org/apache/kafka/common/protocol/types/Struct.java 121e880a941fcd3e6392859edba11a94236494cc 
>   clients/src/main/java/org/apache/kafka/common/record/LogEntry.java e4d688cbe0c61b74ea15fc8dd3b634f9e5ee9b83 
>   clients/src/main/java/org/apache/kafka/common/record/MemoryRecords.java 040e5b91005edb8f015afdfa76fd94e0bf3cb4ca 
>   clients/src/main/java/org/apache/kafka/common/requests/ConsumerMetadataRequest.java 99b52c23d639df010bf2affc0f79d1c6e16ed67c 
>   clients/src/main/java/org/apache/kafka/common/requests/ConsumerMetadataResponse.java 8b8f591c4b2802a9cbbe34746c0b3ca4a64a8681 
>   clients/src/main/java/org/apache/kafka/common/requests/FetchRequest.java 2fc471f64f4352eeb128bbd3941779780076fb8c 
>   clients/src/main/java/org/apache/kafka/common/requests/FetchResponse.java f719010119951e55795a583796a93a251e1ba404 
>   clients/src/main/java/org/apache/kafka/common/requests/HeartbeatRequest.java 9512db2365d8d1f7a9a9e93b2bebabd877881143 
>   clients/src/main/java/org/apache/kafka/common/requests/HeartbeatResponse.java 8997ffc44c18b7ae14365161c04eb423793cb8c9 
>   clients/src/main/java/org/apache/kafka/common/requests/JoinGroupRequest.java d6e91f393179809f72d52028d6a8a2b2bb43b820 
>   clients/src/main/java/org/apache/kafka/common/requests/JoinGroupResponse.java efe89796a7bd0d1cabc138f695b0eb28007663a7 
>   clients/src/main/java/org/apache/kafka/common/requests/ListOffsetRequest.java 99364c1ca464f7b81be7d3da15b40ab66717a659 
>   clients/src/main/java/org/apache/kafka/common/requests/ListOffsetResponse.java ac239712f11848755cc01399b4027ea0a8d7d8ac 
>   clients/src/main/java/org/apache/kafka/common/requests/MetadataRequest.java b22ca1dce65f665d84c2a980fd82f816e93d9960 
>   clients/src/main/java/org/apache/kafka/common/requests/MetadataResponse.java d97962d3840179b1abf01459522c58e59102ac8d 
>   clients/src/main/java/org/apache/kafka/common/requests/OffsetCommitRequest.java 3ee5cbad55ce836fd04bb954dcf6ef2f9bc3288f 
>   clients/src/main/java/org/apache/kafka/common/requests/OffsetCommitResponse.java 711232ac613786392f1389f2f883818bf4ac2a33 
>   clients/src/main/java/org/apache/kafka/common/requests/OffsetFetchRequest.java 90d5135b97a44d1181bd595c8eab2f2aef1a728a 
>   clients/src/main/java/org/apache/kafka/common/requests/OffsetFetchResponse.java 6b7c269ad7679df57c6bd505516075add39b7534 
>   clients/src/main/java/org/apache/kafka/common/requests/ProduceRequest.java 3dbba8a360f11b2b1db259ecce11e15d8eeaccfb 
>   clients/src/main/java/org/apache/kafka/common/requests/ProduceResponse.java 5220464913e6e82734e7f9ff886be7fdfa80361f 
>   clients/src/main/java/org/apache/kafka/common/serialization/Deserializer.java 3c001d33091c0f04ac3bf49a6731ab9e9f2bb0c4 
>   clients/src/main/java/org/apache/kafka/common/utils/Utils.java 527dd0f9c47fce7310b7a37a9b95bf87f1b9c292 
>   clients/src/test/java/org/apache/kafka/clients/MockClient.java 47b5d4ac1f2a5d162541cab658add9cc40b3aa4e 
>   clients/src/test/java/org/apache/kafka/clients/NetworkClientTest.java 1a55242e9399fa4669630b55110d530f954e1279 
>   clients/src/test/java/org/apache/kafka/clients/consumer/ConsumerExampleTest.java 29ad25e90606f065b409bc194ef9200189933aa6 
>   clients/src/test/java/org/apache/kafka/clients/consumer/MockConsumerTest.java PRE-CREATION 
>   clients/src/test/java/org/apache/kafka/clients/consumer/internals/SubscriptionStateTest.java PRE-CREATION 
>   clients/src/test/java/org/apache/kafka/clients/producer/BufferPoolTest.java 12368038e1381f89352a5a1c98b2e0f8cbc04cbd 
>   clients/src/test/java/org/apache/kafka/clients/producer/MockProducerTest.java 3676b05eb8b83bbd8a38754fc3a979124908281b 
>   clients/src/test/java/org/apache/kafka/clients/producer/PartitionerTest.java 1d077fd4c56bf28557a0ca1e15c82cc427f36e6c 
>   clients/src/test/java/org/apache/kafka/clients/producer/SenderTest.java 66cbdf5babed3ac27c5254d945372644a053df87 
>   clients/src/test/java/org/apache/kafka/common/config/ConfigDefTest.java 3c442a27a7ba3eaa908becc802aab6242594df85 
>   clients/src/test/java/org/apache/kafka/common/network/SelectorTest.java 74c19573a29b0d5ac4264e1430904dca52571404 
>   clients/src/test/java/org/apache/kafka/common/utils/UtilsTest.java a39fab532f73148316a56c0f8e9197f38ea66f79 
>   clients/src/test/java/org/apache/kafka/test/MockSelector.java d61de529173314c044261ad9662bec735d67e97f 
>   config/server.properties 1614260b71a658b405bb24157c8f12b1f1031aa5 
>   core/src/main/scala/kafka/admin/AdminUtils.scala 28b12c7b89a56c113b665fbde1b95f873f8624a3 
>   core/src/main/scala/kafka/admin/TopicCommand.scala 285c0333ff43543d3e46444c1cd9374bb883bb59 
>   core/src/main/scala/kafka/api/ConsumerMetadataRequest.scala 6d00ed090d76cd7925621a9c6db8fb00fb9d48f4 
>   core/src/main/scala/kafka/api/ConsumerMetadataResponse.scala 84f60178f6ebae735c8aa3e79ed93fe21ac4aea7 
>   core/src/main/scala/kafka/api/LeaderAndIsrRequest.scala 4ff7e8f8cc695551dd5d2fe65c74f6b6c571e340 
>   core/src/main/scala/kafka/api/TopicMetadata.scala 0190076df0adf906ecd332284f222ff974b315fc 
>   core/src/main/scala/kafka/api/TopicMetadataResponse.scala 92ac4e687be22e4800199c0666bfac5e0059e5bb 
>   core/src/main/scala/kafka/api/UpdateMetadataRequest.scala 530982e36b17934b8cc5fb668075a5342e142c59 
>   core/src/main/scala/kafka/client/ClientUtils.scala ebba87f0566684c796c26cb76c64b4640a5ccfde 
>   core/src/main/scala/kafka/cluster/Broker.scala 0060add008bb3bc4b0092f2173c469fce0120be6 
>   core/src/main/scala/kafka/cluster/BrokerEndPoint.scala PRE-CREATION 
>   core/src/main/scala/kafka/cluster/EndPoint.scala PRE-CREATION 
>   core/src/main/scala/kafka/cluster/Partition.scala b230e9a1fb1a3161f4c9d164e4890a16eceb2ad4 
>   core/src/main/scala/kafka/cluster/SecurityProtocol.scala PRE-CREATION 
>   core/src/main/scala/kafka/common/BrokerEndPointNotAvailableException.scala PRE-CREATION 
>   core/src/main/scala/kafka/consumer/ConsumerConfig.scala 9ebbee6c16dc83767297c729d2d74ebbd063a993 
>   core/src/main/scala/kafka/consumer/ConsumerFetcherManager.scala b9e2bea7b442a19bcebd1b350d39541a8c9dd068 
>   core/src/main/scala/kafka/consumer/ConsumerFetcherThread.scala ee6139c901082358382c5ef892281386bf6fc91b 
>   core/src/main/scala/kafka/consumer/ZookeeperConsumerConnector.scala 5487259751ebe19f137948249aa1fd2637d2deb4 
>   core/src/main/scala/kafka/controller/ControllerChannelManager.scala eb492f00449744bc8d63f55b393e2a1659d38454 
>   core/src/main/scala/kafka/controller/KafkaController.scala 66df6d2fbdbdd556da6bea0df84f93e0472c8fbf 
>   core/src/main/scala/kafka/javaapi/ConsumerMetadataResponse.scala 1b28861cdf7dfb30fc696b54f8f8f05f730f4ece 
>   core/src/main/scala/kafka/javaapi/TopicMetadata.scala f384e04678df10a5b46a439f475c63371bf8e32b 
>   core/src/main/scala/kafka/log/LogConfig.scala 4631bc78106e6167ab6c0a781f40dcd8cd265598 
>   core/src/main/scala/kafka/metrics/KafkaMetricsGroup.scala e9e49180f6de45f98e79374f519f6097b4fc8637 
>   core/src/main/scala/kafka/network/RequestChannel.scala 7b1db3dbbb2c0676f166890f566c14aa248467ab 
>   core/src/main/scala/kafka/network/SocketServer.scala 39b1651b680b2995cedfde95d74c086d9c6219ef 
>   core/src/main/scala/kafka/producer/ProducerPool.scala 43df70bb461dd3e385e6b20396adef3c4016a3fc 
>   core/src/main/scala/kafka/server/AbstractFetcherManager.scala 20c00cb8cc2351950edbc8cb1752905a0c26e79f 
>   core/src/main/scala/kafka/server/AbstractFetcherThread.scala 8c281d4668f92eff95a4a5df3c03c4b5b20e7095 
>   core/src/main/scala/kafka/server/KafkaApis.scala ec8d9f7ba44741db40875458bd524c4062ad6a26 
>   core/src/main/scala/kafka/server/KafkaConfig.scala 6d74983472249eac808d361344c58cc2858ec971 
>   core/src/main/scala/kafka/server/KafkaHealthcheck.scala 4acdd70fe9c1ee78d6510741006c2ece65450671 
>   core/src/main/scala/kafka/server/KafkaServer.scala 89200da30a04943f0b9befe84ab17e62b747c8c4 
>   core/src/main/scala/kafka/server/MetadataCache.scala bf81a1ab88c14be8697b441eedbeb28fa0112643 
>   core/src/main/scala/kafka/server/ReplicaFetcherManager.scala 351dbbad3bdb709937943b336a5b0a9e0162a5e2 
>   core/src/main/scala/kafka/server/ReplicaFetcherThread.scala 6879e730282185bda3d6bc3659cb15af0672cecf 
>   core/src/main/scala/kafka/server/ReplicaManager.scala e58fbb922e93b0c31dff04f187fcadb4ece986d7 
>   core/src/main/scala/kafka/tools/ConsoleConsumer.scala e455cb9a1de221a6d080e3abd909ea8f24ff7fe9 
>   core/src/main/scala/kafka/tools/ConsumerOffsetChecker.scala d1e7c434e77859d746b8dc68dd5d5a3740425e79 
>   core/src/main/scala/kafka/tools/ConsumerPerformance.scala 093c800ea7f8a9c972bb66e99ac4e4d431cf11cc 
>   core/src/main/scala/kafka/tools/MirrorMaker.scala 5cbc8103e33a0a234d158c048e5314e841da6249 
>   core/src/main/scala/kafka/tools/ReplicaVerificationTool.scala ba6ddd7a909df79a0f7d45e8b4a2af94ea0fceb6 
>   core/src/main/scala/kafka/tools/SimpleConsumerPerformance.scala 7602b8d705970a5dab49ed36d117346a960701ac 
>   core/src/main/scala/kafka/tools/SimpleConsumerShell.scala b4f903b6c7c3bb725cac7c05eb1f885906413c4d 
>   core/src/main/scala/kafka/tools/UpdateOffsetsInZK.scala 111c9a8b94ce45d95551482e9fd3f8c1cccbf548 
>   core/src/main/scala/kafka/utils/KafkaScheduler.scala 9a16343d2ff7192b741f0b23a6bdf58d8f2bbd3e 
>   core/src/main/scala/kafka/utils/ReplicationUtils.scala 715767380f7c284148689fd34d4bfba51abd96a0 
>   core/src/main/scala/kafka/utils/Utils.scala 738c1af9ef5de16fdf5130daab69757a14c48b5c 
>   core/src/main/scala/kafka/utils/ZkUtils.scala c14bd455b6642f5e6eb254670bef9f57ae41d6cb 
>   core/src/test/scala/integration/kafka/api/ConsumerTest.scala PRE-CREATION 
>   core/src/test/scala/integration/kafka/api/IntegrationTestHarness.scala PRE-CREATION 
>   core/src/test/scala/integration/kafka/api/ProducerFailureHandlingTest.scala 90c0b7a19c7af8e5416e4bdba62b9824f1abd5ab 
>   core/src/test/scala/integration/kafka/api/ProducerSendTest.scala b15237b76def3b234924280fa3fdb25dbb0cc0dc 
>   core/src/test/scala/other/kafka/TestOffsetManager.scala 41f334d48897b3027ed54c58bbf4811487d3b191 
>   core/src/test/scala/unit/kafka/KafkaConfigTest.scala 4d36b8b1173f60d43463c13c9d8c1275a84c8c28 
>   core/src/test/scala/unit/kafka/admin/AddPartitionsTest.scala 1bf2667f47853585bc33ffb3e28256ec5f24ae84 
>   core/src/test/scala/unit/kafka/api/RequestResponseSerializationTest.scala cd16ced5465d098be7a60498326b2a98c248f343 
>   core/src/test/scala/unit/kafka/cluster/BrokerTest.scala PRE-CREATION 
>   core/src/test/scala/unit/kafka/consumer/ConsumerIteratorTest.scala c0355cc0135c6af2e346b4715659353a31723b86 
>   core/src/test/scala/unit/kafka/integration/FetcherTest.scala 25845abbcad2e79f56f729e59239b738d3ddbc9d 
>   core/src/test/scala/unit/kafka/integration/KafkaServerTestHarness.scala 3cf7c9bcd64492d05590067a8ad11d31096a8e5e 
>   core/src/test/scala/unit/kafka/integration/PrimitiveApiTest.scala a5386a03b62956bc440b40783247c8cdf7432315 
>   core/src/test/scala/unit/kafka/integration/TopicMetadataTest.scala 35dc071b1056e775326981573c9618d8046e601d 
>   core/src/test/scala/unit/kafka/log/LogTest.scala c2dd8eb69da8c0982a0dd20231c6f8bd58eb623e 
>   core/src/test/scala/unit/kafka/network/SocketServerTest.scala 78b431f9c88cca1bc5e430ffd41083d0e92b7e75 
>   core/src/test/scala/unit/kafka/producer/AsyncProducerTest.scala 1db6ac329f7b54e600802c8a623f80d159d4e69b 
>   core/src/test/scala/unit/kafka/producer/SyncProducerTest.scala d60d8e0f49443f4dc8bc2cad6e2f951eda28f5cb 
>   core/src/test/scala/unit/kafka/server/AdvertiseBrokerTest.scala f0c4a56b61b4f081cf4bee799c6e9c523ff45e19 
>   core/src/test/scala/unit/kafka/server/KafkaConfigTest.scala 82dce80d553957d8b5776a9e140c346d4e07f766 
>   core/src/test/scala/unit/kafka/server/LeaderElectionTest.scala c2ba07c5fdbaf0e65ca033b2e4d88f45a8a15b2e 
>   core/src/test/scala/unit/kafka/server/LogOffsetTest.scala c06ee756bf0fe07e5d3c92823a476c960b37afd6 
>   core/src/test/scala/unit/kafka/utils/MockScheduler.scala d5896ed4d3b73aecb652436b5dfc80c2835af595 
>   core/src/test/scala/unit/kafka/utils/ReplicationUtilsTest.scala 84e08557de5acdcf0a98b192feac72836ea359b8 
>   core/src/test/scala/unit/kafka/utils/SchedulerTest.scala b364ac2d6d623f6e86805710ca68dc32d92558c1 
>   core/src/test/scala/unit/kafka/utils/TestUtils.scala ac15d34425795d5be20c51b01fa1108bdcd66583 
>   system_test/replication_testsuite/testcase_1/testcase_1_properties.json 0c6d7a316cc6b51ac0755ca03558507db0706c31 
>   system_test/utils/kafka_system_test_utils.py 41d511cbc310fa87e0f2cd2f772e479e8e3ae4e2 
> 
> Diff: https://reviews.apache.org/r/28769/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Gwen Shapira
> 
>


Re: Review Request 28769: Patch for KAFKA-1809

Posted by Gwen Shapira <gs...@cloudera.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/28769/
-----------------------------------------------------------

(Updated Feb. 2, 2015, 7:55 p.m.)


Review request for kafka.


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


Repository: kafka


Description (updated)
-------

KAFKA-1890 Fix bug preventing Mirror Maker from successful rebalance; reviewed by Gwen Shapira and Neha Narkhede


KAFKA-1896; Record size function should check if value is null; reviewed by Guozhang Wang


KAFKA-1109 Need to fix GC log configuration code, not able to override KAFKA_GC_LOG_OPTS; reviewed by Neha Narkhede


KAFKA-1883 Fix NullPointerException in RequestSendThread; reviewed by Neha Narkhede


KAFKA-1885 Upgrade junit dependency in core to 4.6 version to allow running individual test methods via gradle command line; reviewed by Neha Narkhede


KAFKA-1818 KAFKA-1818 clean up code to more idiomatic scala usage; reviewed by Neha Narkhede and Gwen Shapira


KAFKA-1902; fix MetricName so that Yammer reporter can work correctly; patched by Jun Rao; reviewed by Manikumar Reddy, Manikumar Reddy and Joel Koshy


KAFKA-1861; Publishing kafka-client:test in order to utilize the helper utils in TestUtils; patched by Manikumar Reddy; reviewed by Jun Rao


KAFKA-1760: New consumer.


KAFKA-1760 Follow-up: fix compilation issue with Scala 2.11


first commit of refactoring.


changed topicmetadata to include brokerendpoints and fixed few unit tests


fixing systest and support for binding to default address


fixed system tests


fix default address binding and ipv6 support


fix some issues regarding endpoint parsing. Also, larger segments for systest make the validation much faster


added link to security wiki in doc


fixing unit test after rename of ProtocolType to SecurityProtocol


Following Joe's advice, added security protocol enum on client side, and modified protocol to use ID instead of string.


validate producer config against enum


add a second protocol for testing and modify SocketServerTests to check on multi-ports


Reverted the metadata request changes and removed the explicit security protocol argument. Instead the socketserver will determine the protocol based on the port and add this to the request


bump version for UpdateMetadataRequest and added support for rolling upgrades with new config


following tests - fixed LeaderAndISR protocol and ZK registration for backward compatibility


cleaned up some changes that were actually not necessary. hopefully making this patch slightly easier to review


undoing some changes that don't belong here


bring back config lost in cleanup


fixes neccessary for an all non-plaintext cluster to work


minor modifications following comments by Jun


added missing license


formatting


clean up imports


cleaned up V2 to not include host+port field. Using use.new.protocol flag to decide which version to serialize


change endpoints collection in Broker to Map[protocol, endpoint], mostly to be clear that we intend to have one endpoint per protocol


validate that listeners and advertised listeners have unique ports and protocols


support legacy configs


some fixes following rebase


Reverted to backward compatible zk registration, changed use.new.protocol to support multiple versions and few minor fixes


fixing some issues after rebase


modified inter.broker.protocol config to start with security per feedback


Diffs (updated)
-----

  README.md 35e06b1cc6373f24ea6d405cccd4aacf0f458e0d 
  bin/kafka-run-class.sh 22a9865b5939450a9d7f4ea2eee5eba2c1ec758c 
  build.gradle 1cbab29ce83e20dae0561b51eed6fdb86d522f28 
  clients/src/main/java/org/apache/kafka/clients/ClientRequest.java d32c319d8ee4c46dad309ea54b136ea9798e2fd7 
  clients/src/main/java/org/apache/kafka/clients/ClusterConnectionStates.java 8aece7e81a804b177a6f2c12e2dc6c89c1613262 
  clients/src/main/java/org/apache/kafka/clients/CommonClientConfigs.java PRE-CREATION 
  clients/src/main/java/org/apache/kafka/clients/ConnectionState.java ab7e3220f9b76b92ef981d695299656f041ad5ed 
  clients/src/main/java/org/apache/kafka/clients/KafkaClient.java 397695568d3fd8e835d8f923a89b3b00c96d0ead 
  clients/src/main/java/org/apache/kafka/clients/NetworkClient.java 6746275d0b2596cd6ff7ce464a3a8225ad75ef00 
  clients/src/main/java/org/apache/kafka/clients/NodeConnectionState.java 752a979ea0b8bde7ff6d2e1a23bf54052305d841 
  clients/src/main/java/org/apache/kafka/clients/consumer/CommitType.java PRE-CREATION 
  clients/src/main/java/org/apache/kafka/clients/consumer/Consumer.java c0c636b3e1ba213033db6d23655032c9bbd5e378 
  clients/src/main/java/org/apache/kafka/clients/consumer/ConsumerConfig.java 57c1807ccba9f264186f83e91f37c34b959c8060 
  clients/src/main/java/org/apache/kafka/clients/consumer/ConsumerRebalanceCallback.java e4cf7d1cfa01c2844b53213a7b539cdcbcbeaa3a 
  clients/src/main/java/org/apache/kafka/clients/consumer/ConsumerRecord.java 16af70a5de52cca786fdea147a6a639b7dc4a311 
  clients/src/main/java/org/apache/kafka/clients/consumer/ConsumerRecords.java bdf4b26942d5a8c8a9503e05908e9a9eff6228a7 
  clients/src/main/java/org/apache/kafka/clients/consumer/KafkaConsumer.java 76efc216c9e6c3ab084461d792877092a189ad0f 
  clients/src/main/java/org/apache/kafka/clients/consumer/MockConsumer.java fa88ac1a8b19b4294f211c4467fe68c7707ddbae 
  clients/src/main/java/org/apache/kafka/clients/consumer/NoOffsetForPartitionException.java PRE-CREATION 
  clients/src/main/java/org/apache/kafka/clients/consumer/OffsetMetadata.java ea423ad15eebd262d20d5ec05d592cc115229177 
  clients/src/main/java/org/apache/kafka/clients/consumer/internals/Heartbeat.java PRE-CREATION 
  clients/src/main/java/org/apache/kafka/clients/consumer/internals/NoOpConsumerRebalanceCallback.java PRE-CREATION 
  clients/src/main/java/org/apache/kafka/clients/consumer/internals/SubscriptionState.java PRE-CREATION 
  clients/src/main/java/org/apache/kafka/clients/producer/KafkaProducer.java fc71710dd5997576d3841a1c3b0f7e19a8c9698e 
  clients/src/main/java/org/apache/kafka/clients/producer/MockProducer.java 904976fadf0610982958628eaee810b60a98d725 
  clients/src/main/java/org/apache/kafka/clients/producer/ProducerConfig.java 8b3e565edd1ae04d8d34bd9f1a41e9fa8c880a75 
  clients/src/main/java/org/apache/kafka/clients/producer/internals/Metadata.java dcf46581b912cfb1b5c8d4cbc293d2d1444b7740 
  clients/src/main/java/org/apache/kafka/clients/producer/internals/Partitioner.java 483899d2e69b33655d0e08949f5f64af2519660a 
  clients/src/main/java/org/apache/kafka/clients/producer/internals/Sender.java ccc03d8447ebba40131a70e16969686ac4aab58a 
  clients/src/main/java/org/apache/kafka/common/Cluster.java d3299b944062d96852452de455902659ad8af757 
  clients/src/main/java/org/apache/kafka/common/PartitionInfo.java b15aa2c3ef2d7c4b24618ff42fd4da324237a813 
  clients/src/main/java/org/apache/kafka/common/config/ConfigDef.java 98cb79b701918eca3f6ca9823b6c7b7c97b3ecec 
  clients/src/main/java/org/apache/kafka/common/errors/ApiException.java 7c948b166a8ac07616809f260754116ae7764973 
  clients/src/main/java/org/apache/kafka/common/network/Selectable.java b68bbf00ab8eba6c5867d346c91188142593ca6e 
  clients/src/main/java/org/apache/kafka/common/network/Selector.java 74d695ba39de44b6a3d15340ec0114bc4fce2ba2 
  clients/src/main/java/org/apache/kafka/common/protocol/ApiVersion.java PRE-CREATION 
  clients/src/main/java/org/apache/kafka/common/protocol/Errors.java 3316b6a1098311b8603a4a5893bf57b75d2e43cb 
  clients/src/main/java/org/apache/kafka/common/protocol/SecurityProtocol.java PRE-CREATION 
  clients/src/main/java/org/apache/kafka/common/protocol/types/Struct.java 121e880a941fcd3e6392859edba11a94236494cc 
  clients/src/main/java/org/apache/kafka/common/record/LogEntry.java e4d688cbe0c61b74ea15fc8dd3b634f9e5ee9b83 
  clients/src/main/java/org/apache/kafka/common/record/MemoryRecords.java 040e5b91005edb8f015afdfa76fd94e0bf3cb4ca 
  clients/src/main/java/org/apache/kafka/common/requests/ConsumerMetadataRequest.java 99b52c23d639df010bf2affc0f79d1c6e16ed67c 
  clients/src/main/java/org/apache/kafka/common/requests/ConsumerMetadataResponse.java 8b8f591c4b2802a9cbbe34746c0b3ca4a64a8681 
  clients/src/main/java/org/apache/kafka/common/requests/FetchRequest.java 2fc471f64f4352eeb128bbd3941779780076fb8c 
  clients/src/main/java/org/apache/kafka/common/requests/FetchResponse.java f719010119951e55795a583796a93a251e1ba404 
  clients/src/main/java/org/apache/kafka/common/requests/HeartbeatRequest.java 9512db2365d8d1f7a9a9e93b2bebabd877881143 
  clients/src/main/java/org/apache/kafka/common/requests/HeartbeatResponse.java 8997ffc44c18b7ae14365161c04eb423793cb8c9 
  clients/src/main/java/org/apache/kafka/common/requests/JoinGroupRequest.java d6e91f393179809f72d52028d6a8a2b2bb43b820 
  clients/src/main/java/org/apache/kafka/common/requests/JoinGroupResponse.java efe89796a7bd0d1cabc138f695b0eb28007663a7 
  clients/src/main/java/org/apache/kafka/common/requests/ListOffsetRequest.java 99364c1ca464f7b81be7d3da15b40ab66717a659 
  clients/src/main/java/org/apache/kafka/common/requests/ListOffsetResponse.java ac239712f11848755cc01399b4027ea0a8d7d8ac 
  clients/src/main/java/org/apache/kafka/common/requests/MetadataRequest.java b22ca1dce65f665d84c2a980fd82f816e93d9960 
  clients/src/main/java/org/apache/kafka/common/requests/MetadataResponse.java d97962d3840179b1abf01459522c58e59102ac8d 
  clients/src/main/java/org/apache/kafka/common/requests/OffsetCommitRequest.java 3ee5cbad55ce836fd04bb954dcf6ef2f9bc3288f 
  clients/src/main/java/org/apache/kafka/common/requests/OffsetCommitResponse.java 711232ac613786392f1389f2f883818bf4ac2a33 
  clients/src/main/java/org/apache/kafka/common/requests/OffsetFetchRequest.java 90d5135b97a44d1181bd595c8eab2f2aef1a728a 
  clients/src/main/java/org/apache/kafka/common/requests/OffsetFetchResponse.java 6b7c269ad7679df57c6bd505516075add39b7534 
  clients/src/main/java/org/apache/kafka/common/requests/ProduceRequest.java 3dbba8a360f11b2b1db259ecce11e15d8eeaccfb 
  clients/src/main/java/org/apache/kafka/common/requests/ProduceResponse.java 5220464913e6e82734e7f9ff886be7fdfa80361f 
  clients/src/main/java/org/apache/kafka/common/serialization/Deserializer.java 3c001d33091c0f04ac3bf49a6731ab9e9f2bb0c4 
  clients/src/main/java/org/apache/kafka/common/utils/Utils.java 527dd0f9c47fce7310b7a37a9b95bf87f1b9c292 
  clients/src/test/java/org/apache/kafka/clients/MockClient.java 47b5d4ac1f2a5d162541cab658add9cc40b3aa4e 
  clients/src/test/java/org/apache/kafka/clients/NetworkClientTest.java 1a55242e9399fa4669630b55110d530f954e1279 
  clients/src/test/java/org/apache/kafka/clients/consumer/ConsumerExampleTest.java 29ad25e90606f065b409bc194ef9200189933aa6 
  clients/src/test/java/org/apache/kafka/clients/consumer/MockConsumerTest.java PRE-CREATION 
  clients/src/test/java/org/apache/kafka/clients/consumer/internals/SubscriptionStateTest.java PRE-CREATION 
  clients/src/test/java/org/apache/kafka/clients/producer/BufferPoolTest.java 12368038e1381f89352a5a1c98b2e0f8cbc04cbd 
  clients/src/test/java/org/apache/kafka/clients/producer/MockProducerTest.java 3676b05eb8b83bbd8a38754fc3a979124908281b 
  clients/src/test/java/org/apache/kafka/clients/producer/PartitionerTest.java 1d077fd4c56bf28557a0ca1e15c82cc427f36e6c 
  clients/src/test/java/org/apache/kafka/clients/producer/SenderTest.java 66cbdf5babed3ac27c5254d945372644a053df87 
  clients/src/test/java/org/apache/kafka/common/config/ConfigDefTest.java 3c442a27a7ba3eaa908becc802aab6242594df85 
  clients/src/test/java/org/apache/kafka/common/network/SelectorTest.java 74c19573a29b0d5ac4264e1430904dca52571404 
  clients/src/test/java/org/apache/kafka/common/utils/UtilsTest.java a39fab532f73148316a56c0f8e9197f38ea66f79 
  clients/src/test/java/org/apache/kafka/test/MockSelector.java d61de529173314c044261ad9662bec735d67e97f 
  config/server.properties 1614260b71a658b405bb24157c8f12b1f1031aa5 
  core/src/main/scala/kafka/admin/AdminUtils.scala 28b12c7b89a56c113b665fbde1b95f873f8624a3 
  core/src/main/scala/kafka/admin/TopicCommand.scala 285c0333ff43543d3e46444c1cd9374bb883bb59 
  core/src/main/scala/kafka/api/ConsumerMetadataRequest.scala 6d00ed090d76cd7925621a9c6db8fb00fb9d48f4 
  core/src/main/scala/kafka/api/ConsumerMetadataResponse.scala 84f60178f6ebae735c8aa3e79ed93fe21ac4aea7 
  core/src/main/scala/kafka/api/LeaderAndIsrRequest.scala 4ff7e8f8cc695551dd5d2fe65c74f6b6c571e340 
  core/src/main/scala/kafka/api/TopicMetadata.scala 0190076df0adf906ecd332284f222ff974b315fc 
  core/src/main/scala/kafka/api/TopicMetadataResponse.scala 92ac4e687be22e4800199c0666bfac5e0059e5bb 
  core/src/main/scala/kafka/api/UpdateMetadataRequest.scala 530982e36b17934b8cc5fb668075a5342e142c59 
  core/src/main/scala/kafka/client/ClientUtils.scala ebba87f0566684c796c26cb76c64b4640a5ccfde 
  core/src/main/scala/kafka/cluster/Broker.scala 0060add008bb3bc4b0092f2173c469fce0120be6 
  core/src/main/scala/kafka/cluster/BrokerEndPoint.scala PRE-CREATION 
  core/src/main/scala/kafka/cluster/EndPoint.scala PRE-CREATION 
  core/src/main/scala/kafka/cluster/Partition.scala b230e9a1fb1a3161f4c9d164e4890a16eceb2ad4 
  core/src/main/scala/kafka/cluster/SecurityProtocol.scala PRE-CREATION 
  core/src/main/scala/kafka/common/BrokerEndPointNotAvailableException.scala PRE-CREATION 
  core/src/main/scala/kafka/consumer/ConsumerConfig.scala 9ebbee6c16dc83767297c729d2d74ebbd063a993 
  core/src/main/scala/kafka/consumer/ConsumerFetcherManager.scala b9e2bea7b442a19bcebd1b350d39541a8c9dd068 
  core/src/main/scala/kafka/consumer/ConsumerFetcherThread.scala ee6139c901082358382c5ef892281386bf6fc91b 
  core/src/main/scala/kafka/consumer/ZookeeperConsumerConnector.scala 5487259751ebe19f137948249aa1fd2637d2deb4 
  core/src/main/scala/kafka/controller/ControllerChannelManager.scala eb492f00449744bc8d63f55b393e2a1659d38454 
  core/src/main/scala/kafka/controller/KafkaController.scala 66df6d2fbdbdd556da6bea0df84f93e0472c8fbf 
  core/src/main/scala/kafka/javaapi/ConsumerMetadataResponse.scala 1b28861cdf7dfb30fc696b54f8f8f05f730f4ece 
  core/src/main/scala/kafka/javaapi/TopicMetadata.scala f384e04678df10a5b46a439f475c63371bf8e32b 
  core/src/main/scala/kafka/log/LogConfig.scala 4631bc78106e6167ab6c0a781f40dcd8cd265598 
  core/src/main/scala/kafka/metrics/KafkaMetricsGroup.scala e9e49180f6de45f98e79374f519f6097b4fc8637 
  core/src/main/scala/kafka/network/RequestChannel.scala 7b1db3dbbb2c0676f166890f566c14aa248467ab 
  core/src/main/scala/kafka/network/SocketServer.scala 39b1651b680b2995cedfde95d74c086d9c6219ef 
  core/src/main/scala/kafka/producer/ProducerPool.scala 43df70bb461dd3e385e6b20396adef3c4016a3fc 
  core/src/main/scala/kafka/server/AbstractFetcherManager.scala 20c00cb8cc2351950edbc8cb1752905a0c26e79f 
  core/src/main/scala/kafka/server/AbstractFetcherThread.scala 8c281d4668f92eff95a4a5df3c03c4b5b20e7095 
  core/src/main/scala/kafka/server/KafkaApis.scala ec8d9f7ba44741db40875458bd524c4062ad6a26 
  core/src/main/scala/kafka/server/KafkaConfig.scala 6d74983472249eac808d361344c58cc2858ec971 
  core/src/main/scala/kafka/server/KafkaHealthcheck.scala 4acdd70fe9c1ee78d6510741006c2ece65450671 
  core/src/main/scala/kafka/server/KafkaServer.scala 89200da30a04943f0b9befe84ab17e62b747c8c4 
  core/src/main/scala/kafka/server/MetadataCache.scala bf81a1ab88c14be8697b441eedbeb28fa0112643 
  core/src/main/scala/kafka/server/ReplicaFetcherManager.scala 351dbbad3bdb709937943b336a5b0a9e0162a5e2 
  core/src/main/scala/kafka/server/ReplicaFetcherThread.scala 6879e730282185bda3d6bc3659cb15af0672cecf 
  core/src/main/scala/kafka/server/ReplicaManager.scala e58fbb922e93b0c31dff04f187fcadb4ece986d7 
  core/src/main/scala/kafka/tools/ConsoleConsumer.scala e455cb9a1de221a6d080e3abd909ea8f24ff7fe9 
  core/src/main/scala/kafka/tools/ConsumerOffsetChecker.scala d1e7c434e77859d746b8dc68dd5d5a3740425e79 
  core/src/main/scala/kafka/tools/ConsumerPerformance.scala 093c800ea7f8a9c972bb66e99ac4e4d431cf11cc 
  core/src/main/scala/kafka/tools/MirrorMaker.scala 5cbc8103e33a0a234d158c048e5314e841da6249 
  core/src/main/scala/kafka/tools/ReplicaVerificationTool.scala ba6ddd7a909df79a0f7d45e8b4a2af94ea0fceb6 
  core/src/main/scala/kafka/tools/SimpleConsumerPerformance.scala 7602b8d705970a5dab49ed36d117346a960701ac 
  core/src/main/scala/kafka/tools/SimpleConsumerShell.scala b4f903b6c7c3bb725cac7c05eb1f885906413c4d 
  core/src/main/scala/kafka/tools/UpdateOffsetsInZK.scala 111c9a8b94ce45d95551482e9fd3f8c1cccbf548 
  core/src/main/scala/kafka/utils/KafkaScheduler.scala 9a16343d2ff7192b741f0b23a6bdf58d8f2bbd3e 
  core/src/main/scala/kafka/utils/ReplicationUtils.scala 715767380f7c284148689fd34d4bfba51abd96a0 
  core/src/main/scala/kafka/utils/Utils.scala 738c1af9ef5de16fdf5130daab69757a14c48b5c 
  core/src/main/scala/kafka/utils/ZkUtils.scala c14bd455b6642f5e6eb254670bef9f57ae41d6cb 
  core/src/test/scala/integration/kafka/api/ConsumerTest.scala PRE-CREATION 
  core/src/test/scala/integration/kafka/api/IntegrationTestHarness.scala PRE-CREATION 
  core/src/test/scala/integration/kafka/api/ProducerFailureHandlingTest.scala 90c0b7a19c7af8e5416e4bdba62b9824f1abd5ab 
  core/src/test/scala/integration/kafka/api/ProducerSendTest.scala b15237b76def3b234924280fa3fdb25dbb0cc0dc 
  core/src/test/scala/other/kafka/TestOffsetManager.scala 41f334d48897b3027ed54c58bbf4811487d3b191 
  core/src/test/scala/unit/kafka/KafkaConfigTest.scala 4d36b8b1173f60d43463c13c9d8c1275a84c8c28 
  core/src/test/scala/unit/kafka/admin/AddPartitionsTest.scala 1bf2667f47853585bc33ffb3e28256ec5f24ae84 
  core/src/test/scala/unit/kafka/api/RequestResponseSerializationTest.scala cd16ced5465d098be7a60498326b2a98c248f343 
  core/src/test/scala/unit/kafka/cluster/BrokerTest.scala PRE-CREATION 
  core/src/test/scala/unit/kafka/consumer/ConsumerIteratorTest.scala c0355cc0135c6af2e346b4715659353a31723b86 
  core/src/test/scala/unit/kafka/integration/FetcherTest.scala 25845abbcad2e79f56f729e59239b738d3ddbc9d 
  core/src/test/scala/unit/kafka/integration/KafkaServerTestHarness.scala 3cf7c9bcd64492d05590067a8ad11d31096a8e5e 
  core/src/test/scala/unit/kafka/integration/PrimitiveApiTest.scala a5386a03b62956bc440b40783247c8cdf7432315 
  core/src/test/scala/unit/kafka/integration/TopicMetadataTest.scala 35dc071b1056e775326981573c9618d8046e601d 
  core/src/test/scala/unit/kafka/log/LogTest.scala c2dd8eb69da8c0982a0dd20231c6f8bd58eb623e 
  core/src/test/scala/unit/kafka/network/SocketServerTest.scala 78b431f9c88cca1bc5e430ffd41083d0e92b7e75 
  core/src/test/scala/unit/kafka/producer/AsyncProducerTest.scala 1db6ac329f7b54e600802c8a623f80d159d4e69b 
  core/src/test/scala/unit/kafka/producer/SyncProducerTest.scala d60d8e0f49443f4dc8bc2cad6e2f951eda28f5cb 
  core/src/test/scala/unit/kafka/server/AdvertiseBrokerTest.scala f0c4a56b61b4f081cf4bee799c6e9c523ff45e19 
  core/src/test/scala/unit/kafka/server/KafkaConfigTest.scala 82dce80d553957d8b5776a9e140c346d4e07f766 
  core/src/test/scala/unit/kafka/server/LeaderElectionTest.scala c2ba07c5fdbaf0e65ca033b2e4d88f45a8a15b2e 
  core/src/test/scala/unit/kafka/server/LogOffsetTest.scala c06ee756bf0fe07e5d3c92823a476c960b37afd6 
  core/src/test/scala/unit/kafka/utils/MockScheduler.scala d5896ed4d3b73aecb652436b5dfc80c2835af595 
  core/src/test/scala/unit/kafka/utils/ReplicationUtilsTest.scala 84e08557de5acdcf0a98b192feac72836ea359b8 
  core/src/test/scala/unit/kafka/utils/SchedulerTest.scala b364ac2d6d623f6e86805710ca68dc32d92558c1 
  core/src/test/scala/unit/kafka/utils/TestUtils.scala ac15d34425795d5be20c51b01fa1108bdcd66583 
  system_test/replication_testsuite/testcase_1/testcase_1_properties.json 0c6d7a316cc6b51ac0755ca03558507db0706c31 
  system_test/utils/kafka_system_test_utils.py 41d511cbc310fa87e0f2cd2f772e479e8e3ae4e2 

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


Testing
-------


Thanks,

Gwen Shapira


Re: Review Request 28769: Patch for KAFKA-1809

Posted by Gwen Shapira <gs...@cloudera.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/28769/
-----------------------------------------------------------

(Updated Jan. 28, 2015, 6:26 p.m.)


Review request for kafka.


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


Repository: kafka


Description (updated)
-------

KAFKA-1890 Fix bug preventing Mirror Maker from successful rebalance; reviewed by Gwen Shapira and Neha Narkhede


first commit of refactoring.


changed topicmetadata to include brokerendpoints and fixed few unit tests


fixing systest and support for binding to default address


fixed system tests


fix default address binding and ipv6 support


fix some issues regarding endpoint parsing. Also, larger segments for systest make the validation much faster


added link to security wiki in doc


fixing unit test after rename of ProtocolType to SecurityProtocol


Following Joe's advice, added security protocol enum on client side, and modified protocol to use ID instead of string.


validate producer config against enum


add a second protocol for testing and modify SocketServerTests to check on multi-ports


Reverted the metadata request changes and removed the explicit security protocol argument. Instead the socketserver will determine the protocol based on the port and add this to the request


bump version for UpdateMetadataRequest and added support for rolling upgrades with new config


following tests - fixed LeaderAndISR protocol and ZK registration for backward compatibility


cleaned up some changes that were actually not necessary. hopefully making this patch slightly easier to review


undoing some changes that don't belong here


bring back config lost in cleanup


fixes neccessary for an all non-plaintext cluster to work


minor modifications following comments by Jun


added missing license


formatting


clean up imports


cleaned up V2 to not include host+port field. Using use.new.protocol flag to decide which version to serialize


change endpoints collection in Broker to Map[protocol, endpoint], mostly to be clear that we intend to have one endpoint per protocol


validate that listeners and advertised listeners have unique ports and protocols


support legacy configs


some fixes following rebase


Reverted to backward compatible zk registration, changed use.new.protocol to support multiple versions and few minor fixes


Diffs (updated)
-----

  clients/src/main/java/org/apache/kafka/clients/producer/ProducerConfig.java 8b3e565edd1ae04d8d34bd9f1a41e9fa8c880a75 
  clients/src/main/java/org/apache/kafka/common/protocol/ApiVersion.java PRE-CREATION 
  clients/src/main/java/org/apache/kafka/common/protocol/SecurityProtocol.java PRE-CREATION 
  clients/src/main/java/org/apache/kafka/common/utils/Utils.java 527dd0f9c47fce7310b7a37a9b95bf87f1b9c292 
  clients/src/test/java/org/apache/kafka/common/utils/UtilsTest.java a39fab532f73148316a56c0f8e9197f38ea66f79 
  config/server.properties 1614260b71a658b405bb24157c8f12b1f1031aa5 
  core/src/main/scala/kafka/admin/AdminUtils.scala 28b12c7b89a56c113b665fbde1b95f873f8624a3 
  core/src/main/scala/kafka/admin/TopicCommand.scala 285c0333ff43543d3e46444c1cd9374bb883bb59 
  core/src/main/scala/kafka/api/ConsumerMetadataResponse.scala 84f60178f6ebae735c8aa3e79ed93fe21ac4aea7 
  core/src/main/scala/kafka/api/LeaderAndIsrRequest.scala 4ff7e8f8cc695551dd5d2fe65c74f6b6c571e340 
  core/src/main/scala/kafka/api/TopicMetadata.scala 0190076df0adf906ecd332284f222ff974b315fc 
  core/src/main/scala/kafka/api/TopicMetadataResponse.scala 92ac4e687be22e4800199c0666bfac5e0059e5bb 
  core/src/main/scala/kafka/api/UpdateMetadataRequest.scala 530982e36b17934b8cc5fb668075a5342e142c59 
  core/src/main/scala/kafka/client/ClientUtils.scala ebba87f0566684c796c26cb76c64b4640a5ccfde 
  core/src/main/scala/kafka/cluster/Broker.scala 0060add008bb3bc4b0092f2173c469fce0120be6 
  core/src/main/scala/kafka/cluster/BrokerEndPoint.scala PRE-CREATION 
  core/src/main/scala/kafka/cluster/EndPoint.scala PRE-CREATION 
  core/src/main/scala/kafka/cluster/SecurityProtocol.scala PRE-CREATION 
  core/src/main/scala/kafka/common/BrokerEndPointNotAvailableException.scala PRE-CREATION 
  core/src/main/scala/kafka/consumer/ConsumerConfig.scala 9ebbee6c16dc83767297c729d2d74ebbd063a993 
  core/src/main/scala/kafka/consumer/ConsumerFetcherManager.scala b9e2bea7b442a19bcebd1b350d39541a8c9dd068 
  core/src/main/scala/kafka/consumer/ConsumerFetcherThread.scala ee6139c901082358382c5ef892281386bf6fc91b 
  core/src/main/scala/kafka/consumer/ZookeeperConsumerConnector.scala 5487259751ebe19f137948249aa1fd2637d2deb4 
  core/src/main/scala/kafka/controller/ControllerChannelManager.scala eb492f00449744bc8d63f55b393e2a1659d38454 
  core/src/main/scala/kafka/controller/KafkaController.scala 66df6d2fbdbdd556da6bea0df84f93e0472c8fbf 
  core/src/main/scala/kafka/javaapi/ConsumerMetadataResponse.scala 1b28861cdf7dfb30fc696b54f8f8f05f730f4ece 
  core/src/main/scala/kafka/javaapi/TopicMetadata.scala f384e04678df10a5b46a439f475c63371bf8e32b 
  core/src/main/scala/kafka/network/RequestChannel.scala 7b1db3dbbb2c0676f166890f566c14aa248467ab 
  core/src/main/scala/kafka/network/SocketServer.scala 39b1651b680b2995cedfde95d74c086d9c6219ef 
  core/src/main/scala/kafka/producer/ProducerPool.scala 43df70bb461dd3e385e6b20396adef3c4016a3fc 
  core/src/main/scala/kafka/server/AbstractFetcherManager.scala 20c00cb8cc2351950edbc8cb1752905a0c26e79f 
  core/src/main/scala/kafka/server/AbstractFetcherThread.scala 8c281d4668f92eff95a4a5df3c03c4b5b20e7095 
  core/src/main/scala/kafka/server/KafkaApis.scala ec8d9f7ba44741db40875458bd524c4062ad6a26 
  core/src/main/scala/kafka/server/KafkaConfig.scala 6d74983472249eac808d361344c58cc2858ec971 
  core/src/main/scala/kafka/server/KafkaHealthcheck.scala 4acdd70fe9c1ee78d6510741006c2ece65450671 
  core/src/main/scala/kafka/server/KafkaServer.scala 89200da30a04943f0b9befe84ab17e62b747c8c4 
  core/src/main/scala/kafka/server/MetadataCache.scala bf81a1ab88c14be8697b441eedbeb28fa0112643 
  core/src/main/scala/kafka/server/ReplicaFetcherManager.scala 351dbbad3bdb709937943b336a5b0a9e0162a5e2 
  core/src/main/scala/kafka/server/ReplicaFetcherThread.scala 6879e730282185bda3d6bc3659cb15af0672cecf 
  core/src/main/scala/kafka/server/ReplicaManager.scala e58fbb922e93b0c31dff04f187fcadb4ece986d7 
  core/src/main/scala/kafka/tools/ConsumerOffsetChecker.scala d1e7c434e77859d746b8dc68dd5d5a3740425e79 
  core/src/main/scala/kafka/tools/MirrorMaker.scala 5cbc8103e33a0a234d158c048e5314e841da6249 
  core/src/main/scala/kafka/tools/ReplicaVerificationTool.scala ba6ddd7a909df79a0f7d45e8b4a2af94ea0fceb6 
  core/src/main/scala/kafka/tools/SimpleConsumerShell.scala b4f903b6c7c3bb725cac7c05eb1f885906413c4d 
  core/src/main/scala/kafka/tools/UpdateOffsetsInZK.scala 111c9a8b94ce45d95551482e9fd3f8c1cccbf548 
  core/src/main/scala/kafka/utils/Utils.scala 738c1af9ef5de16fdf5130daab69757a14c48b5c 
  core/src/main/scala/kafka/utils/ZkUtils.scala c14bd455b6642f5e6eb254670bef9f57ae41d6cb 
  core/src/test/scala/integration/kafka/api/ProducerFailureHandlingTest.scala 90c0b7a19c7af8e5416e4bdba62b9824f1abd5ab 
  core/src/test/scala/integration/kafka/api/ProducerSendTest.scala b15237b76def3b234924280fa3fdb25dbb0cc0dc 
  core/src/test/scala/other/kafka/TestOffsetManager.scala 41f334d48897b3027ed54c58bbf4811487d3b191 
  core/src/test/scala/unit/kafka/KafkaConfigTest.scala 4d36b8b1173f60d43463c13c9d8c1275a84c8c28 
  core/src/test/scala/unit/kafka/admin/AddPartitionsTest.scala 1bf2667f47853585bc33ffb3e28256ec5f24ae84 
  core/src/test/scala/unit/kafka/api/RequestResponseSerializationTest.scala cd16ced5465d098be7a60498326b2a98c248f343 
  core/src/test/scala/unit/kafka/cluster/BrokerTest.scala PRE-CREATION 
  core/src/test/scala/unit/kafka/consumer/ConsumerIteratorTest.scala c0355cc0135c6af2e346b4715659353a31723b86 
  core/src/test/scala/unit/kafka/integration/FetcherTest.scala 25845abbcad2e79f56f729e59239b738d3ddbc9d 
  core/src/test/scala/unit/kafka/integration/TopicMetadataTest.scala 35dc071b1056e775326981573c9618d8046e601d 
  core/src/test/scala/unit/kafka/log/LogTest.scala c2dd8eb69da8c0982a0dd20231c6f8bd58eb623e 
  core/src/test/scala/unit/kafka/network/SocketServerTest.scala 78b431f9c88cca1bc5e430ffd41083d0e92b7e75 
  core/src/test/scala/unit/kafka/producer/AsyncProducerTest.scala 1db6ac329f7b54e600802c8a623f80d159d4e69b 
  core/src/test/scala/unit/kafka/producer/SyncProducerTest.scala d60d8e0f49443f4dc8bc2cad6e2f951eda28f5cb 
  core/src/test/scala/unit/kafka/server/AdvertiseBrokerTest.scala f0c4a56b61b4f081cf4bee799c6e9c523ff45e19 
  core/src/test/scala/unit/kafka/server/KafkaConfigTest.scala 82dce80d553957d8b5776a9e140c346d4e07f766 
  core/src/test/scala/unit/kafka/server/LeaderElectionTest.scala c2ba07c5fdbaf0e65ca033b2e4d88f45a8a15b2e 
  core/src/test/scala/unit/kafka/server/LogOffsetTest.scala c06ee756bf0fe07e5d3c92823a476c960b37afd6 
  core/src/test/scala/unit/kafka/utils/TestUtils.scala ac15d34425795d5be20c51b01fa1108bdcd66583 
  system_test/replication_testsuite/testcase_1/testcase_1_properties.json 0c6d7a316cc6b51ac0755ca03558507db0706c31 
  system_test/utils/kafka_system_test_utils.py 41d511cbc310fa87e0f2cd2f772e479e8e3ae4e2 

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


Testing
-------


Thanks,

Gwen Shapira


Re: Review Request 28769: Patch for KAFKA-1809

Posted by Eric Olander <ol...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/28769/#review69804
-----------------------------------------------------------


Some of my comments are outside of the scope of this review, so it's certainly at your discretion whether to act on them.


core/src/main/scala/kafka/admin/AdminUtils.scala
<https://reviews.apache.org/r/28769/#comment114602>

    I view the _1 and _2 as more of an implemention detail than the public API, so I usually avoid them with pattern matching.  
    val (partition, replicas) = partitionMap



core/src/main/scala/kafka/network/SocketServer.scala
<https://reviews.apache.org/r/28769/#comment114603>

    It's a little odd seeing two different looping styles right next to each other.  The for loop could also be done with a foreach:
    
    processors.foreach(_.shutdown())



core/src/main/scala/kafka/tools/ConsumerOffsetChecker.scala
<https://reviews.apache.org/r/28769/#comment114605>

    Can use foreach on the option instead of pattern matching.



core/src/main/scala/kafka/tools/ConsumerOffsetChecker.scala
<https://reviews.apache.org/r/28769/#comment114604>

    Can use foreach on the option instead of pattern matching.



core/src/test/scala/unit/kafka/KafkaConfigTest.scala
<https://reviews.apache.org/r/28769/#comment114606>

    Is this allowed:  
    
    Try(new KafkaConfig(props)).isSuccess
    
    I don't really see any use of the Try type in this project :-(



core/src/test/scala/unit/kafka/network/SocketServerTest.scala
<https://reviews.apache.org/r/28769/#comment114607>

    Scalatest has a helper method for exactly this sort of test:
    intercept[IOException] {
      sendRequest(plainSocket, 0, bytes)
    }


- Eric Olander


On Jan. 14, 2015, 2:16 a.m., Gwen Shapira wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/28769/
> -----------------------------------------------------------
> 
> (Updated Jan. 14, 2015, 2:16 a.m.)
> 
> 
> Review request for kafka.
> 
> 
> Bugs: KAFKA-1809
>     https://issues.apache.org/jira/browse/KAFKA-1809
> 
> 
> Repository: kafka
> 
> 
> Description
> -------
> 
> trivial change to add byte serializer to ProducerPerformance; patched by Jun Rao
> 
> 
> first commit of refactoring.
> 
> 
> changed topicmetadata to include brokerendpoints and fixed few unit tests
> 
> 
> fixing systest and support for binding to default address
> 
> 
> fixed system tests
> 
> 
> fix default address binding and ipv6 support
> 
> 
> fix some issues regarding endpoint parsing. Also, larger segments for systest make the validation much faster
> 
> 
> added link to security wiki in doc
> 
> 
> fixing unit test after rename of ProtocolType to SecurityProtocol
> 
> 
> Following Joe's advice, added security protocol enum on client side, and modified protocol to use ID instead of string.
> 
> 
> validate producer config against enum
> 
> 
> add a second protocol for testing and modify SocketServerTests to check on multi-ports
> 
> 
> Reverted the metadata request changes and removed the explicit security protocol argument. Instead the socketserver will determine the protocol based on the port and add this to the request
> 
> 
> bump version for UpdateMetadataRequest and added support for rolling upgrades with new config
> 
> 
> following tests - fixed LeaderAndISR protocol and ZK registration for backward compatibility
> 
> 
> cleaned up some changes that were actually not necessary. hopefully making this patch slightly easier to review
> 
> 
> undoing some changes that don't belong here
> 
> 
> bring back config lost in cleanup
> 
> 
> fixes neccessary for an all non-plaintext cluster to work
> 
> 
> minor modifications following comments by Jun
> 
> 
> added missing license
> 
> 
> formatting
> 
> 
> clean up imports
> 
> 
> cleaned up V2 to not include host+port field. Using use.new.protocol flag to decide which version to serialize
> 
> 
> change endpoints collection in Broker to Map[protocol, endpoint], mostly to be clear that we intend to have one endpoint per protocol
> 
> 
> validate that listeners and advertised listeners have unique ports and protocols
> 
> 
> support legacy configs
> 
> 
> some fixes following rebase
> 
> 
> Diffs
> -----
> 
>   clients/src/main/java/org/apache/kafka/clients/producer/ProducerConfig.java 8b3e565edd1ae04d8d34bd9f1a41e9fa8c880a75 
>   clients/src/main/java/org/apache/kafka/clients/tools/ProducerPerformance.java 1b828007975ef8893717b425ed96874d4ef7053f 
>   clients/src/main/java/org/apache/kafka/common/protocol/SecurityProtocol.java PRE-CREATION 
>   clients/src/main/java/org/apache/kafka/common/utils/Utils.java 527dd0f9c47fce7310b7a37a9b95bf87f1b9c292 
>   clients/src/test/java/org/apache/kafka/common/utils/ClientUtilsTest.java 6e37ea553f73d9c584641c48c56dbf6e62ba5f88 
>   clients/src/test/java/org/apache/kafka/common/utils/UtilsTest.java a39fab532f73148316a56c0f8e9197f38ea66f79 
>   config/server.properties b0e4496a8ca736b6abe965a430e8ce87b0e8287f 
>   core/src/main/scala/kafka/admin/AdminUtils.scala 28b12c7b89a56c113b665fbde1b95f873f8624a3 
>   core/src/main/scala/kafka/admin/TopicCommand.scala 285c0333ff43543d3e46444c1cd9374bb883bb59 
>   core/src/main/scala/kafka/api/ConsumerMetadataResponse.scala 84f60178f6ebae735c8aa3e79ed93fe21ac4aea7 
>   core/src/main/scala/kafka/api/LeaderAndIsrRequest.scala 4ff7e8f8cc695551dd5d2fe65c74f6b6c571e340 
>   core/src/main/scala/kafka/api/TopicMetadata.scala 0190076df0adf906ecd332284f222ff974b315fc 
>   core/src/main/scala/kafka/api/TopicMetadataResponse.scala 92ac4e687be22e4800199c0666bfac5e0059e5bb 
>   core/src/main/scala/kafka/api/UpdateMetadataRequest.scala 530982e36b17934b8cc5fb668075a5342e142c59 
>   core/src/main/scala/kafka/client/ClientUtils.scala ebba87f0566684c796c26cb76c64b4640a5ccfde 
>   core/src/main/scala/kafka/cluster/Broker.scala 0060add008bb3bc4b0092f2173c469fce0120be6 
>   core/src/main/scala/kafka/cluster/BrokerEndPoint.scala PRE-CREATION 
>   core/src/main/scala/kafka/cluster/EndPoint.scala PRE-CREATION 
>   core/src/main/scala/kafka/cluster/SecurityProtocol.scala PRE-CREATION 
>   core/src/main/scala/kafka/common/BrokerEndPointNotAvailableException.scala PRE-CREATION 
>   core/src/main/scala/kafka/consumer/ConsumerConfig.scala 9ebbee6c16dc83767297c729d2d74ebbd063a993 
>   core/src/main/scala/kafka/consumer/ConsumerFetcherManager.scala b9e2bea7b442a19bcebd1b350d39541a8c9dd068 
>   core/src/main/scala/kafka/consumer/ConsumerFetcherThread.scala ee6139c901082358382c5ef892281386bf6fc91b 
>   core/src/main/scala/kafka/consumer/ZookeeperConsumerConnector.scala 191a8677444e53b043e9ad6e94c5a9191c32599e 
>   core/src/main/scala/kafka/controller/ControllerChannelManager.scala eb492f00449744bc8d63f55b393e2a1659d38454 
>   core/src/main/scala/kafka/controller/KafkaController.scala 66df6d2fbdbdd556da6bea0df84f93e0472c8fbf 
>   core/src/main/scala/kafka/javaapi/ConsumerMetadataResponse.scala 1b28861cdf7dfb30fc696b54f8f8f05f730f4ece 
>   core/src/main/scala/kafka/javaapi/TopicMetadata.scala f384e04678df10a5b46a439f475c63371bf8e32b 
>   core/src/main/scala/kafka/network/RequestChannel.scala 7b1db3dbbb2c0676f166890f566c14aa248467ab 
>   core/src/main/scala/kafka/network/SocketServer.scala 39b1651b680b2995cedfde95d74c086d9c6219ef 
>   core/src/main/scala/kafka/producer/ProducerPool.scala 43df70bb461dd3e385e6b20396adef3c4016a3fc 
>   core/src/main/scala/kafka/server/AbstractFetcherManager.scala 20c00cb8cc2351950edbc8cb1752905a0c26e79f 
>   core/src/main/scala/kafka/server/AbstractFetcherThread.scala 8c281d4668f92eff95a4a5df3c03c4b5b20e7095 
>   core/src/main/scala/kafka/server/KafkaApis.scala c011a1b79bd6c4e832fe7d097daacb0d647d1cd4 
>   core/src/main/scala/kafka/server/KafkaConfig.scala bbd3fd75e83961c971e50cf83d48db79a3da8791 
>   core/src/main/scala/kafka/server/KafkaHealthcheck.scala 4acdd70fe9c1ee78d6510741006c2ece65450671 
>   core/src/main/scala/kafka/server/KafkaServer.scala a069eb9272c92ef62387304b60de1fe473d7ff49 
>   core/src/main/scala/kafka/server/MetadataCache.scala bf81a1ab88c14be8697b441eedbeb28fa0112643 
>   core/src/main/scala/kafka/server/ReplicaFetcherManager.scala 351dbbad3bdb709937943b336a5b0a9e0162a5e2 
>   core/src/main/scala/kafka/server/ReplicaFetcherThread.scala 6879e730282185bda3d6bc3659cb15af0672cecf 
>   core/src/main/scala/kafka/server/ReplicaManager.scala e58fbb922e93b0c31dff04f187fcadb4ece986d7 
>   core/src/main/scala/kafka/tools/ConsumerOffsetChecker.scala d1e7c434e77859d746b8dc68dd5d5a3740425e79 
>   core/src/main/scala/kafka/tools/ReplicaVerificationTool.scala ba6ddd7a909df79a0f7d45e8b4a2af94ea0fceb6 
>   core/src/main/scala/kafka/tools/SimpleConsumerShell.scala b4f903b6c7c3bb725cac7c05eb1f885906413c4d 
>   core/src/main/scala/kafka/tools/UpdateOffsetsInZK.scala 111c9a8b94ce45d95551482e9fd3f8c1cccbf548 
>   core/src/main/scala/kafka/utils/Utils.scala 738c1af9ef5de16fdf5130daab69757a14c48b5c 
>   core/src/main/scala/kafka/utils/ZkUtils.scala c14bd455b6642f5e6eb254670bef9f57ae41d6cb 
>   core/src/test/scala/integration/kafka/api/ProducerFailureHandlingTest.scala 5ec613cdb50b93bfe4477e89554dfc3768759b18 
>   core/src/test/scala/integration/kafka/api/ProducerSendTest.scala b15237b76def3b234924280fa3fdb25dbb0cc0dc 
>   core/src/test/scala/other/kafka/TestOffsetManager.scala 41f334d48897b3027ed54c58bbf4811487d3b191 
>   core/src/test/scala/unit/kafka/KafkaConfigTest.scala 4d36b8b1173f60d43463c13c9d8c1275a84c8c28 
>   core/src/test/scala/unit/kafka/admin/AddPartitionsTest.scala 1bf2667f47853585bc33ffb3e28256ec5f24ae84 
>   core/src/test/scala/unit/kafka/api/RequestResponseSerializationTest.scala cd16ced5465d098be7a60498326b2a98c248f343 
>   core/src/test/scala/unit/kafka/cluster/BrokerTest.scala PRE-CREATION 
>   core/src/test/scala/unit/kafka/consumer/ConsumerIteratorTest.scala c0355cc0135c6af2e346b4715659353a31723b86 
>   core/src/test/scala/unit/kafka/integration/FetcherTest.scala 25845abbcad2e79f56f729e59239b738d3ddbc9d 
>   core/src/test/scala/unit/kafka/integration/TopicMetadataTest.scala 35dc071b1056e775326981573c9618d8046e601d 
>   core/src/test/scala/unit/kafka/log/LogTest.scala c2dd8eb69da8c0982a0dd20231c6f8bd58eb623e 
>   core/src/test/scala/unit/kafka/network/SocketServerTest.scala 78b431f9c88cca1bc5e430ffd41083d0e92b7e75 
>   core/src/test/scala/unit/kafka/producer/AsyncProducerTest.scala 1db6ac329f7b54e600802c8a623f80d159d4e69b 
>   core/src/test/scala/unit/kafka/producer/SyncProducerTest.scala d60d8e0f49443f4dc8bc2cad6e2f951eda28f5cb 
>   core/src/test/scala/unit/kafka/server/AdvertiseBrokerTest.scala f0c4a56b61b4f081cf4bee799c6e9c523ff45e19 
>   core/src/test/scala/unit/kafka/server/KafkaConfigTest.scala 2377abe4933e065d037828a214c3a87e1773a8ef 
>   core/src/test/scala/unit/kafka/server/LeaderElectionTest.scala c2ba07c5fdbaf0e65ca033b2e4d88f45a8a15b2e 
>   core/src/test/scala/unit/kafka/server/LogOffsetTest.scala c06ee756bf0fe07e5d3c92823a476c960b37afd6 
>   core/src/test/scala/unit/kafka/utils/TestUtils.scala ac15d34425795d5be20c51b01fa1108bdcd66583 
>   kafka-patch-review.py b7f132f9d210b8648859ab8f9c89f30ec128ab38 
>   system_test/replication_testsuite/testcase_1/testcase_1_properties.json 0c6d7a316cc6b51ac0755ca03558507db0706c31 
>   system_test/utils/kafka_system_test_utils.py 41d511cbc310fa87e0f2cd2f772e479e8e3ae4e2 
> 
> Diff: https://reviews.apache.org/r/28769/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Gwen Shapira
> 
>


Re: Review Request 28769: Patch for KAFKA-1809

Posted by Gwen Shapira <gs...@cloudera.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/28769/
-----------------------------------------------------------

(Updated Jan. 14, 2015, 2:16 a.m.)


Review request for kafka.


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


Repository: kafka


Description (updated)
-------

trivial change to add byte serializer to ProducerPerformance; patched by Jun Rao


first commit of refactoring.


changed topicmetadata to include brokerendpoints and fixed few unit tests


fixing systest and support for binding to default address


fixed system tests


fix default address binding and ipv6 support


fix some issues regarding endpoint parsing. Also, larger segments for systest make the validation much faster


added link to security wiki in doc


fixing unit test after rename of ProtocolType to SecurityProtocol


Following Joe's advice, added security protocol enum on client side, and modified protocol to use ID instead of string.


validate producer config against enum


add a second protocol for testing and modify SocketServerTests to check on multi-ports


Reverted the metadata request changes and removed the explicit security protocol argument. Instead the socketserver will determine the protocol based on the port and add this to the request


bump version for UpdateMetadataRequest and added support for rolling upgrades with new config


following tests - fixed LeaderAndISR protocol and ZK registration for backward compatibility


cleaned up some changes that were actually not necessary. hopefully making this patch slightly easier to review


undoing some changes that don't belong here


bring back config lost in cleanup


fixes neccessary for an all non-plaintext cluster to work


minor modifications following comments by Jun


added missing license


formatting


clean up imports


cleaned up V2 to not include host+port field. Using use.new.protocol flag to decide which version to serialize


change endpoints collection in Broker to Map[protocol, endpoint], mostly to be clear that we intend to have one endpoint per protocol


validate that listeners and advertised listeners have unique ports and protocols


support legacy configs


some fixes following rebase


Diffs (updated)
-----

  clients/src/main/java/org/apache/kafka/clients/producer/ProducerConfig.java 8b3e565edd1ae04d8d34bd9f1a41e9fa8c880a75 
  clients/src/main/java/org/apache/kafka/clients/tools/ProducerPerformance.java 1b828007975ef8893717b425ed96874d4ef7053f 
  clients/src/main/java/org/apache/kafka/common/protocol/SecurityProtocol.java PRE-CREATION 
  clients/src/main/java/org/apache/kafka/common/utils/Utils.java 527dd0f9c47fce7310b7a37a9b95bf87f1b9c292 
  clients/src/test/java/org/apache/kafka/common/utils/ClientUtilsTest.java 6e37ea553f73d9c584641c48c56dbf6e62ba5f88 
  clients/src/test/java/org/apache/kafka/common/utils/UtilsTest.java a39fab532f73148316a56c0f8e9197f38ea66f79 
  config/server.properties b0e4496a8ca736b6abe965a430e8ce87b0e8287f 
  core/src/main/scala/kafka/admin/AdminUtils.scala 28b12c7b89a56c113b665fbde1b95f873f8624a3 
  core/src/main/scala/kafka/admin/TopicCommand.scala 285c0333ff43543d3e46444c1cd9374bb883bb59 
  core/src/main/scala/kafka/api/ConsumerMetadataResponse.scala 84f60178f6ebae735c8aa3e79ed93fe21ac4aea7 
  core/src/main/scala/kafka/api/LeaderAndIsrRequest.scala 4ff7e8f8cc695551dd5d2fe65c74f6b6c571e340 
  core/src/main/scala/kafka/api/TopicMetadata.scala 0190076df0adf906ecd332284f222ff974b315fc 
  core/src/main/scala/kafka/api/TopicMetadataResponse.scala 92ac4e687be22e4800199c0666bfac5e0059e5bb 
  core/src/main/scala/kafka/api/UpdateMetadataRequest.scala 530982e36b17934b8cc5fb668075a5342e142c59 
  core/src/main/scala/kafka/client/ClientUtils.scala ebba87f0566684c796c26cb76c64b4640a5ccfde 
  core/src/main/scala/kafka/cluster/Broker.scala 0060add008bb3bc4b0092f2173c469fce0120be6 
  core/src/main/scala/kafka/cluster/BrokerEndPoint.scala PRE-CREATION 
  core/src/main/scala/kafka/cluster/EndPoint.scala PRE-CREATION 
  core/src/main/scala/kafka/cluster/SecurityProtocol.scala PRE-CREATION 
  core/src/main/scala/kafka/common/BrokerEndPointNotAvailableException.scala PRE-CREATION 
  core/src/main/scala/kafka/consumer/ConsumerConfig.scala 9ebbee6c16dc83767297c729d2d74ebbd063a993 
  core/src/main/scala/kafka/consumer/ConsumerFetcherManager.scala b9e2bea7b442a19bcebd1b350d39541a8c9dd068 
  core/src/main/scala/kafka/consumer/ConsumerFetcherThread.scala ee6139c901082358382c5ef892281386bf6fc91b 
  core/src/main/scala/kafka/consumer/ZookeeperConsumerConnector.scala 191a8677444e53b043e9ad6e94c5a9191c32599e 
  core/src/main/scala/kafka/controller/ControllerChannelManager.scala eb492f00449744bc8d63f55b393e2a1659d38454 
  core/src/main/scala/kafka/controller/KafkaController.scala 66df6d2fbdbdd556da6bea0df84f93e0472c8fbf 
  core/src/main/scala/kafka/javaapi/ConsumerMetadataResponse.scala 1b28861cdf7dfb30fc696b54f8f8f05f730f4ece 
  core/src/main/scala/kafka/javaapi/TopicMetadata.scala f384e04678df10a5b46a439f475c63371bf8e32b 
  core/src/main/scala/kafka/network/RequestChannel.scala 7b1db3dbbb2c0676f166890f566c14aa248467ab 
  core/src/main/scala/kafka/network/SocketServer.scala 39b1651b680b2995cedfde95d74c086d9c6219ef 
  core/src/main/scala/kafka/producer/ProducerPool.scala 43df70bb461dd3e385e6b20396adef3c4016a3fc 
  core/src/main/scala/kafka/server/AbstractFetcherManager.scala 20c00cb8cc2351950edbc8cb1752905a0c26e79f 
  core/src/main/scala/kafka/server/AbstractFetcherThread.scala 8c281d4668f92eff95a4a5df3c03c4b5b20e7095 
  core/src/main/scala/kafka/server/KafkaApis.scala c011a1b79bd6c4e832fe7d097daacb0d647d1cd4 
  core/src/main/scala/kafka/server/KafkaConfig.scala bbd3fd75e83961c971e50cf83d48db79a3da8791 
  core/src/main/scala/kafka/server/KafkaHealthcheck.scala 4acdd70fe9c1ee78d6510741006c2ece65450671 
  core/src/main/scala/kafka/server/KafkaServer.scala a069eb9272c92ef62387304b60de1fe473d7ff49 
  core/src/main/scala/kafka/server/MetadataCache.scala bf81a1ab88c14be8697b441eedbeb28fa0112643 
  core/src/main/scala/kafka/server/ReplicaFetcherManager.scala 351dbbad3bdb709937943b336a5b0a9e0162a5e2 
  core/src/main/scala/kafka/server/ReplicaFetcherThread.scala 6879e730282185bda3d6bc3659cb15af0672cecf 
  core/src/main/scala/kafka/server/ReplicaManager.scala e58fbb922e93b0c31dff04f187fcadb4ece986d7 
  core/src/main/scala/kafka/tools/ConsumerOffsetChecker.scala d1e7c434e77859d746b8dc68dd5d5a3740425e79 
  core/src/main/scala/kafka/tools/ReplicaVerificationTool.scala ba6ddd7a909df79a0f7d45e8b4a2af94ea0fceb6 
  core/src/main/scala/kafka/tools/SimpleConsumerShell.scala b4f903b6c7c3bb725cac7c05eb1f885906413c4d 
  core/src/main/scala/kafka/tools/UpdateOffsetsInZK.scala 111c9a8b94ce45d95551482e9fd3f8c1cccbf548 
  core/src/main/scala/kafka/utils/Utils.scala 738c1af9ef5de16fdf5130daab69757a14c48b5c 
  core/src/main/scala/kafka/utils/ZkUtils.scala c14bd455b6642f5e6eb254670bef9f57ae41d6cb 
  core/src/test/scala/integration/kafka/api/ProducerFailureHandlingTest.scala 5ec613cdb50b93bfe4477e89554dfc3768759b18 
  core/src/test/scala/integration/kafka/api/ProducerSendTest.scala b15237b76def3b234924280fa3fdb25dbb0cc0dc 
  core/src/test/scala/other/kafka/TestOffsetManager.scala 41f334d48897b3027ed54c58bbf4811487d3b191 
  core/src/test/scala/unit/kafka/KafkaConfigTest.scala 4d36b8b1173f60d43463c13c9d8c1275a84c8c28 
  core/src/test/scala/unit/kafka/admin/AddPartitionsTest.scala 1bf2667f47853585bc33ffb3e28256ec5f24ae84 
  core/src/test/scala/unit/kafka/api/RequestResponseSerializationTest.scala cd16ced5465d098be7a60498326b2a98c248f343 
  core/src/test/scala/unit/kafka/cluster/BrokerTest.scala PRE-CREATION 
  core/src/test/scala/unit/kafka/consumer/ConsumerIteratorTest.scala c0355cc0135c6af2e346b4715659353a31723b86 
  core/src/test/scala/unit/kafka/integration/FetcherTest.scala 25845abbcad2e79f56f729e59239b738d3ddbc9d 
  core/src/test/scala/unit/kafka/integration/TopicMetadataTest.scala 35dc071b1056e775326981573c9618d8046e601d 
  core/src/test/scala/unit/kafka/log/LogTest.scala c2dd8eb69da8c0982a0dd20231c6f8bd58eb623e 
  core/src/test/scala/unit/kafka/network/SocketServerTest.scala 78b431f9c88cca1bc5e430ffd41083d0e92b7e75 
  core/src/test/scala/unit/kafka/producer/AsyncProducerTest.scala 1db6ac329f7b54e600802c8a623f80d159d4e69b 
  core/src/test/scala/unit/kafka/producer/SyncProducerTest.scala d60d8e0f49443f4dc8bc2cad6e2f951eda28f5cb 
  core/src/test/scala/unit/kafka/server/AdvertiseBrokerTest.scala f0c4a56b61b4f081cf4bee799c6e9c523ff45e19 
  core/src/test/scala/unit/kafka/server/KafkaConfigTest.scala 2377abe4933e065d037828a214c3a87e1773a8ef 
  core/src/test/scala/unit/kafka/server/LeaderElectionTest.scala c2ba07c5fdbaf0e65ca033b2e4d88f45a8a15b2e 
  core/src/test/scala/unit/kafka/server/LogOffsetTest.scala c06ee756bf0fe07e5d3c92823a476c960b37afd6 
  core/src/test/scala/unit/kafka/utils/TestUtils.scala ac15d34425795d5be20c51b01fa1108bdcd66583 
  kafka-patch-review.py b7f132f9d210b8648859ab8f9c89f30ec128ab38 
  system_test/replication_testsuite/testcase_1/testcase_1_properties.json 0c6d7a316cc6b51ac0755ca03558507db0706c31 
  system_test/utils/kafka_system_test_utils.py 41d511cbc310fa87e0f2cd2f772e479e8e3ae4e2 

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


Testing
-------


Thanks,

Gwen Shapira


Re: Review Request 28769: Patch for KAFKA-1809

Posted by Gwen Shapira <gs...@cloudera.com>.

> On Jan. 7, 2015, 3:01 a.m., Jun Rao wrote:
> > core/src/main/scala/kafka/cluster/Broker.scala, lines 36-52
> > <https://reviews.apache.org/r/28769/diff/11/?file=807930#file807930line36>
> >
> >     It would be good to document the format for both v1 and v2.
> >     
> >     Also, would it be cleaner if in v2, we remove the host/port fields and only include the endpoints field? Currently, v2 writes host/port, but doesn't use it itself. So, it's really just for backward compatibility. Since we have the "use.new.wire.protocol" config, we can let each broker register in ZK using v2 format only after that config is set to true (when all brokers are upgraded to the new binary).

I think it makes sense to leave V1 as "without endpoints" and make V2 "only endpoints, no host/port fields". 

We can use use.new.wire.protocol to choose which we serialize. This means that until we set new.protocol to true, non-plaintext endpoints will exist in config files (and therefore brokers will listen there), but will not exist in ZK. 

This is in line with our current understanding that until upgrade is finished (and use.new.protocol is set to "true"), non-plaintext endpoints will not be supported or used.

A less expected side-effect:
At the time we switch from V1 to V2, createEphemeralPathExpectConflictHandleZKBug will not recognize the existing broker (if ephemeral node is still around) as identical to the new registration (since the new broker will potentially have more endpoints). This means that if the ephemeral node is still around when we switch, we'll get "broker already registered" exception, instead of looping around until the ephemeral node goes away. 

I think we are fine with the behavior here, but I wanted to make it explicit.


- Gwen


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


On Jan. 6, 2015, 7:46 p.m., Gwen Shapira wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/28769/
> -----------------------------------------------------------
> 
> (Updated Jan. 6, 2015, 7:46 p.m.)
> 
> 
> Review request for kafka.
> 
> 
> Bugs: KAFKA-1809
>     https://issues.apache.org/jira/browse/KAFKA-1809
> 
> 
> Repository: kafka
> 
> 
> Description
> -------
> 
> first commit of refactoring.
> 
> 
> changed topicmetadata to include brokerendpoints and fixed few unit tests
> 
> 
> fixing systest and support for binding to default address
> 
> 
> fixed system tests
> 
> 
> fix default address binding and ipv6 support
> 
> 
> fix some issues regarding endpoint parsing. Also, larger segments for systest make the validation much faster
> 
> 
> added link to security wiki in doc
> 
> 
> fixing unit test after rename of ProtocolType to SecurityProtocol
> 
> 
> Following Joe's advice, added security protocol enum on client side, and modified protocol to use ID instead of string.
> 
> 
> validate producer config against enum
> 
> 
> add a second protocol for testing and modify SocketServerTests to check on multi-ports
> 
> 
> Reverted the metadata request changes and removed the explicit security protocol argument. Instead the socketserver will determine the protocol based on the port and add this to the request
> 
> 
> bump version for UpdateMetadataRequest and added support for rolling upgrades with new config
> 
> 
> following tests - fixed LeaderAndISR protocol and ZK registration for backward compatibility
> 
> 
> cleaned up some changes that were actually not necessary. hopefully making this patch slightly easier to review
> 
> 
> undoing some changes that don't belong here
> 
> 
> bring back config lost in cleanup
> 
> 
> fixes neccessary for an all non-plaintext cluster to work
> 
> 
> Diffs
> -----
> 
>   clients/src/main/java/org/apache/kafka/clients/NetworkClient.java 525b95e98010cd2053eacd8c321d079bcac2f910 
>   clients/src/main/java/org/apache/kafka/common/protocol/SecurityProtocol.java PRE-CREATION 
>   clients/src/main/java/org/apache/kafka/common/utils/Utils.java 527dd0f9c47fce7310b7a37a9b95bf87f1b9c292 
>   clients/src/test/java/org/apache/kafka/common/utils/ClientUtilsTest.java 6e37ea553f73d9c584641c48c56dbf6e62ba5f88 
>   clients/src/test/java/org/apache/kafka/common/utils/UtilsTest.java a39fab532f73148316a56c0f8e9197f38ea66f79 
>   config/server.properties b0e4496a8ca736b6abe965a430e8ce87b0e8287f 
>   core/src/main/scala/kafka/admin/AdminUtils.scala 28b12c7b89a56c113b665fbde1b95f873f8624a3 
>   core/src/main/scala/kafka/admin/TopicCommand.scala 285c0333ff43543d3e46444c1cd9374bb883bb59 
>   core/src/main/scala/kafka/api/ConsumerMetadataResponse.scala 84f60178f6ebae735c8aa3e79ed93fe21ac4aea7 
>   core/src/main/scala/kafka/api/LeaderAndIsrRequest.scala 4ff7e8f8cc695551dd5d2fe65c74f6b6c571e340 
>   core/src/main/scala/kafka/api/TopicMetadata.scala 0190076df0adf906ecd332284f222ff974b315fc 
>   core/src/main/scala/kafka/api/TopicMetadataResponse.scala 92ac4e687be22e4800199c0666bfac5e0059e5bb 
>   core/src/main/scala/kafka/api/UpdateMetadataRequest.scala 530982e36b17934b8cc5fb668075a5342e142c59 
>   core/src/main/scala/kafka/client/ClientUtils.scala ebba87f0566684c796c26cb76c64b4640a5ccfde 
>   core/src/main/scala/kafka/cluster/Broker.scala 0060add008bb3bc4b0092f2173c469fce0120be6 
>   core/src/main/scala/kafka/cluster/BrokerEndPoint.scala PRE-CREATION 
>   core/src/main/scala/kafka/cluster/EndPoint.scala PRE-CREATION 
>   core/src/main/scala/kafka/cluster/SecurityProtocol.scala PRE-CREATION 
>   core/src/main/scala/kafka/common/BrokerEndPointNotAvailableException.scala PRE-CREATION 
>   core/src/main/scala/kafka/consumer/ConsumerConfig.scala 9ebbee6c16dc83767297c729d2d74ebbd063a993 
>   core/src/main/scala/kafka/consumer/ConsumerFetcherManager.scala b9e2bea7b442a19bcebd1b350d39541a8c9dd068 
>   core/src/main/scala/kafka/consumer/ConsumerFetcherThread.scala ee6139c901082358382c5ef892281386bf6fc91b 
>   core/src/main/scala/kafka/consumer/ZookeeperConsumerConnector.scala 191a8677444e53b043e9ad6e94c5a9191c32599e 
>   core/src/main/scala/kafka/controller/ControllerChannelManager.scala eb492f00449744bc8d63f55b393e2a1659d38454 
>   core/src/main/scala/kafka/controller/KafkaController.scala 66df6d2fbdbdd556da6bea0df84f93e0472c8fbf 
>   core/src/main/scala/kafka/javaapi/ConsumerMetadataResponse.scala 1b28861cdf7dfb30fc696b54f8f8f05f730f4ece 
>   core/src/main/scala/kafka/javaapi/TopicMetadata.scala f384e04678df10a5b46a439f475c63371bf8e32b 
>   core/src/main/scala/kafka/javaapi/TopicMetadataRequest.scala b0b7be14d494ae8c87f4443b52db69d273c20316 
>   core/src/main/scala/kafka/network/BlockingChannel.scala 6e2a38eee8e568f9032f95c75fa5899e9715b433 
>   core/src/main/scala/kafka/network/RequestChannel.scala 7b1db3dbbb2c0676f166890f566c14aa248467ab 
>   core/src/main/scala/kafka/network/SocketServer.scala e451592fe358158548117f47a80e807007dd8b98 
>   core/src/main/scala/kafka/producer/ProducerPool.scala 43df70bb461dd3e385e6b20396adef3c4016a3fc 
>   core/src/main/scala/kafka/server/AbstractFetcherManager.scala 20c00cb8cc2351950edbc8cb1752905a0c26e79f 
>   core/src/main/scala/kafka/server/AbstractFetcherThread.scala 8c281d4668f92eff95a4a5df3c03c4b5b20e7095 
>   core/src/main/scala/kafka/server/KafkaApis.scala 2a1c0326b6e6966d8b8254bd6a1cb83ad98a3b80 
>   core/src/main/scala/kafka/server/KafkaConfig.scala 6e26c5436feb4629d17f199011f3ebb674aa767f 
>   core/src/main/scala/kafka/server/KafkaHealthcheck.scala 4acdd70fe9c1ee78d6510741006c2ece65450671 
>   core/src/main/scala/kafka/server/KafkaServer.scala 1bf7d10cef23a77e716666eb16bf6d0e68bc4ebe 
>   core/src/main/scala/kafka/server/MetadataCache.scala bf81a1ab88c14be8697b441eedbeb28fa0112643 
>   core/src/main/scala/kafka/server/ReplicaFetcherManager.scala 351dbbad3bdb709937943b336a5b0a9e0162a5e2 
>   core/src/main/scala/kafka/server/ReplicaFetcherThread.scala 6879e730282185bda3d6bc3659cb15af0672cecf 
>   core/src/main/scala/kafka/server/ReplicaManager.scala e58fbb922e93b0c31dff04f187fcadb4ece986d7 
>   core/src/main/scala/kafka/tools/ConsumerOffsetChecker.scala d1e7c434e77859d746b8dc68dd5d5a3740425e79 
>   core/src/main/scala/kafka/tools/ReplicaVerificationTool.scala ba6ddd7a909df79a0f7d45e8b4a2af94ea0fceb6 
>   core/src/main/scala/kafka/tools/SimpleConsumerShell.scala b4f903b6c7c3bb725cac7c05eb1f885906413c4d 
>   core/src/main/scala/kafka/tools/UpdateOffsetsInZK.scala 111c9a8b94ce45d95551482e9fd3f8c1cccbf548 
>   core/src/main/scala/kafka/utils/Utils.scala 738c1af9ef5de16fdf5130daab69757a14c48b5c 
>   core/src/main/scala/kafka/utils/ZkUtils.scala 56e3e88e0cc6d917b0ffd1254e173295c1c4aabd 
>   core/src/test/scala/integration/kafka/api/ProducerFailureHandlingTest.scala 5ec613cdb50b93bfe4477e89554dfc3768759b18 
>   core/src/test/scala/integration/kafka/api/ProducerSendTest.scala 6196060edf9f1650720ec916f88933953a1daa2c 
>   core/src/test/scala/other/kafka/TestOffsetManager.scala 41f334d48897b3027ed54c58bbf4811487d3b191 
>   core/src/test/scala/unit/kafka/KafkaConfigTest.scala 4d36b8b1173f60d43463c13c9d8c1275a84c8c28 
>   core/src/test/scala/unit/kafka/admin/AddPartitionsTest.scala 1bf2667f47853585bc33ffb3e28256ec5f24ae84 
>   core/src/test/scala/unit/kafka/api/RequestResponseSerializationTest.scala cd16ced5465d098be7a60498326b2a98c248f343 
>   core/src/test/scala/unit/kafka/cluster/BrokerTest.scala PRE-CREATION 
>   core/src/test/scala/unit/kafka/consumer/ConsumerIteratorTest.scala c0355cc0135c6af2e346b4715659353a31723b86 
>   core/src/test/scala/unit/kafka/integration/FetcherTest.scala 25845abbcad2e79f56f729e59239b738d3ddbc9d 
>   core/src/test/scala/unit/kafka/integration/TopicMetadataTest.scala 35dc071b1056e775326981573c9618d8046e601d 
>   core/src/test/scala/unit/kafka/network/SocketServerTest.scala 5f4d85254c384dcc27a5a84f0836ea225d3a901a 
>   core/src/test/scala/unit/kafka/producer/AsyncProducerTest.scala 1db6ac329f7b54e600802c8a623f80d159d4e69b 
>   core/src/test/scala/unit/kafka/producer/SyncProducerTest.scala d60d8e0f49443f4dc8bc2cad6e2f951eda28f5cb 
>   core/src/test/scala/unit/kafka/server/AdvertiseBrokerTest.scala f0c4a56b61b4f081cf4bee799c6e9c523ff45e19 
>   core/src/test/scala/unit/kafka/server/KafkaConfigTest.scala 2377abe4933e065d037828a214c3a87e1773a8ef 
>   core/src/test/scala/unit/kafka/server/LeaderElectionTest.scala c2ba07c5fdbaf0e65ca033b2e4d88f45a8a15b2e 
>   core/src/test/scala/unit/kafka/server/LogOffsetTest.scala c06ee756bf0fe07e5d3c92823a476c960b37afd6 
>   core/src/test/scala/unit/kafka/utils/TestUtils.scala 94d0028d8c4907e747aa8a74a13d719b974c97bf 
>   system_test/replication_testsuite/testcase_1/testcase_1_properties.json 0c6d7a316cc6b51ac0755ca03558507db0706c31 
>   system_test/utils/kafka_system_test_utils.py 41d511cbc310fa87e0f2cd2f772e479e8e3ae4e2 
> 
> Diff: https://reviews.apache.org/r/28769/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Gwen Shapira
> 
>


Re: Review Request 28769: Patch for KAFKA-1809

Posted by Gwen Shapira <gs...@cloudera.com>.

> On Jan. 7, 2015, 3:01 a.m., Jun Rao wrote:
> > Thanks for the patch. It's a lot work! A few general comments below, in addition to the more detailed comments.
> > 
> > 1. Formatting: add a space after comma in function signature and function calls. So instead of 
> >     def foo(a: A,b: B)
> >   use
> >     def foo(a: A, b: B)
> >     
> > 2. In some of the files, imports can be optimized.
> > 3. Some new files are missing the license header.
> > 4. It seems that the client needs to know the security protocol in addition to the port. Otherwise, it doesn't know which protocol to use to establish the socket connection. So, perhaps the broker.list should now be protocol://host:port?

for #4 - we currently have security.protocol parameter for producer and consumer - reason being that:
1. broker.list may specify multiple brokers, but I think we want to keep communication to one protocol per client. We can validate a single protocol in the config, but it is still a bit wierd - asking users to type protocol multiple times when it has to be the same.
2. Zookeeper consumer currently doesn't have broker.list, they have zookeeper list, but it still needs to know the protocol


- Gwen


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


On Jan. 6, 2015, 7:46 p.m., Gwen Shapira wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/28769/
> -----------------------------------------------------------
> 
> (Updated Jan. 6, 2015, 7:46 p.m.)
> 
> 
> Review request for kafka.
> 
> 
> Bugs: KAFKA-1809
>     https://issues.apache.org/jira/browse/KAFKA-1809
> 
> 
> Repository: kafka
> 
> 
> Description
> -------
> 
> first commit of refactoring.
> 
> 
> changed topicmetadata to include brokerendpoints and fixed few unit tests
> 
> 
> fixing systest and support for binding to default address
> 
> 
> fixed system tests
> 
> 
> fix default address binding and ipv6 support
> 
> 
> fix some issues regarding endpoint parsing. Also, larger segments for systest make the validation much faster
> 
> 
> added link to security wiki in doc
> 
> 
> fixing unit test after rename of ProtocolType to SecurityProtocol
> 
> 
> Following Joe's advice, added security protocol enum on client side, and modified protocol to use ID instead of string.
> 
> 
> validate producer config against enum
> 
> 
> add a second protocol for testing and modify SocketServerTests to check on multi-ports
> 
> 
> Reverted the metadata request changes and removed the explicit security protocol argument. Instead the socketserver will determine the protocol based on the port and add this to the request
> 
> 
> bump version for UpdateMetadataRequest and added support for rolling upgrades with new config
> 
> 
> following tests - fixed LeaderAndISR protocol and ZK registration for backward compatibility
> 
> 
> cleaned up some changes that were actually not necessary. hopefully making this patch slightly easier to review
> 
> 
> undoing some changes that don't belong here
> 
> 
> bring back config lost in cleanup
> 
> 
> fixes neccessary for an all non-plaintext cluster to work
> 
> 
> Diffs
> -----
> 
>   clients/src/main/java/org/apache/kafka/clients/NetworkClient.java 525b95e98010cd2053eacd8c321d079bcac2f910 
>   clients/src/main/java/org/apache/kafka/common/protocol/SecurityProtocol.java PRE-CREATION 
>   clients/src/main/java/org/apache/kafka/common/utils/Utils.java 527dd0f9c47fce7310b7a37a9b95bf87f1b9c292 
>   clients/src/test/java/org/apache/kafka/common/utils/ClientUtilsTest.java 6e37ea553f73d9c584641c48c56dbf6e62ba5f88 
>   clients/src/test/java/org/apache/kafka/common/utils/UtilsTest.java a39fab532f73148316a56c0f8e9197f38ea66f79 
>   config/server.properties b0e4496a8ca736b6abe965a430e8ce87b0e8287f 
>   core/src/main/scala/kafka/admin/AdminUtils.scala 28b12c7b89a56c113b665fbde1b95f873f8624a3 
>   core/src/main/scala/kafka/admin/TopicCommand.scala 285c0333ff43543d3e46444c1cd9374bb883bb59 
>   core/src/main/scala/kafka/api/ConsumerMetadataResponse.scala 84f60178f6ebae735c8aa3e79ed93fe21ac4aea7 
>   core/src/main/scala/kafka/api/LeaderAndIsrRequest.scala 4ff7e8f8cc695551dd5d2fe65c74f6b6c571e340 
>   core/src/main/scala/kafka/api/TopicMetadata.scala 0190076df0adf906ecd332284f222ff974b315fc 
>   core/src/main/scala/kafka/api/TopicMetadataResponse.scala 92ac4e687be22e4800199c0666bfac5e0059e5bb 
>   core/src/main/scala/kafka/api/UpdateMetadataRequest.scala 530982e36b17934b8cc5fb668075a5342e142c59 
>   core/src/main/scala/kafka/client/ClientUtils.scala ebba87f0566684c796c26cb76c64b4640a5ccfde 
>   core/src/main/scala/kafka/cluster/Broker.scala 0060add008bb3bc4b0092f2173c469fce0120be6 
>   core/src/main/scala/kafka/cluster/BrokerEndPoint.scala PRE-CREATION 
>   core/src/main/scala/kafka/cluster/EndPoint.scala PRE-CREATION 
>   core/src/main/scala/kafka/cluster/SecurityProtocol.scala PRE-CREATION 
>   core/src/main/scala/kafka/common/BrokerEndPointNotAvailableException.scala PRE-CREATION 
>   core/src/main/scala/kafka/consumer/ConsumerConfig.scala 9ebbee6c16dc83767297c729d2d74ebbd063a993 
>   core/src/main/scala/kafka/consumer/ConsumerFetcherManager.scala b9e2bea7b442a19bcebd1b350d39541a8c9dd068 
>   core/src/main/scala/kafka/consumer/ConsumerFetcherThread.scala ee6139c901082358382c5ef892281386bf6fc91b 
>   core/src/main/scala/kafka/consumer/ZookeeperConsumerConnector.scala 191a8677444e53b043e9ad6e94c5a9191c32599e 
>   core/src/main/scala/kafka/controller/ControllerChannelManager.scala eb492f00449744bc8d63f55b393e2a1659d38454 
>   core/src/main/scala/kafka/controller/KafkaController.scala 66df6d2fbdbdd556da6bea0df84f93e0472c8fbf 
>   core/src/main/scala/kafka/javaapi/ConsumerMetadataResponse.scala 1b28861cdf7dfb30fc696b54f8f8f05f730f4ece 
>   core/src/main/scala/kafka/javaapi/TopicMetadata.scala f384e04678df10a5b46a439f475c63371bf8e32b 
>   core/src/main/scala/kafka/javaapi/TopicMetadataRequest.scala b0b7be14d494ae8c87f4443b52db69d273c20316 
>   core/src/main/scala/kafka/network/BlockingChannel.scala 6e2a38eee8e568f9032f95c75fa5899e9715b433 
>   core/src/main/scala/kafka/network/RequestChannel.scala 7b1db3dbbb2c0676f166890f566c14aa248467ab 
>   core/src/main/scala/kafka/network/SocketServer.scala e451592fe358158548117f47a80e807007dd8b98 
>   core/src/main/scala/kafka/producer/ProducerPool.scala 43df70bb461dd3e385e6b20396adef3c4016a3fc 
>   core/src/main/scala/kafka/server/AbstractFetcherManager.scala 20c00cb8cc2351950edbc8cb1752905a0c26e79f 
>   core/src/main/scala/kafka/server/AbstractFetcherThread.scala 8c281d4668f92eff95a4a5df3c03c4b5b20e7095 
>   core/src/main/scala/kafka/server/KafkaApis.scala 2a1c0326b6e6966d8b8254bd6a1cb83ad98a3b80 
>   core/src/main/scala/kafka/server/KafkaConfig.scala 6e26c5436feb4629d17f199011f3ebb674aa767f 
>   core/src/main/scala/kafka/server/KafkaHealthcheck.scala 4acdd70fe9c1ee78d6510741006c2ece65450671 
>   core/src/main/scala/kafka/server/KafkaServer.scala 1bf7d10cef23a77e716666eb16bf6d0e68bc4ebe 
>   core/src/main/scala/kafka/server/MetadataCache.scala bf81a1ab88c14be8697b441eedbeb28fa0112643 
>   core/src/main/scala/kafka/server/ReplicaFetcherManager.scala 351dbbad3bdb709937943b336a5b0a9e0162a5e2 
>   core/src/main/scala/kafka/server/ReplicaFetcherThread.scala 6879e730282185bda3d6bc3659cb15af0672cecf 
>   core/src/main/scala/kafka/server/ReplicaManager.scala e58fbb922e93b0c31dff04f187fcadb4ece986d7 
>   core/src/main/scala/kafka/tools/ConsumerOffsetChecker.scala d1e7c434e77859d746b8dc68dd5d5a3740425e79 
>   core/src/main/scala/kafka/tools/ReplicaVerificationTool.scala ba6ddd7a909df79a0f7d45e8b4a2af94ea0fceb6 
>   core/src/main/scala/kafka/tools/SimpleConsumerShell.scala b4f903b6c7c3bb725cac7c05eb1f885906413c4d 
>   core/src/main/scala/kafka/tools/UpdateOffsetsInZK.scala 111c9a8b94ce45d95551482e9fd3f8c1cccbf548 
>   core/src/main/scala/kafka/utils/Utils.scala 738c1af9ef5de16fdf5130daab69757a14c48b5c 
>   core/src/main/scala/kafka/utils/ZkUtils.scala 56e3e88e0cc6d917b0ffd1254e173295c1c4aabd 
>   core/src/test/scala/integration/kafka/api/ProducerFailureHandlingTest.scala 5ec613cdb50b93bfe4477e89554dfc3768759b18 
>   core/src/test/scala/integration/kafka/api/ProducerSendTest.scala 6196060edf9f1650720ec916f88933953a1daa2c 
>   core/src/test/scala/other/kafka/TestOffsetManager.scala 41f334d48897b3027ed54c58bbf4811487d3b191 
>   core/src/test/scala/unit/kafka/KafkaConfigTest.scala 4d36b8b1173f60d43463c13c9d8c1275a84c8c28 
>   core/src/test/scala/unit/kafka/admin/AddPartitionsTest.scala 1bf2667f47853585bc33ffb3e28256ec5f24ae84 
>   core/src/test/scala/unit/kafka/api/RequestResponseSerializationTest.scala cd16ced5465d098be7a60498326b2a98c248f343 
>   core/src/test/scala/unit/kafka/cluster/BrokerTest.scala PRE-CREATION 
>   core/src/test/scala/unit/kafka/consumer/ConsumerIteratorTest.scala c0355cc0135c6af2e346b4715659353a31723b86 
>   core/src/test/scala/unit/kafka/integration/FetcherTest.scala 25845abbcad2e79f56f729e59239b738d3ddbc9d 
>   core/src/test/scala/unit/kafka/integration/TopicMetadataTest.scala 35dc071b1056e775326981573c9618d8046e601d 
>   core/src/test/scala/unit/kafka/network/SocketServerTest.scala 5f4d85254c384dcc27a5a84f0836ea225d3a901a 
>   core/src/test/scala/unit/kafka/producer/AsyncProducerTest.scala 1db6ac329f7b54e600802c8a623f80d159d4e69b 
>   core/src/test/scala/unit/kafka/producer/SyncProducerTest.scala d60d8e0f49443f4dc8bc2cad6e2f951eda28f5cb 
>   core/src/test/scala/unit/kafka/server/AdvertiseBrokerTest.scala f0c4a56b61b4f081cf4bee799c6e9c523ff45e19 
>   core/src/test/scala/unit/kafka/server/KafkaConfigTest.scala 2377abe4933e065d037828a214c3a87e1773a8ef 
>   core/src/test/scala/unit/kafka/server/LeaderElectionTest.scala c2ba07c5fdbaf0e65ca033b2e4d88f45a8a15b2e 
>   core/src/test/scala/unit/kafka/server/LogOffsetTest.scala c06ee756bf0fe07e5d3c92823a476c960b37afd6 
>   core/src/test/scala/unit/kafka/utils/TestUtils.scala 94d0028d8c4907e747aa8a74a13d719b974c97bf 
>   system_test/replication_testsuite/testcase_1/testcase_1_properties.json 0c6d7a316cc6b51ac0755ca03558507db0706c31 
>   system_test/utils/kafka_system_test_utils.py 41d511cbc310fa87e0f2cd2f772e479e8e3ae4e2 
> 
> Diff: https://reviews.apache.org/r/28769/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Gwen Shapira
> 
>


Re: Review Request 28769: Patch for KAFKA-1809

Posted by Jun Rao <ju...@gmail.com>.

> On Jan. 7, 2015, 3:01 a.m., Jun Rao wrote:
> > Thanks for the patch. It's a lot work! A few general comments below, in addition to the more detailed comments.
> > 
> > 1. Formatting: add a space after comma in function signature and function calls. So instead of 
> >     def foo(a: A,b: B)
> >   use
> >     def foo(a: A, b: B)
> >     
> > 2. In some of the files, imports can be optimized.
> > 3. Some new files are missing the license header.
> > 4. It seems that the client needs to know the security protocol in addition to the port. Otherwise, it doesn't know which protocol to use to establish the socket connection. So, perhaps the broker.list should now be protocol://host:port?
> 
> Gwen Shapira wrote:
>     for #4 - we currently have security.protocol parameter for producer and consumer - reason being that:
>     1. broker.list may specify multiple brokers, but I think we want to keep communication to one protocol per client. We can validate a single protocol in the config, but it is still a bit wierd - asking users to type protocol multiple times when it has to be the same.
>     2. Zookeeper consumer currently doesn't have broker.list, they have zookeeper list, but it still needs to know the protocol

That sounds good. That change is not included in this patch?


> On Jan. 7, 2015, 3:01 a.m., Jun Rao wrote:
> > core/src/main/scala/kafka/cluster/Broker.scala, lines 36-52
> > <https://reviews.apache.org/r/28769/diff/11/?file=807930#file807930line36>
> >
> >     It would be good to document the format for both v1 and v2.
> >     
> >     Also, would it be cleaner if in v2, we remove the host/port fields and only include the endpoints field? Currently, v2 writes host/port, but doesn't use it itself. So, it's really just for backward compatibility. Since we have the "use.new.wire.protocol" config, we can let each broker register in ZK using v2 format only after that config is set to true (when all brokers are upgraded to the new binary).
> 
> Gwen Shapira wrote:
>     I think it makes sense to leave V1 as "without endpoints" and make V2 "only endpoints, no host/port fields". 
>     
>     We can use use.new.wire.protocol to choose which we serialize. This means that until we set new.protocol to true, non-plaintext endpoints will exist in config files (and therefore brokers will listen there), but will not exist in ZK. 
>     
>     This is in line with our current understanding that until upgrade is finished (and use.new.protocol is set to "true"), non-plaintext endpoints will not be supported or used.
>     
>     A less expected side-effect:
>     At the time we switch from V1 to V2, createEphemeralPathExpectConflictHandleZKBug will not recognize the existing broker (if ephemeral node is still around) as identical to the new registration (since the new broker will potentially have more endpoints). This means that if the ephemeral node is still around when we switch, we'll get "broker already registered" exception, instead of looping around until the ephemeral node goes away. 
>     
>     I think we are fine with the behavior here, but I wanted to make it explicit.

Yes, that typically only happens when ZK session expires, which is rare.


> On Jan. 7, 2015, 3:01 a.m., Jun Rao wrote:
> > core/src/main/scala/kafka/cluster/EndPoint.scala, line 36
> > <https://reviews.apache.org/r/28769/diff/11/?file=807932#file807932line36>
> >
> >     Do we need the dot after -?
> 
> Gwen Shapira wrote:
>     Yes. Because of the brackets its an actual dot (doesn't match "any") and its needed because there's an IP in there, we need to match 1.1.1.1

make sense


> On Jan. 7, 2015, 3:01 a.m., Jun Rao wrote:
> > core/src/main/scala/kafka/network/SocketServer.scala, line 105
> > <https://reviews.apache.org/r/28769/diff/11/?file=807946#file807946line105>
> >
> >     I think each acceptor needs its own set of processors. We probably need to change the doc for num.network.threads to indicate that it's per endpoint.
> 
> Gwen Shapira wrote:
>     I'm not sure I understand why. Is it because you expect different processor implementations later?

You are right. I was thinking that we will implement different types of socket support at the processor level, but that's actually at the socket channel level.


- Jun


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


On Jan. 6, 2015, 7:46 p.m., Gwen Shapira wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/28769/
> -----------------------------------------------------------
> 
> (Updated Jan. 6, 2015, 7:46 p.m.)
> 
> 
> Review request for kafka.
> 
> 
> Bugs: KAFKA-1809
>     https://issues.apache.org/jira/browse/KAFKA-1809
> 
> 
> Repository: kafka
> 
> 
> Description
> -------
> 
> first commit of refactoring.
> 
> 
> changed topicmetadata to include brokerendpoints and fixed few unit tests
> 
> 
> fixing systest and support for binding to default address
> 
> 
> fixed system tests
> 
> 
> fix default address binding and ipv6 support
> 
> 
> fix some issues regarding endpoint parsing. Also, larger segments for systest make the validation much faster
> 
> 
> added link to security wiki in doc
> 
> 
> fixing unit test after rename of ProtocolType to SecurityProtocol
> 
> 
> Following Joe's advice, added security protocol enum on client side, and modified protocol to use ID instead of string.
> 
> 
> validate producer config against enum
> 
> 
> add a second protocol for testing and modify SocketServerTests to check on multi-ports
> 
> 
> Reverted the metadata request changes and removed the explicit security protocol argument. Instead the socketserver will determine the protocol based on the port and add this to the request
> 
> 
> bump version for UpdateMetadataRequest and added support for rolling upgrades with new config
> 
> 
> following tests - fixed LeaderAndISR protocol and ZK registration for backward compatibility
> 
> 
> cleaned up some changes that were actually not necessary. hopefully making this patch slightly easier to review
> 
> 
> undoing some changes that don't belong here
> 
> 
> bring back config lost in cleanup
> 
> 
> fixes neccessary for an all non-plaintext cluster to work
> 
> 
> Diffs
> -----
> 
>   clients/src/main/java/org/apache/kafka/clients/NetworkClient.java 525b95e98010cd2053eacd8c321d079bcac2f910 
>   clients/src/main/java/org/apache/kafka/common/protocol/SecurityProtocol.java PRE-CREATION 
>   clients/src/main/java/org/apache/kafka/common/utils/Utils.java 527dd0f9c47fce7310b7a37a9b95bf87f1b9c292 
>   clients/src/test/java/org/apache/kafka/common/utils/ClientUtilsTest.java 6e37ea553f73d9c584641c48c56dbf6e62ba5f88 
>   clients/src/test/java/org/apache/kafka/common/utils/UtilsTest.java a39fab532f73148316a56c0f8e9197f38ea66f79 
>   config/server.properties b0e4496a8ca736b6abe965a430e8ce87b0e8287f 
>   core/src/main/scala/kafka/admin/AdminUtils.scala 28b12c7b89a56c113b665fbde1b95f873f8624a3 
>   core/src/main/scala/kafka/admin/TopicCommand.scala 285c0333ff43543d3e46444c1cd9374bb883bb59 
>   core/src/main/scala/kafka/api/ConsumerMetadataResponse.scala 84f60178f6ebae735c8aa3e79ed93fe21ac4aea7 
>   core/src/main/scala/kafka/api/LeaderAndIsrRequest.scala 4ff7e8f8cc695551dd5d2fe65c74f6b6c571e340 
>   core/src/main/scala/kafka/api/TopicMetadata.scala 0190076df0adf906ecd332284f222ff974b315fc 
>   core/src/main/scala/kafka/api/TopicMetadataResponse.scala 92ac4e687be22e4800199c0666bfac5e0059e5bb 
>   core/src/main/scala/kafka/api/UpdateMetadataRequest.scala 530982e36b17934b8cc5fb668075a5342e142c59 
>   core/src/main/scala/kafka/client/ClientUtils.scala ebba87f0566684c796c26cb76c64b4640a5ccfde 
>   core/src/main/scala/kafka/cluster/Broker.scala 0060add008bb3bc4b0092f2173c469fce0120be6 
>   core/src/main/scala/kafka/cluster/BrokerEndPoint.scala PRE-CREATION 
>   core/src/main/scala/kafka/cluster/EndPoint.scala PRE-CREATION 
>   core/src/main/scala/kafka/cluster/SecurityProtocol.scala PRE-CREATION 
>   core/src/main/scala/kafka/common/BrokerEndPointNotAvailableException.scala PRE-CREATION 
>   core/src/main/scala/kafka/consumer/ConsumerConfig.scala 9ebbee6c16dc83767297c729d2d74ebbd063a993 
>   core/src/main/scala/kafka/consumer/ConsumerFetcherManager.scala b9e2bea7b442a19bcebd1b350d39541a8c9dd068 
>   core/src/main/scala/kafka/consumer/ConsumerFetcherThread.scala ee6139c901082358382c5ef892281386bf6fc91b 
>   core/src/main/scala/kafka/consumer/ZookeeperConsumerConnector.scala 191a8677444e53b043e9ad6e94c5a9191c32599e 
>   core/src/main/scala/kafka/controller/ControllerChannelManager.scala eb492f00449744bc8d63f55b393e2a1659d38454 
>   core/src/main/scala/kafka/controller/KafkaController.scala 66df6d2fbdbdd556da6bea0df84f93e0472c8fbf 
>   core/src/main/scala/kafka/javaapi/ConsumerMetadataResponse.scala 1b28861cdf7dfb30fc696b54f8f8f05f730f4ece 
>   core/src/main/scala/kafka/javaapi/TopicMetadata.scala f384e04678df10a5b46a439f475c63371bf8e32b 
>   core/src/main/scala/kafka/javaapi/TopicMetadataRequest.scala b0b7be14d494ae8c87f4443b52db69d273c20316 
>   core/src/main/scala/kafka/network/BlockingChannel.scala 6e2a38eee8e568f9032f95c75fa5899e9715b433 
>   core/src/main/scala/kafka/network/RequestChannel.scala 7b1db3dbbb2c0676f166890f566c14aa248467ab 
>   core/src/main/scala/kafka/network/SocketServer.scala e451592fe358158548117f47a80e807007dd8b98 
>   core/src/main/scala/kafka/producer/ProducerPool.scala 43df70bb461dd3e385e6b20396adef3c4016a3fc 
>   core/src/main/scala/kafka/server/AbstractFetcherManager.scala 20c00cb8cc2351950edbc8cb1752905a0c26e79f 
>   core/src/main/scala/kafka/server/AbstractFetcherThread.scala 8c281d4668f92eff95a4a5df3c03c4b5b20e7095 
>   core/src/main/scala/kafka/server/KafkaApis.scala 2a1c0326b6e6966d8b8254bd6a1cb83ad98a3b80 
>   core/src/main/scala/kafka/server/KafkaConfig.scala 6e26c5436feb4629d17f199011f3ebb674aa767f 
>   core/src/main/scala/kafka/server/KafkaHealthcheck.scala 4acdd70fe9c1ee78d6510741006c2ece65450671 
>   core/src/main/scala/kafka/server/KafkaServer.scala 1bf7d10cef23a77e716666eb16bf6d0e68bc4ebe 
>   core/src/main/scala/kafka/server/MetadataCache.scala bf81a1ab88c14be8697b441eedbeb28fa0112643 
>   core/src/main/scala/kafka/server/ReplicaFetcherManager.scala 351dbbad3bdb709937943b336a5b0a9e0162a5e2 
>   core/src/main/scala/kafka/server/ReplicaFetcherThread.scala 6879e730282185bda3d6bc3659cb15af0672cecf 
>   core/src/main/scala/kafka/server/ReplicaManager.scala e58fbb922e93b0c31dff04f187fcadb4ece986d7 
>   core/src/main/scala/kafka/tools/ConsumerOffsetChecker.scala d1e7c434e77859d746b8dc68dd5d5a3740425e79 
>   core/src/main/scala/kafka/tools/ReplicaVerificationTool.scala ba6ddd7a909df79a0f7d45e8b4a2af94ea0fceb6 
>   core/src/main/scala/kafka/tools/SimpleConsumerShell.scala b4f903b6c7c3bb725cac7c05eb1f885906413c4d 
>   core/src/main/scala/kafka/tools/UpdateOffsetsInZK.scala 111c9a8b94ce45d95551482e9fd3f8c1cccbf548 
>   core/src/main/scala/kafka/utils/Utils.scala 738c1af9ef5de16fdf5130daab69757a14c48b5c 
>   core/src/main/scala/kafka/utils/ZkUtils.scala 56e3e88e0cc6d917b0ffd1254e173295c1c4aabd 
>   core/src/test/scala/integration/kafka/api/ProducerFailureHandlingTest.scala 5ec613cdb50b93bfe4477e89554dfc3768759b18 
>   core/src/test/scala/integration/kafka/api/ProducerSendTest.scala 6196060edf9f1650720ec916f88933953a1daa2c 
>   core/src/test/scala/other/kafka/TestOffsetManager.scala 41f334d48897b3027ed54c58bbf4811487d3b191 
>   core/src/test/scala/unit/kafka/KafkaConfigTest.scala 4d36b8b1173f60d43463c13c9d8c1275a84c8c28 
>   core/src/test/scala/unit/kafka/admin/AddPartitionsTest.scala 1bf2667f47853585bc33ffb3e28256ec5f24ae84 
>   core/src/test/scala/unit/kafka/api/RequestResponseSerializationTest.scala cd16ced5465d098be7a60498326b2a98c248f343 
>   core/src/test/scala/unit/kafka/cluster/BrokerTest.scala PRE-CREATION 
>   core/src/test/scala/unit/kafka/consumer/ConsumerIteratorTest.scala c0355cc0135c6af2e346b4715659353a31723b86 
>   core/src/test/scala/unit/kafka/integration/FetcherTest.scala 25845abbcad2e79f56f729e59239b738d3ddbc9d 
>   core/src/test/scala/unit/kafka/integration/TopicMetadataTest.scala 35dc071b1056e775326981573c9618d8046e601d 
>   core/src/test/scala/unit/kafka/network/SocketServerTest.scala 5f4d85254c384dcc27a5a84f0836ea225d3a901a 
>   core/src/test/scala/unit/kafka/producer/AsyncProducerTest.scala 1db6ac329f7b54e600802c8a623f80d159d4e69b 
>   core/src/test/scala/unit/kafka/producer/SyncProducerTest.scala d60d8e0f49443f4dc8bc2cad6e2f951eda28f5cb 
>   core/src/test/scala/unit/kafka/server/AdvertiseBrokerTest.scala f0c4a56b61b4f081cf4bee799c6e9c523ff45e19 
>   core/src/test/scala/unit/kafka/server/KafkaConfigTest.scala 2377abe4933e065d037828a214c3a87e1773a8ef 
>   core/src/test/scala/unit/kafka/server/LeaderElectionTest.scala c2ba07c5fdbaf0e65ca033b2e4d88f45a8a15b2e 
>   core/src/test/scala/unit/kafka/server/LogOffsetTest.scala c06ee756bf0fe07e5d3c92823a476c960b37afd6 
>   core/src/test/scala/unit/kafka/utils/TestUtils.scala 94d0028d8c4907e747aa8a74a13d719b974c97bf 
>   system_test/replication_testsuite/testcase_1/testcase_1_properties.json 0c6d7a316cc6b51ac0755ca03558507db0706c31 
>   system_test/utils/kafka_system_test_utils.py 41d511cbc310fa87e0f2cd2f772e479e8e3ae4e2 
> 
> Diff: https://reviews.apache.org/r/28769/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Gwen Shapira
> 
>


Re: Review Request 28769: Patch for KAFKA-1809

Posted by Gwen Shapira <gs...@cloudera.com>.

> On Jan. 7, 2015, 3:01 a.m., Jun Rao wrote:
> > core/src/main/scala/kafka/cluster/EndPoint.scala, line 36
> > <https://reviews.apache.org/r/28769/diff/11/?file=807932#file807932line36>
> >
> >     Do we need the dot after -?

Yes. Because of the brackets its an actual dot (doesn't match "any") and its needed because there's an IP in there, we need to match 1.1.1.1


> On Jan. 7, 2015, 3:01 a.m., Jun Rao wrote:
> > core/src/main/scala/kafka/network/SocketServer.scala, line 105
> > <https://reviews.apache.org/r/28769/diff/11/?file=807946#file807946line105>
> >
> >     I think each acceptor needs its own set of processors. We probably need to change the doc for num.network.threads to indicate that it's per endpoint.

I'm not sure I understand why. Is it because you expect different processor implementations later?


> On Jan. 7, 2015, 3:01 a.m., Jun Rao wrote:
> > core/src/main/scala/kafka/server/KafkaConfig.scala, line 104
> > <https://reviews.apache.org/r/28769/diff/11/?file=807951#file807951line104>
> >
> >     In KafkaApi, it seems that we assume there is at most one endpoint per protocol (since we look for endpoint by protocol). If so, it would be good to validate that at config time.

Agree. Also, storing them as a map may make more sense.


- Gwen


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


On Jan. 6, 2015, 7:46 p.m., Gwen Shapira wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/28769/
> -----------------------------------------------------------
> 
> (Updated Jan. 6, 2015, 7:46 p.m.)
> 
> 
> Review request for kafka.
> 
> 
> Bugs: KAFKA-1809
>     https://issues.apache.org/jira/browse/KAFKA-1809
> 
> 
> Repository: kafka
> 
> 
> Description
> -------
> 
> first commit of refactoring.
> 
> 
> changed topicmetadata to include brokerendpoints and fixed few unit tests
> 
> 
> fixing systest and support for binding to default address
> 
> 
> fixed system tests
> 
> 
> fix default address binding and ipv6 support
> 
> 
> fix some issues regarding endpoint parsing. Also, larger segments for systest make the validation much faster
> 
> 
> added link to security wiki in doc
> 
> 
> fixing unit test after rename of ProtocolType to SecurityProtocol
> 
> 
> Following Joe's advice, added security protocol enum on client side, and modified protocol to use ID instead of string.
> 
> 
> validate producer config against enum
> 
> 
> add a second protocol for testing and modify SocketServerTests to check on multi-ports
> 
> 
> Reverted the metadata request changes and removed the explicit security protocol argument. Instead the socketserver will determine the protocol based on the port and add this to the request
> 
> 
> bump version for UpdateMetadataRequest and added support for rolling upgrades with new config
> 
> 
> following tests - fixed LeaderAndISR protocol and ZK registration for backward compatibility
> 
> 
> cleaned up some changes that were actually not necessary. hopefully making this patch slightly easier to review
> 
> 
> undoing some changes that don't belong here
> 
> 
> bring back config lost in cleanup
> 
> 
> fixes neccessary for an all non-plaintext cluster to work
> 
> 
> Diffs
> -----
> 
>   clients/src/main/java/org/apache/kafka/clients/NetworkClient.java 525b95e98010cd2053eacd8c321d079bcac2f910 
>   clients/src/main/java/org/apache/kafka/common/protocol/SecurityProtocol.java PRE-CREATION 
>   clients/src/main/java/org/apache/kafka/common/utils/Utils.java 527dd0f9c47fce7310b7a37a9b95bf87f1b9c292 
>   clients/src/test/java/org/apache/kafka/common/utils/ClientUtilsTest.java 6e37ea553f73d9c584641c48c56dbf6e62ba5f88 
>   clients/src/test/java/org/apache/kafka/common/utils/UtilsTest.java a39fab532f73148316a56c0f8e9197f38ea66f79 
>   config/server.properties b0e4496a8ca736b6abe965a430e8ce87b0e8287f 
>   core/src/main/scala/kafka/admin/AdminUtils.scala 28b12c7b89a56c113b665fbde1b95f873f8624a3 
>   core/src/main/scala/kafka/admin/TopicCommand.scala 285c0333ff43543d3e46444c1cd9374bb883bb59 
>   core/src/main/scala/kafka/api/ConsumerMetadataResponse.scala 84f60178f6ebae735c8aa3e79ed93fe21ac4aea7 
>   core/src/main/scala/kafka/api/LeaderAndIsrRequest.scala 4ff7e8f8cc695551dd5d2fe65c74f6b6c571e340 
>   core/src/main/scala/kafka/api/TopicMetadata.scala 0190076df0adf906ecd332284f222ff974b315fc 
>   core/src/main/scala/kafka/api/TopicMetadataResponse.scala 92ac4e687be22e4800199c0666bfac5e0059e5bb 
>   core/src/main/scala/kafka/api/UpdateMetadataRequest.scala 530982e36b17934b8cc5fb668075a5342e142c59 
>   core/src/main/scala/kafka/client/ClientUtils.scala ebba87f0566684c796c26cb76c64b4640a5ccfde 
>   core/src/main/scala/kafka/cluster/Broker.scala 0060add008bb3bc4b0092f2173c469fce0120be6 
>   core/src/main/scala/kafka/cluster/BrokerEndPoint.scala PRE-CREATION 
>   core/src/main/scala/kafka/cluster/EndPoint.scala PRE-CREATION 
>   core/src/main/scala/kafka/cluster/SecurityProtocol.scala PRE-CREATION 
>   core/src/main/scala/kafka/common/BrokerEndPointNotAvailableException.scala PRE-CREATION 
>   core/src/main/scala/kafka/consumer/ConsumerConfig.scala 9ebbee6c16dc83767297c729d2d74ebbd063a993 
>   core/src/main/scala/kafka/consumer/ConsumerFetcherManager.scala b9e2bea7b442a19bcebd1b350d39541a8c9dd068 
>   core/src/main/scala/kafka/consumer/ConsumerFetcherThread.scala ee6139c901082358382c5ef892281386bf6fc91b 
>   core/src/main/scala/kafka/consumer/ZookeeperConsumerConnector.scala 191a8677444e53b043e9ad6e94c5a9191c32599e 
>   core/src/main/scala/kafka/controller/ControllerChannelManager.scala eb492f00449744bc8d63f55b393e2a1659d38454 
>   core/src/main/scala/kafka/controller/KafkaController.scala 66df6d2fbdbdd556da6bea0df84f93e0472c8fbf 
>   core/src/main/scala/kafka/javaapi/ConsumerMetadataResponse.scala 1b28861cdf7dfb30fc696b54f8f8f05f730f4ece 
>   core/src/main/scala/kafka/javaapi/TopicMetadata.scala f384e04678df10a5b46a439f475c63371bf8e32b 
>   core/src/main/scala/kafka/javaapi/TopicMetadataRequest.scala b0b7be14d494ae8c87f4443b52db69d273c20316 
>   core/src/main/scala/kafka/network/BlockingChannel.scala 6e2a38eee8e568f9032f95c75fa5899e9715b433 
>   core/src/main/scala/kafka/network/RequestChannel.scala 7b1db3dbbb2c0676f166890f566c14aa248467ab 
>   core/src/main/scala/kafka/network/SocketServer.scala e451592fe358158548117f47a80e807007dd8b98 
>   core/src/main/scala/kafka/producer/ProducerPool.scala 43df70bb461dd3e385e6b20396adef3c4016a3fc 
>   core/src/main/scala/kafka/server/AbstractFetcherManager.scala 20c00cb8cc2351950edbc8cb1752905a0c26e79f 
>   core/src/main/scala/kafka/server/AbstractFetcherThread.scala 8c281d4668f92eff95a4a5df3c03c4b5b20e7095 
>   core/src/main/scala/kafka/server/KafkaApis.scala 2a1c0326b6e6966d8b8254bd6a1cb83ad98a3b80 
>   core/src/main/scala/kafka/server/KafkaConfig.scala 6e26c5436feb4629d17f199011f3ebb674aa767f 
>   core/src/main/scala/kafka/server/KafkaHealthcheck.scala 4acdd70fe9c1ee78d6510741006c2ece65450671 
>   core/src/main/scala/kafka/server/KafkaServer.scala 1bf7d10cef23a77e716666eb16bf6d0e68bc4ebe 
>   core/src/main/scala/kafka/server/MetadataCache.scala bf81a1ab88c14be8697b441eedbeb28fa0112643 
>   core/src/main/scala/kafka/server/ReplicaFetcherManager.scala 351dbbad3bdb709937943b336a5b0a9e0162a5e2 
>   core/src/main/scala/kafka/server/ReplicaFetcherThread.scala 6879e730282185bda3d6bc3659cb15af0672cecf 
>   core/src/main/scala/kafka/server/ReplicaManager.scala e58fbb922e93b0c31dff04f187fcadb4ece986d7 
>   core/src/main/scala/kafka/tools/ConsumerOffsetChecker.scala d1e7c434e77859d746b8dc68dd5d5a3740425e79 
>   core/src/main/scala/kafka/tools/ReplicaVerificationTool.scala ba6ddd7a909df79a0f7d45e8b4a2af94ea0fceb6 
>   core/src/main/scala/kafka/tools/SimpleConsumerShell.scala b4f903b6c7c3bb725cac7c05eb1f885906413c4d 
>   core/src/main/scala/kafka/tools/UpdateOffsetsInZK.scala 111c9a8b94ce45d95551482e9fd3f8c1cccbf548 
>   core/src/main/scala/kafka/utils/Utils.scala 738c1af9ef5de16fdf5130daab69757a14c48b5c 
>   core/src/main/scala/kafka/utils/ZkUtils.scala 56e3e88e0cc6d917b0ffd1254e173295c1c4aabd 
>   core/src/test/scala/integration/kafka/api/ProducerFailureHandlingTest.scala 5ec613cdb50b93bfe4477e89554dfc3768759b18 
>   core/src/test/scala/integration/kafka/api/ProducerSendTest.scala 6196060edf9f1650720ec916f88933953a1daa2c 
>   core/src/test/scala/other/kafka/TestOffsetManager.scala 41f334d48897b3027ed54c58bbf4811487d3b191 
>   core/src/test/scala/unit/kafka/KafkaConfigTest.scala 4d36b8b1173f60d43463c13c9d8c1275a84c8c28 
>   core/src/test/scala/unit/kafka/admin/AddPartitionsTest.scala 1bf2667f47853585bc33ffb3e28256ec5f24ae84 
>   core/src/test/scala/unit/kafka/api/RequestResponseSerializationTest.scala cd16ced5465d098be7a60498326b2a98c248f343 
>   core/src/test/scala/unit/kafka/cluster/BrokerTest.scala PRE-CREATION 
>   core/src/test/scala/unit/kafka/consumer/ConsumerIteratorTest.scala c0355cc0135c6af2e346b4715659353a31723b86 
>   core/src/test/scala/unit/kafka/integration/FetcherTest.scala 25845abbcad2e79f56f729e59239b738d3ddbc9d 
>   core/src/test/scala/unit/kafka/integration/TopicMetadataTest.scala 35dc071b1056e775326981573c9618d8046e601d 
>   core/src/test/scala/unit/kafka/network/SocketServerTest.scala 5f4d85254c384dcc27a5a84f0836ea225d3a901a 
>   core/src/test/scala/unit/kafka/producer/AsyncProducerTest.scala 1db6ac329f7b54e600802c8a623f80d159d4e69b 
>   core/src/test/scala/unit/kafka/producer/SyncProducerTest.scala d60d8e0f49443f4dc8bc2cad6e2f951eda28f5cb 
>   core/src/test/scala/unit/kafka/server/AdvertiseBrokerTest.scala f0c4a56b61b4f081cf4bee799c6e9c523ff45e19 
>   core/src/test/scala/unit/kafka/server/KafkaConfigTest.scala 2377abe4933e065d037828a214c3a87e1773a8ef 
>   core/src/test/scala/unit/kafka/server/LeaderElectionTest.scala c2ba07c5fdbaf0e65ca033b2e4d88f45a8a15b2e 
>   core/src/test/scala/unit/kafka/server/LogOffsetTest.scala c06ee756bf0fe07e5d3c92823a476c960b37afd6 
>   core/src/test/scala/unit/kafka/utils/TestUtils.scala 94d0028d8c4907e747aa8a74a13d719b974c97bf 
>   system_test/replication_testsuite/testcase_1/testcase_1_properties.json 0c6d7a316cc6b51ac0755ca03558507db0706c31 
>   system_test/utils/kafka_system_test_utils.py 41d511cbc310fa87e0f2cd2f772e479e8e3ae4e2 
> 
> Diff: https://reviews.apache.org/r/28769/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Gwen Shapira
> 
>


Re: Review Request 28769: Patch for KAFKA-1809

Posted by Jun Rao <ju...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/28769/#review66944
-----------------------------------------------------------


Thanks for the patch. It's a lot work! A few general comments below, in addition to the more detailed comments.

1. Formatting: add a space after comma in function signature and function calls. So instead of 
    def foo(a: A,b: B)
  use
    def foo(a: A, b: B)
    
2. In some of the files, imports can be optimized.
3. Some new files are missing the license header.
4. It seems that the client needs to know the security protocol in addition to the port. Otherwise, it doesn't know which protocol to use to establish the socket connection. So, perhaps the broker.list should now be protocol://host:port?


core/src/main/scala/kafka/client/ClientUtils.scala
<https://reviews.apache.org/r/28769/#comment110759>

    Is protocolType used?



core/src/main/scala/kafka/cluster/Broker.scala
<https://reviews.apache.org/r/28769/#comment110770>

    It would be good to document the format for both v1 and v2.
    
    Also, would it be cleaner if in v2, we remove the host/port fields and only include the endpoints field? Currently, v2 writes host/port, but doesn't use it itself. So, it's really just for backward compatibility. Since we have the "use.new.wire.protocol" config, we can let each broker register in ZK using v2 format only after that config is set to true (when all brokers are upgraded to the new binary).



core/src/main/scala/kafka/cluster/Broker.scala
<https://reviews.apache.org/r/28769/#comment110676>

    Is this used?



core/src/main/scala/kafka/cluster/Broker.scala
<https://reviews.apache.org/r/28769/#comment110689>

    Instead of converting a seq to a map, perhaps it's simpler to just do seq.find(predicate).



core/src/main/scala/kafka/cluster/EndPoint.scala
<https://reviews.apache.org/r/28769/#comment110771>

    Do we need the dot after -?



core/src/main/scala/kafka/cluster/EndPoint.scala
<https://reviews.apache.org/r/28769/#comment110772>

    Do we want to support IPV6 format of host?



core/src/main/scala/kafka/javaapi/TopicMetadataRequest.scala
<https://reviews.apache.org/r/28769/#comment110774>

    securityProtocol doesn't seem to be used here.



core/src/main/scala/kafka/network/BlockingChannel.scala
<https://reviews.apache.org/r/28769/#comment110776>

    Adding this as an error log may pollute the log if a broker is unreachable and a client keeps trying to connect to it in a certain window (e.g., a replica fetcher keeps fetching from the old leader until the new leader info is obtained from the controller).



core/src/main/scala/kafka/network/SocketServer.scala
<https://reviews.apache.org/r/28769/#comment110680>

    Should this be private?



core/src/main/scala/kafka/network/SocketServer.scala
<https://reviews.apache.org/r/28769/#comment110678>

    I think each acceptor needs its own set of processors. We probably need to change the doc for num.network.threads to indicate that it's per endpoint.



core/src/main/scala/kafka/producer/ProducerPool.scala
<https://reviews.apache.org/r/28769/#comment110777>

    Do we need to recreate the endpoint here?



core/src/main/scala/kafka/server/KafkaConfig.scala
<https://reviews.apache.org/r/28769/#comment110687>

    To make the upgrade easier, it may be useful to support the old configs in a backward compatible way. For example, if the user doesn't specify listeners, but specifies host.name and port, we can automatically set "listeners" to a single listener based on host.name and port. Ditto for advertised listeners.
    
    Also, it would be useful to verify that all ports in the listeners are unique.



core/src/main/scala/kafka/server/KafkaConfig.scala
<https://reviews.apache.org/r/28769/#comment110717>

    In KafkaApi, it seems that we assume there is at most one endpoint per protocol (since we look for endpoint by protocol). If so, it would be good to validate that at config time.



core/src/test/scala/integration/kafka/api/ProducerFailureHandlingTest.scala
<https://reviews.apache.org/r/28769/#comment110779>

    Is this change necessary?


- Jun Rao


On Jan. 6, 2015, 7:46 p.m., Gwen Shapira wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/28769/
> -----------------------------------------------------------
> 
> (Updated Jan. 6, 2015, 7:46 p.m.)
> 
> 
> Review request for kafka.
> 
> 
> Bugs: KAFKA-1809
>     https://issues.apache.org/jira/browse/KAFKA-1809
> 
> 
> Repository: kafka
> 
> 
> Description
> -------
> 
> first commit of refactoring.
> 
> 
> changed topicmetadata to include brokerendpoints and fixed few unit tests
> 
> 
> fixing systest and support for binding to default address
> 
> 
> fixed system tests
> 
> 
> fix default address binding and ipv6 support
> 
> 
> fix some issues regarding endpoint parsing. Also, larger segments for systest make the validation much faster
> 
> 
> added link to security wiki in doc
> 
> 
> fixing unit test after rename of ProtocolType to SecurityProtocol
> 
> 
> Following Joe's advice, added security protocol enum on client side, and modified protocol to use ID instead of string.
> 
> 
> validate producer config against enum
> 
> 
> add a second protocol for testing and modify SocketServerTests to check on multi-ports
> 
> 
> Reverted the metadata request changes and removed the explicit security protocol argument. Instead the socketserver will determine the protocol based on the port and add this to the request
> 
> 
> bump version for UpdateMetadataRequest and added support for rolling upgrades with new config
> 
> 
> following tests - fixed LeaderAndISR protocol and ZK registration for backward compatibility
> 
> 
> cleaned up some changes that were actually not necessary. hopefully making this patch slightly easier to review
> 
> 
> undoing some changes that don't belong here
> 
> 
> bring back config lost in cleanup
> 
> 
> fixes neccessary for an all non-plaintext cluster to work
> 
> 
> Diffs
> -----
> 
>   clients/src/main/java/org/apache/kafka/clients/NetworkClient.java 525b95e98010cd2053eacd8c321d079bcac2f910 
>   clients/src/main/java/org/apache/kafka/common/protocol/SecurityProtocol.java PRE-CREATION 
>   clients/src/main/java/org/apache/kafka/common/utils/Utils.java 527dd0f9c47fce7310b7a37a9b95bf87f1b9c292 
>   clients/src/test/java/org/apache/kafka/common/utils/ClientUtilsTest.java 6e37ea553f73d9c584641c48c56dbf6e62ba5f88 
>   clients/src/test/java/org/apache/kafka/common/utils/UtilsTest.java a39fab532f73148316a56c0f8e9197f38ea66f79 
>   config/server.properties b0e4496a8ca736b6abe965a430e8ce87b0e8287f 
>   core/src/main/scala/kafka/admin/AdminUtils.scala 28b12c7b89a56c113b665fbde1b95f873f8624a3 
>   core/src/main/scala/kafka/admin/TopicCommand.scala 285c0333ff43543d3e46444c1cd9374bb883bb59 
>   core/src/main/scala/kafka/api/ConsumerMetadataResponse.scala 84f60178f6ebae735c8aa3e79ed93fe21ac4aea7 
>   core/src/main/scala/kafka/api/LeaderAndIsrRequest.scala 4ff7e8f8cc695551dd5d2fe65c74f6b6c571e340 
>   core/src/main/scala/kafka/api/TopicMetadata.scala 0190076df0adf906ecd332284f222ff974b315fc 
>   core/src/main/scala/kafka/api/TopicMetadataResponse.scala 92ac4e687be22e4800199c0666bfac5e0059e5bb 
>   core/src/main/scala/kafka/api/UpdateMetadataRequest.scala 530982e36b17934b8cc5fb668075a5342e142c59 
>   core/src/main/scala/kafka/client/ClientUtils.scala ebba87f0566684c796c26cb76c64b4640a5ccfde 
>   core/src/main/scala/kafka/cluster/Broker.scala 0060add008bb3bc4b0092f2173c469fce0120be6 
>   core/src/main/scala/kafka/cluster/BrokerEndPoint.scala PRE-CREATION 
>   core/src/main/scala/kafka/cluster/EndPoint.scala PRE-CREATION 
>   core/src/main/scala/kafka/cluster/SecurityProtocol.scala PRE-CREATION 
>   core/src/main/scala/kafka/common/BrokerEndPointNotAvailableException.scala PRE-CREATION 
>   core/src/main/scala/kafka/consumer/ConsumerConfig.scala 9ebbee6c16dc83767297c729d2d74ebbd063a993 
>   core/src/main/scala/kafka/consumer/ConsumerFetcherManager.scala b9e2bea7b442a19bcebd1b350d39541a8c9dd068 
>   core/src/main/scala/kafka/consumer/ConsumerFetcherThread.scala ee6139c901082358382c5ef892281386bf6fc91b 
>   core/src/main/scala/kafka/consumer/ZookeeperConsumerConnector.scala 191a8677444e53b043e9ad6e94c5a9191c32599e 
>   core/src/main/scala/kafka/controller/ControllerChannelManager.scala eb492f00449744bc8d63f55b393e2a1659d38454 
>   core/src/main/scala/kafka/controller/KafkaController.scala 66df6d2fbdbdd556da6bea0df84f93e0472c8fbf 
>   core/src/main/scala/kafka/javaapi/ConsumerMetadataResponse.scala 1b28861cdf7dfb30fc696b54f8f8f05f730f4ece 
>   core/src/main/scala/kafka/javaapi/TopicMetadata.scala f384e04678df10a5b46a439f475c63371bf8e32b 
>   core/src/main/scala/kafka/javaapi/TopicMetadataRequest.scala b0b7be14d494ae8c87f4443b52db69d273c20316 
>   core/src/main/scala/kafka/network/BlockingChannel.scala 6e2a38eee8e568f9032f95c75fa5899e9715b433 
>   core/src/main/scala/kafka/network/RequestChannel.scala 7b1db3dbbb2c0676f166890f566c14aa248467ab 
>   core/src/main/scala/kafka/network/SocketServer.scala e451592fe358158548117f47a80e807007dd8b98 
>   core/src/main/scala/kafka/producer/ProducerPool.scala 43df70bb461dd3e385e6b20396adef3c4016a3fc 
>   core/src/main/scala/kafka/server/AbstractFetcherManager.scala 20c00cb8cc2351950edbc8cb1752905a0c26e79f 
>   core/src/main/scala/kafka/server/AbstractFetcherThread.scala 8c281d4668f92eff95a4a5df3c03c4b5b20e7095 
>   core/src/main/scala/kafka/server/KafkaApis.scala 2a1c0326b6e6966d8b8254bd6a1cb83ad98a3b80 
>   core/src/main/scala/kafka/server/KafkaConfig.scala 6e26c5436feb4629d17f199011f3ebb674aa767f 
>   core/src/main/scala/kafka/server/KafkaHealthcheck.scala 4acdd70fe9c1ee78d6510741006c2ece65450671 
>   core/src/main/scala/kafka/server/KafkaServer.scala 1bf7d10cef23a77e716666eb16bf6d0e68bc4ebe 
>   core/src/main/scala/kafka/server/MetadataCache.scala bf81a1ab88c14be8697b441eedbeb28fa0112643 
>   core/src/main/scala/kafka/server/ReplicaFetcherManager.scala 351dbbad3bdb709937943b336a5b0a9e0162a5e2 
>   core/src/main/scala/kafka/server/ReplicaFetcherThread.scala 6879e730282185bda3d6bc3659cb15af0672cecf 
>   core/src/main/scala/kafka/server/ReplicaManager.scala e58fbb922e93b0c31dff04f187fcadb4ece986d7 
>   core/src/main/scala/kafka/tools/ConsumerOffsetChecker.scala d1e7c434e77859d746b8dc68dd5d5a3740425e79 
>   core/src/main/scala/kafka/tools/ReplicaVerificationTool.scala ba6ddd7a909df79a0f7d45e8b4a2af94ea0fceb6 
>   core/src/main/scala/kafka/tools/SimpleConsumerShell.scala b4f903b6c7c3bb725cac7c05eb1f885906413c4d 
>   core/src/main/scala/kafka/tools/UpdateOffsetsInZK.scala 111c9a8b94ce45d95551482e9fd3f8c1cccbf548 
>   core/src/main/scala/kafka/utils/Utils.scala 738c1af9ef5de16fdf5130daab69757a14c48b5c 
>   core/src/main/scala/kafka/utils/ZkUtils.scala 56e3e88e0cc6d917b0ffd1254e173295c1c4aabd 
>   core/src/test/scala/integration/kafka/api/ProducerFailureHandlingTest.scala 5ec613cdb50b93bfe4477e89554dfc3768759b18 
>   core/src/test/scala/integration/kafka/api/ProducerSendTest.scala 6196060edf9f1650720ec916f88933953a1daa2c 
>   core/src/test/scala/other/kafka/TestOffsetManager.scala 41f334d48897b3027ed54c58bbf4811487d3b191 
>   core/src/test/scala/unit/kafka/KafkaConfigTest.scala 4d36b8b1173f60d43463c13c9d8c1275a84c8c28 
>   core/src/test/scala/unit/kafka/admin/AddPartitionsTest.scala 1bf2667f47853585bc33ffb3e28256ec5f24ae84 
>   core/src/test/scala/unit/kafka/api/RequestResponseSerializationTest.scala cd16ced5465d098be7a60498326b2a98c248f343 
>   core/src/test/scala/unit/kafka/cluster/BrokerTest.scala PRE-CREATION 
>   core/src/test/scala/unit/kafka/consumer/ConsumerIteratorTest.scala c0355cc0135c6af2e346b4715659353a31723b86 
>   core/src/test/scala/unit/kafka/integration/FetcherTest.scala 25845abbcad2e79f56f729e59239b738d3ddbc9d 
>   core/src/test/scala/unit/kafka/integration/TopicMetadataTest.scala 35dc071b1056e775326981573c9618d8046e601d 
>   core/src/test/scala/unit/kafka/network/SocketServerTest.scala 5f4d85254c384dcc27a5a84f0836ea225d3a901a 
>   core/src/test/scala/unit/kafka/producer/AsyncProducerTest.scala 1db6ac329f7b54e600802c8a623f80d159d4e69b 
>   core/src/test/scala/unit/kafka/producer/SyncProducerTest.scala d60d8e0f49443f4dc8bc2cad6e2f951eda28f5cb 
>   core/src/test/scala/unit/kafka/server/AdvertiseBrokerTest.scala f0c4a56b61b4f081cf4bee799c6e9c523ff45e19 
>   core/src/test/scala/unit/kafka/server/KafkaConfigTest.scala 2377abe4933e065d037828a214c3a87e1773a8ef 
>   core/src/test/scala/unit/kafka/server/LeaderElectionTest.scala c2ba07c5fdbaf0e65ca033b2e4d88f45a8a15b2e 
>   core/src/test/scala/unit/kafka/server/LogOffsetTest.scala c06ee756bf0fe07e5d3c92823a476c960b37afd6 
>   core/src/test/scala/unit/kafka/utils/TestUtils.scala 94d0028d8c4907e747aa8a74a13d719b974c97bf 
>   system_test/replication_testsuite/testcase_1/testcase_1_properties.json 0c6d7a316cc6b51ac0755ca03558507db0706c31 
>   system_test/utils/kafka_system_test_utils.py 41d511cbc310fa87e0f2cd2f772e479e8e3ae4e2 
> 
> Diff: https://reviews.apache.org/r/28769/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Gwen Shapira
> 
>


Re: Review Request 28769: Patch for KAFKA-1809

Posted by Jay Kreps <bo...@gmail.com>.

> On Jan. 7, 2015, 5:02 p.m., Jay Kreps wrote:
> > core/src/main/scala/kafka/cluster/Broker.scala, line 36
> > <https://reviews.apache.org/r/28769/diff/1/?file=783935#file783935line36>
> >
> >     Hey guys, I have a big concern with adding JSON to the protocol mixed in with the binary format. Can we have a broder discussion on this?
> 
> Gwen Shapira wrote:
>     Serializing/De-serializing the broker into JSON is not my cup of tea, but its not a new change in this patch. 
>     We could fix this in this patch (since we are handling the protocol bump anyway), but I'd prefer keeping the protocol bump as "unstable" for an extra week and fix it in a separate JIRA (Mostly for clarity - so each commit will do one specific thing. Also easier to rollback that way).
>     
>     Also, I may be missing some context here - is Broker the only entity that registers itself using JSON?

Okay, no I think I am confused. Basically I was trying to quickly get a check on what the change to the external protocol is, and I thought we were moving the broker definition to JSON in the topic and consumer metadata responses which aren't json, which would be weird. But now I think I was just confused. This is just for the ZK storage, right? The zk storage has always been json and should totally stay that way.


- Jay


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


On Jan. 6, 2015, 7:46 p.m., Gwen Shapira wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/28769/
> -----------------------------------------------------------
> 
> (Updated Jan. 6, 2015, 7:46 p.m.)
> 
> 
> Review request for kafka.
> 
> 
> Bugs: KAFKA-1809
>     https://issues.apache.org/jira/browse/KAFKA-1809
> 
> 
> Repository: kafka
> 
> 
> Description
> -------
> 
> first commit of refactoring.
> 
> 
> changed topicmetadata to include brokerendpoints and fixed few unit tests
> 
> 
> fixing systest and support for binding to default address
> 
> 
> fixed system tests
> 
> 
> fix default address binding and ipv6 support
> 
> 
> fix some issues regarding endpoint parsing. Also, larger segments for systest make the validation much faster
> 
> 
> added link to security wiki in doc
> 
> 
> fixing unit test after rename of ProtocolType to SecurityProtocol
> 
> 
> Following Joe's advice, added security protocol enum on client side, and modified protocol to use ID instead of string.
> 
> 
> validate producer config against enum
> 
> 
> add a second protocol for testing and modify SocketServerTests to check on multi-ports
> 
> 
> Reverted the metadata request changes and removed the explicit security protocol argument. Instead the socketserver will determine the protocol based on the port and add this to the request
> 
> 
> bump version for UpdateMetadataRequest and added support for rolling upgrades with new config
> 
> 
> following tests - fixed LeaderAndISR protocol and ZK registration for backward compatibility
> 
> 
> cleaned up some changes that were actually not necessary. hopefully making this patch slightly easier to review
> 
> 
> undoing some changes that don't belong here
> 
> 
> bring back config lost in cleanup
> 
> 
> fixes neccessary for an all non-plaintext cluster to work
> 
> 
> Diffs
> -----
> 
>   clients/src/main/java/org/apache/kafka/clients/NetworkClient.java 525b95e98010cd2053eacd8c321d079bcac2f910 
>   clients/src/main/java/org/apache/kafka/common/protocol/SecurityProtocol.java PRE-CREATION 
>   clients/src/main/java/org/apache/kafka/common/utils/Utils.java 527dd0f9c47fce7310b7a37a9b95bf87f1b9c292 
>   clients/src/test/java/org/apache/kafka/common/utils/ClientUtilsTest.java 6e37ea553f73d9c584641c48c56dbf6e62ba5f88 
>   clients/src/test/java/org/apache/kafka/common/utils/UtilsTest.java a39fab532f73148316a56c0f8e9197f38ea66f79 
>   config/server.properties b0e4496a8ca736b6abe965a430e8ce87b0e8287f 
>   core/src/main/scala/kafka/admin/AdminUtils.scala 28b12c7b89a56c113b665fbde1b95f873f8624a3 
>   core/src/main/scala/kafka/admin/TopicCommand.scala 285c0333ff43543d3e46444c1cd9374bb883bb59 
>   core/src/main/scala/kafka/api/ConsumerMetadataResponse.scala 84f60178f6ebae735c8aa3e79ed93fe21ac4aea7 
>   core/src/main/scala/kafka/api/LeaderAndIsrRequest.scala 4ff7e8f8cc695551dd5d2fe65c74f6b6c571e340 
>   core/src/main/scala/kafka/api/TopicMetadata.scala 0190076df0adf906ecd332284f222ff974b315fc 
>   core/src/main/scala/kafka/api/TopicMetadataResponse.scala 92ac4e687be22e4800199c0666bfac5e0059e5bb 
>   core/src/main/scala/kafka/api/UpdateMetadataRequest.scala 530982e36b17934b8cc5fb668075a5342e142c59 
>   core/src/main/scala/kafka/client/ClientUtils.scala ebba87f0566684c796c26cb76c64b4640a5ccfde 
>   core/src/main/scala/kafka/cluster/Broker.scala 0060add008bb3bc4b0092f2173c469fce0120be6 
>   core/src/main/scala/kafka/cluster/BrokerEndPoint.scala PRE-CREATION 
>   core/src/main/scala/kafka/cluster/EndPoint.scala PRE-CREATION 
>   core/src/main/scala/kafka/cluster/SecurityProtocol.scala PRE-CREATION 
>   core/src/main/scala/kafka/common/BrokerEndPointNotAvailableException.scala PRE-CREATION 
>   core/src/main/scala/kafka/consumer/ConsumerConfig.scala 9ebbee6c16dc83767297c729d2d74ebbd063a993 
>   core/src/main/scala/kafka/consumer/ConsumerFetcherManager.scala b9e2bea7b442a19bcebd1b350d39541a8c9dd068 
>   core/src/main/scala/kafka/consumer/ConsumerFetcherThread.scala ee6139c901082358382c5ef892281386bf6fc91b 
>   core/src/main/scala/kafka/consumer/ZookeeperConsumerConnector.scala 191a8677444e53b043e9ad6e94c5a9191c32599e 
>   core/src/main/scala/kafka/controller/ControllerChannelManager.scala eb492f00449744bc8d63f55b393e2a1659d38454 
>   core/src/main/scala/kafka/controller/KafkaController.scala 66df6d2fbdbdd556da6bea0df84f93e0472c8fbf 
>   core/src/main/scala/kafka/javaapi/ConsumerMetadataResponse.scala 1b28861cdf7dfb30fc696b54f8f8f05f730f4ece 
>   core/src/main/scala/kafka/javaapi/TopicMetadata.scala f384e04678df10a5b46a439f475c63371bf8e32b 
>   core/src/main/scala/kafka/javaapi/TopicMetadataRequest.scala b0b7be14d494ae8c87f4443b52db69d273c20316 
>   core/src/main/scala/kafka/network/BlockingChannel.scala 6e2a38eee8e568f9032f95c75fa5899e9715b433 
>   core/src/main/scala/kafka/network/RequestChannel.scala 7b1db3dbbb2c0676f166890f566c14aa248467ab 
>   core/src/main/scala/kafka/network/SocketServer.scala e451592fe358158548117f47a80e807007dd8b98 
>   core/src/main/scala/kafka/producer/ProducerPool.scala 43df70bb461dd3e385e6b20396adef3c4016a3fc 
>   core/src/main/scala/kafka/server/AbstractFetcherManager.scala 20c00cb8cc2351950edbc8cb1752905a0c26e79f 
>   core/src/main/scala/kafka/server/AbstractFetcherThread.scala 8c281d4668f92eff95a4a5df3c03c4b5b20e7095 
>   core/src/main/scala/kafka/server/KafkaApis.scala 2a1c0326b6e6966d8b8254bd6a1cb83ad98a3b80 
>   core/src/main/scala/kafka/server/KafkaConfig.scala 6e26c5436feb4629d17f199011f3ebb674aa767f 
>   core/src/main/scala/kafka/server/KafkaHealthcheck.scala 4acdd70fe9c1ee78d6510741006c2ece65450671 
>   core/src/main/scala/kafka/server/KafkaServer.scala 1bf7d10cef23a77e716666eb16bf6d0e68bc4ebe 
>   core/src/main/scala/kafka/server/MetadataCache.scala bf81a1ab88c14be8697b441eedbeb28fa0112643 
>   core/src/main/scala/kafka/server/ReplicaFetcherManager.scala 351dbbad3bdb709937943b336a5b0a9e0162a5e2 
>   core/src/main/scala/kafka/server/ReplicaFetcherThread.scala 6879e730282185bda3d6bc3659cb15af0672cecf 
>   core/src/main/scala/kafka/server/ReplicaManager.scala e58fbb922e93b0c31dff04f187fcadb4ece986d7 
>   core/src/main/scala/kafka/tools/ConsumerOffsetChecker.scala d1e7c434e77859d746b8dc68dd5d5a3740425e79 
>   core/src/main/scala/kafka/tools/ReplicaVerificationTool.scala ba6ddd7a909df79a0f7d45e8b4a2af94ea0fceb6 
>   core/src/main/scala/kafka/tools/SimpleConsumerShell.scala b4f903b6c7c3bb725cac7c05eb1f885906413c4d 
>   core/src/main/scala/kafka/tools/UpdateOffsetsInZK.scala 111c9a8b94ce45d95551482e9fd3f8c1cccbf548 
>   core/src/main/scala/kafka/utils/Utils.scala 738c1af9ef5de16fdf5130daab69757a14c48b5c 
>   core/src/main/scala/kafka/utils/ZkUtils.scala 56e3e88e0cc6d917b0ffd1254e173295c1c4aabd 
>   core/src/test/scala/integration/kafka/api/ProducerFailureHandlingTest.scala 5ec613cdb50b93bfe4477e89554dfc3768759b18 
>   core/src/test/scala/integration/kafka/api/ProducerSendTest.scala 6196060edf9f1650720ec916f88933953a1daa2c 
>   core/src/test/scala/other/kafka/TestOffsetManager.scala 41f334d48897b3027ed54c58bbf4811487d3b191 
>   core/src/test/scala/unit/kafka/KafkaConfigTest.scala 4d36b8b1173f60d43463c13c9d8c1275a84c8c28 
>   core/src/test/scala/unit/kafka/admin/AddPartitionsTest.scala 1bf2667f47853585bc33ffb3e28256ec5f24ae84 
>   core/src/test/scala/unit/kafka/api/RequestResponseSerializationTest.scala cd16ced5465d098be7a60498326b2a98c248f343 
>   core/src/test/scala/unit/kafka/cluster/BrokerTest.scala PRE-CREATION 
>   core/src/test/scala/unit/kafka/consumer/ConsumerIteratorTest.scala c0355cc0135c6af2e346b4715659353a31723b86 
>   core/src/test/scala/unit/kafka/integration/FetcherTest.scala 25845abbcad2e79f56f729e59239b738d3ddbc9d 
>   core/src/test/scala/unit/kafka/integration/TopicMetadataTest.scala 35dc071b1056e775326981573c9618d8046e601d 
>   core/src/test/scala/unit/kafka/network/SocketServerTest.scala 5f4d85254c384dcc27a5a84f0836ea225d3a901a 
>   core/src/test/scala/unit/kafka/producer/AsyncProducerTest.scala 1db6ac329f7b54e600802c8a623f80d159d4e69b 
>   core/src/test/scala/unit/kafka/producer/SyncProducerTest.scala d60d8e0f49443f4dc8bc2cad6e2f951eda28f5cb 
>   core/src/test/scala/unit/kafka/server/AdvertiseBrokerTest.scala f0c4a56b61b4f081cf4bee799c6e9c523ff45e19 
>   core/src/test/scala/unit/kafka/server/KafkaConfigTest.scala 2377abe4933e065d037828a214c3a87e1773a8ef 
>   core/src/test/scala/unit/kafka/server/LeaderElectionTest.scala c2ba07c5fdbaf0e65ca033b2e4d88f45a8a15b2e 
>   core/src/test/scala/unit/kafka/server/LogOffsetTest.scala c06ee756bf0fe07e5d3c92823a476c960b37afd6 
>   core/src/test/scala/unit/kafka/utils/TestUtils.scala 94d0028d8c4907e747aa8a74a13d719b974c97bf 
>   system_test/replication_testsuite/testcase_1/testcase_1_properties.json 0c6d7a316cc6b51ac0755ca03558507db0706c31 
>   system_test/utils/kafka_system_test_utils.py 41d511cbc310fa87e0f2cd2f772e479e8e3ae4e2 
> 
> Diff: https://reviews.apache.org/r/28769/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Gwen Shapira
> 
>


Re: Review Request 28769: Patch for KAFKA-1809

Posted by Gwen Shapira <gs...@cloudera.com>.

> On Jan. 7, 2015, 5:02 p.m., Jay Kreps wrote:
> > core/src/main/scala/kafka/cluster/Broker.scala, line 36
> > <https://reviews.apache.org/r/28769/diff/1/?file=783935#file783935line36>
> >
> >     Hey guys, I have a big concern with adding JSON to the protocol mixed in with the binary format. Can we have a broder discussion on this?

Serializing/De-serializing the broker into JSON is not my cup of tea, but its not a new change in this patch. 
We could fix this in this patch (since we are handling the protocol bump anyway), but I'd prefer keeping the protocol bump as "unstable" for an extra week and fix it in a separate JIRA (Mostly for clarity - so each commit will do one specific thing. Also easier to rollback that way).

Also, I may be missing some context here - is Broker the only entity that registers itself using JSON?


- Gwen


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


On Jan. 6, 2015, 7:46 p.m., Gwen Shapira wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/28769/
> -----------------------------------------------------------
> 
> (Updated Jan. 6, 2015, 7:46 p.m.)
> 
> 
> Review request for kafka.
> 
> 
> Bugs: KAFKA-1809
>     https://issues.apache.org/jira/browse/KAFKA-1809
> 
> 
> Repository: kafka
> 
> 
> Description
> -------
> 
> first commit of refactoring.
> 
> 
> changed topicmetadata to include brokerendpoints and fixed few unit tests
> 
> 
> fixing systest and support for binding to default address
> 
> 
> fixed system tests
> 
> 
> fix default address binding and ipv6 support
> 
> 
> fix some issues regarding endpoint parsing. Also, larger segments for systest make the validation much faster
> 
> 
> added link to security wiki in doc
> 
> 
> fixing unit test after rename of ProtocolType to SecurityProtocol
> 
> 
> Following Joe's advice, added security protocol enum on client side, and modified protocol to use ID instead of string.
> 
> 
> validate producer config against enum
> 
> 
> add a second protocol for testing and modify SocketServerTests to check on multi-ports
> 
> 
> Reverted the metadata request changes and removed the explicit security protocol argument. Instead the socketserver will determine the protocol based on the port and add this to the request
> 
> 
> bump version for UpdateMetadataRequest and added support for rolling upgrades with new config
> 
> 
> following tests - fixed LeaderAndISR protocol and ZK registration for backward compatibility
> 
> 
> cleaned up some changes that were actually not necessary. hopefully making this patch slightly easier to review
> 
> 
> undoing some changes that don't belong here
> 
> 
> bring back config lost in cleanup
> 
> 
> fixes neccessary for an all non-plaintext cluster to work
> 
> 
> Diffs
> -----
> 
>   clients/src/main/java/org/apache/kafka/clients/NetworkClient.java 525b95e98010cd2053eacd8c321d079bcac2f910 
>   clients/src/main/java/org/apache/kafka/common/protocol/SecurityProtocol.java PRE-CREATION 
>   clients/src/main/java/org/apache/kafka/common/utils/Utils.java 527dd0f9c47fce7310b7a37a9b95bf87f1b9c292 
>   clients/src/test/java/org/apache/kafka/common/utils/ClientUtilsTest.java 6e37ea553f73d9c584641c48c56dbf6e62ba5f88 
>   clients/src/test/java/org/apache/kafka/common/utils/UtilsTest.java a39fab532f73148316a56c0f8e9197f38ea66f79 
>   config/server.properties b0e4496a8ca736b6abe965a430e8ce87b0e8287f 
>   core/src/main/scala/kafka/admin/AdminUtils.scala 28b12c7b89a56c113b665fbde1b95f873f8624a3 
>   core/src/main/scala/kafka/admin/TopicCommand.scala 285c0333ff43543d3e46444c1cd9374bb883bb59 
>   core/src/main/scala/kafka/api/ConsumerMetadataResponse.scala 84f60178f6ebae735c8aa3e79ed93fe21ac4aea7 
>   core/src/main/scala/kafka/api/LeaderAndIsrRequest.scala 4ff7e8f8cc695551dd5d2fe65c74f6b6c571e340 
>   core/src/main/scala/kafka/api/TopicMetadata.scala 0190076df0adf906ecd332284f222ff974b315fc 
>   core/src/main/scala/kafka/api/TopicMetadataResponse.scala 92ac4e687be22e4800199c0666bfac5e0059e5bb 
>   core/src/main/scala/kafka/api/UpdateMetadataRequest.scala 530982e36b17934b8cc5fb668075a5342e142c59 
>   core/src/main/scala/kafka/client/ClientUtils.scala ebba87f0566684c796c26cb76c64b4640a5ccfde 
>   core/src/main/scala/kafka/cluster/Broker.scala 0060add008bb3bc4b0092f2173c469fce0120be6 
>   core/src/main/scala/kafka/cluster/BrokerEndPoint.scala PRE-CREATION 
>   core/src/main/scala/kafka/cluster/EndPoint.scala PRE-CREATION 
>   core/src/main/scala/kafka/cluster/SecurityProtocol.scala PRE-CREATION 
>   core/src/main/scala/kafka/common/BrokerEndPointNotAvailableException.scala PRE-CREATION 
>   core/src/main/scala/kafka/consumer/ConsumerConfig.scala 9ebbee6c16dc83767297c729d2d74ebbd063a993 
>   core/src/main/scala/kafka/consumer/ConsumerFetcherManager.scala b9e2bea7b442a19bcebd1b350d39541a8c9dd068 
>   core/src/main/scala/kafka/consumer/ConsumerFetcherThread.scala ee6139c901082358382c5ef892281386bf6fc91b 
>   core/src/main/scala/kafka/consumer/ZookeeperConsumerConnector.scala 191a8677444e53b043e9ad6e94c5a9191c32599e 
>   core/src/main/scala/kafka/controller/ControllerChannelManager.scala eb492f00449744bc8d63f55b393e2a1659d38454 
>   core/src/main/scala/kafka/controller/KafkaController.scala 66df6d2fbdbdd556da6bea0df84f93e0472c8fbf 
>   core/src/main/scala/kafka/javaapi/ConsumerMetadataResponse.scala 1b28861cdf7dfb30fc696b54f8f8f05f730f4ece 
>   core/src/main/scala/kafka/javaapi/TopicMetadata.scala f384e04678df10a5b46a439f475c63371bf8e32b 
>   core/src/main/scala/kafka/javaapi/TopicMetadataRequest.scala b0b7be14d494ae8c87f4443b52db69d273c20316 
>   core/src/main/scala/kafka/network/BlockingChannel.scala 6e2a38eee8e568f9032f95c75fa5899e9715b433 
>   core/src/main/scala/kafka/network/RequestChannel.scala 7b1db3dbbb2c0676f166890f566c14aa248467ab 
>   core/src/main/scala/kafka/network/SocketServer.scala e451592fe358158548117f47a80e807007dd8b98 
>   core/src/main/scala/kafka/producer/ProducerPool.scala 43df70bb461dd3e385e6b20396adef3c4016a3fc 
>   core/src/main/scala/kafka/server/AbstractFetcherManager.scala 20c00cb8cc2351950edbc8cb1752905a0c26e79f 
>   core/src/main/scala/kafka/server/AbstractFetcherThread.scala 8c281d4668f92eff95a4a5df3c03c4b5b20e7095 
>   core/src/main/scala/kafka/server/KafkaApis.scala 2a1c0326b6e6966d8b8254bd6a1cb83ad98a3b80 
>   core/src/main/scala/kafka/server/KafkaConfig.scala 6e26c5436feb4629d17f199011f3ebb674aa767f 
>   core/src/main/scala/kafka/server/KafkaHealthcheck.scala 4acdd70fe9c1ee78d6510741006c2ece65450671 
>   core/src/main/scala/kafka/server/KafkaServer.scala 1bf7d10cef23a77e716666eb16bf6d0e68bc4ebe 
>   core/src/main/scala/kafka/server/MetadataCache.scala bf81a1ab88c14be8697b441eedbeb28fa0112643 
>   core/src/main/scala/kafka/server/ReplicaFetcherManager.scala 351dbbad3bdb709937943b336a5b0a9e0162a5e2 
>   core/src/main/scala/kafka/server/ReplicaFetcherThread.scala 6879e730282185bda3d6bc3659cb15af0672cecf 
>   core/src/main/scala/kafka/server/ReplicaManager.scala e58fbb922e93b0c31dff04f187fcadb4ece986d7 
>   core/src/main/scala/kafka/tools/ConsumerOffsetChecker.scala d1e7c434e77859d746b8dc68dd5d5a3740425e79 
>   core/src/main/scala/kafka/tools/ReplicaVerificationTool.scala ba6ddd7a909df79a0f7d45e8b4a2af94ea0fceb6 
>   core/src/main/scala/kafka/tools/SimpleConsumerShell.scala b4f903b6c7c3bb725cac7c05eb1f885906413c4d 
>   core/src/main/scala/kafka/tools/UpdateOffsetsInZK.scala 111c9a8b94ce45d95551482e9fd3f8c1cccbf548 
>   core/src/main/scala/kafka/utils/Utils.scala 738c1af9ef5de16fdf5130daab69757a14c48b5c 
>   core/src/main/scala/kafka/utils/ZkUtils.scala 56e3e88e0cc6d917b0ffd1254e173295c1c4aabd 
>   core/src/test/scala/integration/kafka/api/ProducerFailureHandlingTest.scala 5ec613cdb50b93bfe4477e89554dfc3768759b18 
>   core/src/test/scala/integration/kafka/api/ProducerSendTest.scala 6196060edf9f1650720ec916f88933953a1daa2c 
>   core/src/test/scala/other/kafka/TestOffsetManager.scala 41f334d48897b3027ed54c58bbf4811487d3b191 
>   core/src/test/scala/unit/kafka/KafkaConfigTest.scala 4d36b8b1173f60d43463c13c9d8c1275a84c8c28 
>   core/src/test/scala/unit/kafka/admin/AddPartitionsTest.scala 1bf2667f47853585bc33ffb3e28256ec5f24ae84 
>   core/src/test/scala/unit/kafka/api/RequestResponseSerializationTest.scala cd16ced5465d098be7a60498326b2a98c248f343 
>   core/src/test/scala/unit/kafka/cluster/BrokerTest.scala PRE-CREATION 
>   core/src/test/scala/unit/kafka/consumer/ConsumerIteratorTest.scala c0355cc0135c6af2e346b4715659353a31723b86 
>   core/src/test/scala/unit/kafka/integration/FetcherTest.scala 25845abbcad2e79f56f729e59239b738d3ddbc9d 
>   core/src/test/scala/unit/kafka/integration/TopicMetadataTest.scala 35dc071b1056e775326981573c9618d8046e601d 
>   core/src/test/scala/unit/kafka/network/SocketServerTest.scala 5f4d85254c384dcc27a5a84f0836ea225d3a901a 
>   core/src/test/scala/unit/kafka/producer/AsyncProducerTest.scala 1db6ac329f7b54e600802c8a623f80d159d4e69b 
>   core/src/test/scala/unit/kafka/producer/SyncProducerTest.scala d60d8e0f49443f4dc8bc2cad6e2f951eda28f5cb 
>   core/src/test/scala/unit/kafka/server/AdvertiseBrokerTest.scala f0c4a56b61b4f081cf4bee799c6e9c523ff45e19 
>   core/src/test/scala/unit/kafka/server/KafkaConfigTest.scala 2377abe4933e065d037828a214c3a87e1773a8ef 
>   core/src/test/scala/unit/kafka/server/LeaderElectionTest.scala c2ba07c5fdbaf0e65ca033b2e4d88f45a8a15b2e 
>   core/src/test/scala/unit/kafka/server/LogOffsetTest.scala c06ee756bf0fe07e5d3c92823a476c960b37afd6 
>   core/src/test/scala/unit/kafka/utils/TestUtils.scala 94d0028d8c4907e747aa8a74a13d719b974c97bf 
>   system_test/replication_testsuite/testcase_1/testcase_1_properties.json 0c6d7a316cc6b51ac0755ca03558507db0706c31 
>   system_test/utils/kafka_system_test_utils.py 41d511cbc310fa87e0f2cd2f772e479e8e3ae4e2 
> 
> Diff: https://reviews.apache.org/r/28769/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Gwen Shapira
> 
>


Re: Review Request 28769: Patch for KAFKA-1809

Posted by Gwen Shapira <gs...@cloudera.com>.

> On Jan. 7, 2015, 5:02 p.m., Jay Kreps wrote:
> > core/src/main/scala/kafka/cluster/Broker.scala, line 36
> > <https://reviews.apache.org/r/28769/diff/1/?file=783935#file783935line36>
> >
> >     Hey guys, I have a big concern with adding JSON to the protocol mixed in with the binary format. Can we have a broder discussion on this?
> 
> Gwen Shapira wrote:
>     Serializing/De-serializing the broker into JSON is not my cup of tea, but its not a new change in this patch. 
>     We could fix this in this patch (since we are handling the protocol bump anyway), but I'd prefer keeping the protocol bump as "unstable" for an extra week and fix it in a separate JIRA (Mostly for clarity - so each commit will do one specific thing. Also easier to rollback that way).
>     
>     Also, I may be missing some context here - is Broker the only entity that registers itself using JSON?
> 
> Jay Kreps wrote:
>     Okay, no I think I am confused. Basically I was trying to quickly get a check on what the change to the external protocol is, and I thought we were moving the broker definition to JSON in the topic and consumer metadata responses which aren't json, which would be weird. But now I think I was just confused. This is just for the ZK storage, right? The zk storage has always been json and should totally stay that way.

got it :)

The JSON in just for the ZK storage. Wire protocol is still the usual serialization of shorts and strings to bytes. 
Broker is ID + number of endpoints + endpoints, and each endpoint is host + port + protocol.

I see now that I'm serializing the protocol to string, but it should be to short. I'll fix this bit.


- Gwen


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


On Jan. 6, 2015, 7:46 p.m., Gwen Shapira wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/28769/
> -----------------------------------------------------------
> 
> (Updated Jan. 6, 2015, 7:46 p.m.)
> 
> 
> Review request for kafka.
> 
> 
> Bugs: KAFKA-1809
>     https://issues.apache.org/jira/browse/KAFKA-1809
> 
> 
> Repository: kafka
> 
> 
> Description
> -------
> 
> first commit of refactoring.
> 
> 
> changed topicmetadata to include brokerendpoints and fixed few unit tests
> 
> 
> fixing systest and support for binding to default address
> 
> 
> fixed system tests
> 
> 
> fix default address binding and ipv6 support
> 
> 
> fix some issues regarding endpoint parsing. Also, larger segments for systest make the validation much faster
> 
> 
> added link to security wiki in doc
> 
> 
> fixing unit test after rename of ProtocolType to SecurityProtocol
> 
> 
> Following Joe's advice, added security protocol enum on client side, and modified protocol to use ID instead of string.
> 
> 
> validate producer config against enum
> 
> 
> add a second protocol for testing and modify SocketServerTests to check on multi-ports
> 
> 
> Reverted the metadata request changes and removed the explicit security protocol argument. Instead the socketserver will determine the protocol based on the port and add this to the request
> 
> 
> bump version for UpdateMetadataRequest and added support for rolling upgrades with new config
> 
> 
> following tests - fixed LeaderAndISR protocol and ZK registration for backward compatibility
> 
> 
> cleaned up some changes that were actually not necessary. hopefully making this patch slightly easier to review
> 
> 
> undoing some changes that don't belong here
> 
> 
> bring back config lost in cleanup
> 
> 
> fixes neccessary for an all non-plaintext cluster to work
> 
> 
> Diffs
> -----
> 
>   clients/src/main/java/org/apache/kafka/clients/NetworkClient.java 525b95e98010cd2053eacd8c321d079bcac2f910 
>   clients/src/main/java/org/apache/kafka/common/protocol/SecurityProtocol.java PRE-CREATION 
>   clients/src/main/java/org/apache/kafka/common/utils/Utils.java 527dd0f9c47fce7310b7a37a9b95bf87f1b9c292 
>   clients/src/test/java/org/apache/kafka/common/utils/ClientUtilsTest.java 6e37ea553f73d9c584641c48c56dbf6e62ba5f88 
>   clients/src/test/java/org/apache/kafka/common/utils/UtilsTest.java a39fab532f73148316a56c0f8e9197f38ea66f79 
>   config/server.properties b0e4496a8ca736b6abe965a430e8ce87b0e8287f 
>   core/src/main/scala/kafka/admin/AdminUtils.scala 28b12c7b89a56c113b665fbde1b95f873f8624a3 
>   core/src/main/scala/kafka/admin/TopicCommand.scala 285c0333ff43543d3e46444c1cd9374bb883bb59 
>   core/src/main/scala/kafka/api/ConsumerMetadataResponse.scala 84f60178f6ebae735c8aa3e79ed93fe21ac4aea7 
>   core/src/main/scala/kafka/api/LeaderAndIsrRequest.scala 4ff7e8f8cc695551dd5d2fe65c74f6b6c571e340 
>   core/src/main/scala/kafka/api/TopicMetadata.scala 0190076df0adf906ecd332284f222ff974b315fc 
>   core/src/main/scala/kafka/api/TopicMetadataResponse.scala 92ac4e687be22e4800199c0666bfac5e0059e5bb 
>   core/src/main/scala/kafka/api/UpdateMetadataRequest.scala 530982e36b17934b8cc5fb668075a5342e142c59 
>   core/src/main/scala/kafka/client/ClientUtils.scala ebba87f0566684c796c26cb76c64b4640a5ccfde 
>   core/src/main/scala/kafka/cluster/Broker.scala 0060add008bb3bc4b0092f2173c469fce0120be6 
>   core/src/main/scala/kafka/cluster/BrokerEndPoint.scala PRE-CREATION 
>   core/src/main/scala/kafka/cluster/EndPoint.scala PRE-CREATION 
>   core/src/main/scala/kafka/cluster/SecurityProtocol.scala PRE-CREATION 
>   core/src/main/scala/kafka/common/BrokerEndPointNotAvailableException.scala PRE-CREATION 
>   core/src/main/scala/kafka/consumer/ConsumerConfig.scala 9ebbee6c16dc83767297c729d2d74ebbd063a993 
>   core/src/main/scala/kafka/consumer/ConsumerFetcherManager.scala b9e2bea7b442a19bcebd1b350d39541a8c9dd068 
>   core/src/main/scala/kafka/consumer/ConsumerFetcherThread.scala ee6139c901082358382c5ef892281386bf6fc91b 
>   core/src/main/scala/kafka/consumer/ZookeeperConsumerConnector.scala 191a8677444e53b043e9ad6e94c5a9191c32599e 
>   core/src/main/scala/kafka/controller/ControllerChannelManager.scala eb492f00449744bc8d63f55b393e2a1659d38454 
>   core/src/main/scala/kafka/controller/KafkaController.scala 66df6d2fbdbdd556da6bea0df84f93e0472c8fbf 
>   core/src/main/scala/kafka/javaapi/ConsumerMetadataResponse.scala 1b28861cdf7dfb30fc696b54f8f8f05f730f4ece 
>   core/src/main/scala/kafka/javaapi/TopicMetadata.scala f384e04678df10a5b46a439f475c63371bf8e32b 
>   core/src/main/scala/kafka/javaapi/TopicMetadataRequest.scala b0b7be14d494ae8c87f4443b52db69d273c20316 
>   core/src/main/scala/kafka/network/BlockingChannel.scala 6e2a38eee8e568f9032f95c75fa5899e9715b433 
>   core/src/main/scala/kafka/network/RequestChannel.scala 7b1db3dbbb2c0676f166890f566c14aa248467ab 
>   core/src/main/scala/kafka/network/SocketServer.scala e451592fe358158548117f47a80e807007dd8b98 
>   core/src/main/scala/kafka/producer/ProducerPool.scala 43df70bb461dd3e385e6b20396adef3c4016a3fc 
>   core/src/main/scala/kafka/server/AbstractFetcherManager.scala 20c00cb8cc2351950edbc8cb1752905a0c26e79f 
>   core/src/main/scala/kafka/server/AbstractFetcherThread.scala 8c281d4668f92eff95a4a5df3c03c4b5b20e7095 
>   core/src/main/scala/kafka/server/KafkaApis.scala 2a1c0326b6e6966d8b8254bd6a1cb83ad98a3b80 
>   core/src/main/scala/kafka/server/KafkaConfig.scala 6e26c5436feb4629d17f199011f3ebb674aa767f 
>   core/src/main/scala/kafka/server/KafkaHealthcheck.scala 4acdd70fe9c1ee78d6510741006c2ece65450671 
>   core/src/main/scala/kafka/server/KafkaServer.scala 1bf7d10cef23a77e716666eb16bf6d0e68bc4ebe 
>   core/src/main/scala/kafka/server/MetadataCache.scala bf81a1ab88c14be8697b441eedbeb28fa0112643 
>   core/src/main/scala/kafka/server/ReplicaFetcherManager.scala 351dbbad3bdb709937943b336a5b0a9e0162a5e2 
>   core/src/main/scala/kafka/server/ReplicaFetcherThread.scala 6879e730282185bda3d6bc3659cb15af0672cecf 
>   core/src/main/scala/kafka/server/ReplicaManager.scala e58fbb922e93b0c31dff04f187fcadb4ece986d7 
>   core/src/main/scala/kafka/tools/ConsumerOffsetChecker.scala d1e7c434e77859d746b8dc68dd5d5a3740425e79 
>   core/src/main/scala/kafka/tools/ReplicaVerificationTool.scala ba6ddd7a909df79a0f7d45e8b4a2af94ea0fceb6 
>   core/src/main/scala/kafka/tools/SimpleConsumerShell.scala b4f903b6c7c3bb725cac7c05eb1f885906413c4d 
>   core/src/main/scala/kafka/tools/UpdateOffsetsInZK.scala 111c9a8b94ce45d95551482e9fd3f8c1cccbf548 
>   core/src/main/scala/kafka/utils/Utils.scala 738c1af9ef5de16fdf5130daab69757a14c48b5c 
>   core/src/main/scala/kafka/utils/ZkUtils.scala 56e3e88e0cc6d917b0ffd1254e173295c1c4aabd 
>   core/src/test/scala/integration/kafka/api/ProducerFailureHandlingTest.scala 5ec613cdb50b93bfe4477e89554dfc3768759b18 
>   core/src/test/scala/integration/kafka/api/ProducerSendTest.scala 6196060edf9f1650720ec916f88933953a1daa2c 
>   core/src/test/scala/other/kafka/TestOffsetManager.scala 41f334d48897b3027ed54c58bbf4811487d3b191 
>   core/src/test/scala/unit/kafka/KafkaConfigTest.scala 4d36b8b1173f60d43463c13c9d8c1275a84c8c28 
>   core/src/test/scala/unit/kafka/admin/AddPartitionsTest.scala 1bf2667f47853585bc33ffb3e28256ec5f24ae84 
>   core/src/test/scala/unit/kafka/api/RequestResponseSerializationTest.scala cd16ced5465d098be7a60498326b2a98c248f343 
>   core/src/test/scala/unit/kafka/cluster/BrokerTest.scala PRE-CREATION 
>   core/src/test/scala/unit/kafka/consumer/ConsumerIteratorTest.scala c0355cc0135c6af2e346b4715659353a31723b86 
>   core/src/test/scala/unit/kafka/integration/FetcherTest.scala 25845abbcad2e79f56f729e59239b738d3ddbc9d 
>   core/src/test/scala/unit/kafka/integration/TopicMetadataTest.scala 35dc071b1056e775326981573c9618d8046e601d 
>   core/src/test/scala/unit/kafka/network/SocketServerTest.scala 5f4d85254c384dcc27a5a84f0836ea225d3a901a 
>   core/src/test/scala/unit/kafka/producer/AsyncProducerTest.scala 1db6ac329f7b54e600802c8a623f80d159d4e69b 
>   core/src/test/scala/unit/kafka/producer/SyncProducerTest.scala d60d8e0f49443f4dc8bc2cad6e2f951eda28f5cb 
>   core/src/test/scala/unit/kafka/server/AdvertiseBrokerTest.scala f0c4a56b61b4f081cf4bee799c6e9c523ff45e19 
>   core/src/test/scala/unit/kafka/server/KafkaConfigTest.scala 2377abe4933e065d037828a214c3a87e1773a8ef 
>   core/src/test/scala/unit/kafka/server/LeaderElectionTest.scala c2ba07c5fdbaf0e65ca033b2e4d88f45a8a15b2e 
>   core/src/test/scala/unit/kafka/server/LogOffsetTest.scala c06ee756bf0fe07e5d3c92823a476c960b37afd6 
>   core/src/test/scala/unit/kafka/utils/TestUtils.scala 94d0028d8c4907e747aa8a74a13d719b974c97bf 
>   system_test/replication_testsuite/testcase_1/testcase_1_properties.json 0c6d7a316cc6b51ac0755ca03558507db0706c31 
>   system_test/utils/kafka_system_test_utils.py 41d511cbc310fa87e0f2cd2f772e479e8e3ae4e2 
> 
> Diff: https://reviews.apache.org/r/28769/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Gwen Shapira
> 
>


Re: Review Request 28769: Patch for KAFKA-1809

Posted by Jay Kreps <bo...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/28769/#review67040
-----------------------------------------------------------



core/src/main/scala/kafka/cluster/Broker.scala
<https://reviews.apache.org/r/28769/#comment110865>

    Hey guys, I have a big concern with adding JSON to the protocol mixed in with the binary format. Can we have a broder discussion on this?


- Jay Kreps


On Jan. 6, 2015, 7:46 p.m., Gwen Shapira wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/28769/
> -----------------------------------------------------------
> 
> (Updated Jan. 6, 2015, 7:46 p.m.)
> 
> 
> Review request for kafka.
> 
> 
> Bugs: KAFKA-1809
>     https://issues.apache.org/jira/browse/KAFKA-1809
> 
> 
> Repository: kafka
> 
> 
> Description
> -------
> 
> first commit of refactoring.
> 
> 
> changed topicmetadata to include brokerendpoints and fixed few unit tests
> 
> 
> fixing systest and support for binding to default address
> 
> 
> fixed system tests
> 
> 
> fix default address binding and ipv6 support
> 
> 
> fix some issues regarding endpoint parsing. Also, larger segments for systest make the validation much faster
> 
> 
> added link to security wiki in doc
> 
> 
> fixing unit test after rename of ProtocolType to SecurityProtocol
> 
> 
> Following Joe's advice, added security protocol enum on client side, and modified protocol to use ID instead of string.
> 
> 
> validate producer config against enum
> 
> 
> add a second protocol for testing and modify SocketServerTests to check on multi-ports
> 
> 
> Reverted the metadata request changes and removed the explicit security protocol argument. Instead the socketserver will determine the protocol based on the port and add this to the request
> 
> 
> bump version for UpdateMetadataRequest and added support for rolling upgrades with new config
> 
> 
> following tests - fixed LeaderAndISR protocol and ZK registration for backward compatibility
> 
> 
> cleaned up some changes that were actually not necessary. hopefully making this patch slightly easier to review
> 
> 
> undoing some changes that don't belong here
> 
> 
> bring back config lost in cleanup
> 
> 
> fixes neccessary for an all non-plaintext cluster to work
> 
> 
> Diffs
> -----
> 
>   clients/src/main/java/org/apache/kafka/clients/NetworkClient.java 525b95e98010cd2053eacd8c321d079bcac2f910 
>   clients/src/main/java/org/apache/kafka/common/protocol/SecurityProtocol.java PRE-CREATION 
>   clients/src/main/java/org/apache/kafka/common/utils/Utils.java 527dd0f9c47fce7310b7a37a9b95bf87f1b9c292 
>   clients/src/test/java/org/apache/kafka/common/utils/ClientUtilsTest.java 6e37ea553f73d9c584641c48c56dbf6e62ba5f88 
>   clients/src/test/java/org/apache/kafka/common/utils/UtilsTest.java a39fab532f73148316a56c0f8e9197f38ea66f79 
>   config/server.properties b0e4496a8ca736b6abe965a430e8ce87b0e8287f 
>   core/src/main/scala/kafka/admin/AdminUtils.scala 28b12c7b89a56c113b665fbde1b95f873f8624a3 
>   core/src/main/scala/kafka/admin/TopicCommand.scala 285c0333ff43543d3e46444c1cd9374bb883bb59 
>   core/src/main/scala/kafka/api/ConsumerMetadataResponse.scala 84f60178f6ebae735c8aa3e79ed93fe21ac4aea7 
>   core/src/main/scala/kafka/api/LeaderAndIsrRequest.scala 4ff7e8f8cc695551dd5d2fe65c74f6b6c571e340 
>   core/src/main/scala/kafka/api/TopicMetadata.scala 0190076df0adf906ecd332284f222ff974b315fc 
>   core/src/main/scala/kafka/api/TopicMetadataResponse.scala 92ac4e687be22e4800199c0666bfac5e0059e5bb 
>   core/src/main/scala/kafka/api/UpdateMetadataRequest.scala 530982e36b17934b8cc5fb668075a5342e142c59 
>   core/src/main/scala/kafka/client/ClientUtils.scala ebba87f0566684c796c26cb76c64b4640a5ccfde 
>   core/src/main/scala/kafka/cluster/Broker.scala 0060add008bb3bc4b0092f2173c469fce0120be6 
>   core/src/main/scala/kafka/cluster/BrokerEndPoint.scala PRE-CREATION 
>   core/src/main/scala/kafka/cluster/EndPoint.scala PRE-CREATION 
>   core/src/main/scala/kafka/cluster/SecurityProtocol.scala PRE-CREATION 
>   core/src/main/scala/kafka/common/BrokerEndPointNotAvailableException.scala PRE-CREATION 
>   core/src/main/scala/kafka/consumer/ConsumerConfig.scala 9ebbee6c16dc83767297c729d2d74ebbd063a993 
>   core/src/main/scala/kafka/consumer/ConsumerFetcherManager.scala b9e2bea7b442a19bcebd1b350d39541a8c9dd068 
>   core/src/main/scala/kafka/consumer/ConsumerFetcherThread.scala ee6139c901082358382c5ef892281386bf6fc91b 
>   core/src/main/scala/kafka/consumer/ZookeeperConsumerConnector.scala 191a8677444e53b043e9ad6e94c5a9191c32599e 
>   core/src/main/scala/kafka/controller/ControllerChannelManager.scala eb492f00449744bc8d63f55b393e2a1659d38454 
>   core/src/main/scala/kafka/controller/KafkaController.scala 66df6d2fbdbdd556da6bea0df84f93e0472c8fbf 
>   core/src/main/scala/kafka/javaapi/ConsumerMetadataResponse.scala 1b28861cdf7dfb30fc696b54f8f8f05f730f4ece 
>   core/src/main/scala/kafka/javaapi/TopicMetadata.scala f384e04678df10a5b46a439f475c63371bf8e32b 
>   core/src/main/scala/kafka/javaapi/TopicMetadataRequest.scala b0b7be14d494ae8c87f4443b52db69d273c20316 
>   core/src/main/scala/kafka/network/BlockingChannel.scala 6e2a38eee8e568f9032f95c75fa5899e9715b433 
>   core/src/main/scala/kafka/network/RequestChannel.scala 7b1db3dbbb2c0676f166890f566c14aa248467ab 
>   core/src/main/scala/kafka/network/SocketServer.scala e451592fe358158548117f47a80e807007dd8b98 
>   core/src/main/scala/kafka/producer/ProducerPool.scala 43df70bb461dd3e385e6b20396adef3c4016a3fc 
>   core/src/main/scala/kafka/server/AbstractFetcherManager.scala 20c00cb8cc2351950edbc8cb1752905a0c26e79f 
>   core/src/main/scala/kafka/server/AbstractFetcherThread.scala 8c281d4668f92eff95a4a5df3c03c4b5b20e7095 
>   core/src/main/scala/kafka/server/KafkaApis.scala 2a1c0326b6e6966d8b8254bd6a1cb83ad98a3b80 
>   core/src/main/scala/kafka/server/KafkaConfig.scala 6e26c5436feb4629d17f199011f3ebb674aa767f 
>   core/src/main/scala/kafka/server/KafkaHealthcheck.scala 4acdd70fe9c1ee78d6510741006c2ece65450671 
>   core/src/main/scala/kafka/server/KafkaServer.scala 1bf7d10cef23a77e716666eb16bf6d0e68bc4ebe 
>   core/src/main/scala/kafka/server/MetadataCache.scala bf81a1ab88c14be8697b441eedbeb28fa0112643 
>   core/src/main/scala/kafka/server/ReplicaFetcherManager.scala 351dbbad3bdb709937943b336a5b0a9e0162a5e2 
>   core/src/main/scala/kafka/server/ReplicaFetcherThread.scala 6879e730282185bda3d6bc3659cb15af0672cecf 
>   core/src/main/scala/kafka/server/ReplicaManager.scala e58fbb922e93b0c31dff04f187fcadb4ece986d7 
>   core/src/main/scala/kafka/tools/ConsumerOffsetChecker.scala d1e7c434e77859d746b8dc68dd5d5a3740425e79 
>   core/src/main/scala/kafka/tools/ReplicaVerificationTool.scala ba6ddd7a909df79a0f7d45e8b4a2af94ea0fceb6 
>   core/src/main/scala/kafka/tools/SimpleConsumerShell.scala b4f903b6c7c3bb725cac7c05eb1f885906413c4d 
>   core/src/main/scala/kafka/tools/UpdateOffsetsInZK.scala 111c9a8b94ce45d95551482e9fd3f8c1cccbf548 
>   core/src/main/scala/kafka/utils/Utils.scala 738c1af9ef5de16fdf5130daab69757a14c48b5c 
>   core/src/main/scala/kafka/utils/ZkUtils.scala 56e3e88e0cc6d917b0ffd1254e173295c1c4aabd 
>   core/src/test/scala/integration/kafka/api/ProducerFailureHandlingTest.scala 5ec613cdb50b93bfe4477e89554dfc3768759b18 
>   core/src/test/scala/integration/kafka/api/ProducerSendTest.scala 6196060edf9f1650720ec916f88933953a1daa2c 
>   core/src/test/scala/other/kafka/TestOffsetManager.scala 41f334d48897b3027ed54c58bbf4811487d3b191 
>   core/src/test/scala/unit/kafka/KafkaConfigTest.scala 4d36b8b1173f60d43463c13c9d8c1275a84c8c28 
>   core/src/test/scala/unit/kafka/admin/AddPartitionsTest.scala 1bf2667f47853585bc33ffb3e28256ec5f24ae84 
>   core/src/test/scala/unit/kafka/api/RequestResponseSerializationTest.scala cd16ced5465d098be7a60498326b2a98c248f343 
>   core/src/test/scala/unit/kafka/cluster/BrokerTest.scala PRE-CREATION 
>   core/src/test/scala/unit/kafka/consumer/ConsumerIteratorTest.scala c0355cc0135c6af2e346b4715659353a31723b86 
>   core/src/test/scala/unit/kafka/integration/FetcherTest.scala 25845abbcad2e79f56f729e59239b738d3ddbc9d 
>   core/src/test/scala/unit/kafka/integration/TopicMetadataTest.scala 35dc071b1056e775326981573c9618d8046e601d 
>   core/src/test/scala/unit/kafka/network/SocketServerTest.scala 5f4d85254c384dcc27a5a84f0836ea225d3a901a 
>   core/src/test/scala/unit/kafka/producer/AsyncProducerTest.scala 1db6ac329f7b54e600802c8a623f80d159d4e69b 
>   core/src/test/scala/unit/kafka/producer/SyncProducerTest.scala d60d8e0f49443f4dc8bc2cad6e2f951eda28f5cb 
>   core/src/test/scala/unit/kafka/server/AdvertiseBrokerTest.scala f0c4a56b61b4f081cf4bee799c6e9c523ff45e19 
>   core/src/test/scala/unit/kafka/server/KafkaConfigTest.scala 2377abe4933e065d037828a214c3a87e1773a8ef 
>   core/src/test/scala/unit/kafka/server/LeaderElectionTest.scala c2ba07c5fdbaf0e65ca033b2e4d88f45a8a15b2e 
>   core/src/test/scala/unit/kafka/server/LogOffsetTest.scala c06ee756bf0fe07e5d3c92823a476c960b37afd6 
>   core/src/test/scala/unit/kafka/utils/TestUtils.scala 94d0028d8c4907e747aa8a74a13d719b974c97bf 
>   system_test/replication_testsuite/testcase_1/testcase_1_properties.json 0c6d7a316cc6b51ac0755ca03558507db0706c31 
>   system_test/utils/kafka_system_test_utils.py 41d511cbc310fa87e0f2cd2f772e479e8e3ae4e2 
> 
> Diff: https://reviews.apache.org/r/28769/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Gwen Shapira
> 
>


Re: Review Request 28769: Patch for KAFKA-1809

Posted by Gwen Shapira <gs...@cloudera.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/28769/
-----------------------------------------------------------

(Updated Jan. 6, 2015, 7:46 p.m.)


Review request for kafka.


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


Repository: kafka


Description (updated)
-------

first commit of refactoring.


changed topicmetadata to include brokerendpoints and fixed few unit tests


fixing systest and support for binding to default address


fixed system tests


fix default address binding and ipv6 support


fix some issues regarding endpoint parsing. Also, larger segments for systest make the validation much faster


added link to security wiki in doc


fixing unit test after rename of ProtocolType to SecurityProtocol


Following Joe's advice, added security protocol enum on client side, and modified protocol to use ID instead of string.


validate producer config against enum


add a second protocol for testing and modify SocketServerTests to check on multi-ports


Reverted the metadata request changes and removed the explicit security protocol argument. Instead the socketserver will determine the protocol based on the port and add this to the request


bump version for UpdateMetadataRequest and added support for rolling upgrades with new config


following tests - fixed LeaderAndISR protocol and ZK registration for backward compatibility


cleaned up some changes that were actually not necessary. hopefully making this patch slightly easier to review


undoing some changes that don't belong here


bring back config lost in cleanup


fixes neccessary for an all non-plaintext cluster to work


Diffs (updated)
-----

  clients/src/main/java/org/apache/kafka/clients/NetworkClient.java 525b95e98010cd2053eacd8c321d079bcac2f910 
  clients/src/main/java/org/apache/kafka/common/protocol/SecurityProtocol.java PRE-CREATION 
  clients/src/main/java/org/apache/kafka/common/utils/Utils.java 527dd0f9c47fce7310b7a37a9b95bf87f1b9c292 
  clients/src/test/java/org/apache/kafka/common/utils/ClientUtilsTest.java 6e37ea553f73d9c584641c48c56dbf6e62ba5f88 
  clients/src/test/java/org/apache/kafka/common/utils/UtilsTest.java a39fab532f73148316a56c0f8e9197f38ea66f79 
  config/server.properties b0e4496a8ca736b6abe965a430e8ce87b0e8287f 
  core/src/main/scala/kafka/admin/AdminUtils.scala 28b12c7b89a56c113b665fbde1b95f873f8624a3 
  core/src/main/scala/kafka/admin/TopicCommand.scala 285c0333ff43543d3e46444c1cd9374bb883bb59 
  core/src/main/scala/kafka/api/ConsumerMetadataResponse.scala 84f60178f6ebae735c8aa3e79ed93fe21ac4aea7 
  core/src/main/scala/kafka/api/LeaderAndIsrRequest.scala 4ff7e8f8cc695551dd5d2fe65c74f6b6c571e340 
  core/src/main/scala/kafka/api/TopicMetadata.scala 0190076df0adf906ecd332284f222ff974b315fc 
  core/src/main/scala/kafka/api/TopicMetadataResponse.scala 92ac4e687be22e4800199c0666bfac5e0059e5bb 
  core/src/main/scala/kafka/api/UpdateMetadataRequest.scala 530982e36b17934b8cc5fb668075a5342e142c59 
  core/src/main/scala/kafka/client/ClientUtils.scala ebba87f0566684c796c26cb76c64b4640a5ccfde 
  core/src/main/scala/kafka/cluster/Broker.scala 0060add008bb3bc4b0092f2173c469fce0120be6 
  core/src/main/scala/kafka/cluster/BrokerEndPoint.scala PRE-CREATION 
  core/src/main/scala/kafka/cluster/EndPoint.scala PRE-CREATION 
  core/src/main/scala/kafka/cluster/SecurityProtocol.scala PRE-CREATION 
  core/src/main/scala/kafka/common/BrokerEndPointNotAvailableException.scala PRE-CREATION 
  core/src/main/scala/kafka/consumer/ConsumerConfig.scala 9ebbee6c16dc83767297c729d2d74ebbd063a993 
  core/src/main/scala/kafka/consumer/ConsumerFetcherManager.scala b9e2bea7b442a19bcebd1b350d39541a8c9dd068 
  core/src/main/scala/kafka/consumer/ConsumerFetcherThread.scala ee6139c901082358382c5ef892281386bf6fc91b 
  core/src/main/scala/kafka/consumer/ZookeeperConsumerConnector.scala 191a8677444e53b043e9ad6e94c5a9191c32599e 
  core/src/main/scala/kafka/controller/ControllerChannelManager.scala eb492f00449744bc8d63f55b393e2a1659d38454 
  core/src/main/scala/kafka/controller/KafkaController.scala 66df6d2fbdbdd556da6bea0df84f93e0472c8fbf 
  core/src/main/scala/kafka/javaapi/ConsumerMetadataResponse.scala 1b28861cdf7dfb30fc696b54f8f8f05f730f4ece 
  core/src/main/scala/kafka/javaapi/TopicMetadata.scala f384e04678df10a5b46a439f475c63371bf8e32b 
  core/src/main/scala/kafka/javaapi/TopicMetadataRequest.scala b0b7be14d494ae8c87f4443b52db69d273c20316 
  core/src/main/scala/kafka/network/BlockingChannel.scala 6e2a38eee8e568f9032f95c75fa5899e9715b433 
  core/src/main/scala/kafka/network/RequestChannel.scala 7b1db3dbbb2c0676f166890f566c14aa248467ab 
  core/src/main/scala/kafka/network/SocketServer.scala e451592fe358158548117f47a80e807007dd8b98 
  core/src/main/scala/kafka/producer/ProducerPool.scala 43df70bb461dd3e385e6b20396adef3c4016a3fc 
  core/src/main/scala/kafka/server/AbstractFetcherManager.scala 20c00cb8cc2351950edbc8cb1752905a0c26e79f 
  core/src/main/scala/kafka/server/AbstractFetcherThread.scala 8c281d4668f92eff95a4a5df3c03c4b5b20e7095 
  core/src/main/scala/kafka/server/KafkaApis.scala 2a1c0326b6e6966d8b8254bd6a1cb83ad98a3b80 
  core/src/main/scala/kafka/server/KafkaConfig.scala 6e26c5436feb4629d17f199011f3ebb674aa767f 
  core/src/main/scala/kafka/server/KafkaHealthcheck.scala 4acdd70fe9c1ee78d6510741006c2ece65450671 
  core/src/main/scala/kafka/server/KafkaServer.scala 1bf7d10cef23a77e716666eb16bf6d0e68bc4ebe 
  core/src/main/scala/kafka/server/MetadataCache.scala bf81a1ab88c14be8697b441eedbeb28fa0112643 
  core/src/main/scala/kafka/server/ReplicaFetcherManager.scala 351dbbad3bdb709937943b336a5b0a9e0162a5e2 
  core/src/main/scala/kafka/server/ReplicaFetcherThread.scala 6879e730282185bda3d6bc3659cb15af0672cecf 
  core/src/main/scala/kafka/server/ReplicaManager.scala e58fbb922e93b0c31dff04f187fcadb4ece986d7 
  core/src/main/scala/kafka/tools/ConsumerOffsetChecker.scala d1e7c434e77859d746b8dc68dd5d5a3740425e79 
  core/src/main/scala/kafka/tools/ReplicaVerificationTool.scala ba6ddd7a909df79a0f7d45e8b4a2af94ea0fceb6 
  core/src/main/scala/kafka/tools/SimpleConsumerShell.scala b4f903b6c7c3bb725cac7c05eb1f885906413c4d 
  core/src/main/scala/kafka/tools/UpdateOffsetsInZK.scala 111c9a8b94ce45d95551482e9fd3f8c1cccbf548 
  core/src/main/scala/kafka/utils/Utils.scala 738c1af9ef5de16fdf5130daab69757a14c48b5c 
  core/src/main/scala/kafka/utils/ZkUtils.scala 56e3e88e0cc6d917b0ffd1254e173295c1c4aabd 
  core/src/test/scala/integration/kafka/api/ProducerFailureHandlingTest.scala 5ec613cdb50b93bfe4477e89554dfc3768759b18 
  core/src/test/scala/integration/kafka/api/ProducerSendTest.scala 6196060edf9f1650720ec916f88933953a1daa2c 
  core/src/test/scala/other/kafka/TestOffsetManager.scala 41f334d48897b3027ed54c58bbf4811487d3b191 
  core/src/test/scala/unit/kafka/KafkaConfigTest.scala 4d36b8b1173f60d43463c13c9d8c1275a84c8c28 
  core/src/test/scala/unit/kafka/admin/AddPartitionsTest.scala 1bf2667f47853585bc33ffb3e28256ec5f24ae84 
  core/src/test/scala/unit/kafka/api/RequestResponseSerializationTest.scala cd16ced5465d098be7a60498326b2a98c248f343 
  core/src/test/scala/unit/kafka/cluster/BrokerTest.scala PRE-CREATION 
  core/src/test/scala/unit/kafka/consumer/ConsumerIteratorTest.scala c0355cc0135c6af2e346b4715659353a31723b86 
  core/src/test/scala/unit/kafka/integration/FetcherTest.scala 25845abbcad2e79f56f729e59239b738d3ddbc9d 
  core/src/test/scala/unit/kafka/integration/TopicMetadataTest.scala 35dc071b1056e775326981573c9618d8046e601d 
  core/src/test/scala/unit/kafka/network/SocketServerTest.scala 5f4d85254c384dcc27a5a84f0836ea225d3a901a 
  core/src/test/scala/unit/kafka/producer/AsyncProducerTest.scala 1db6ac329f7b54e600802c8a623f80d159d4e69b 
  core/src/test/scala/unit/kafka/producer/SyncProducerTest.scala d60d8e0f49443f4dc8bc2cad6e2f951eda28f5cb 
  core/src/test/scala/unit/kafka/server/AdvertiseBrokerTest.scala f0c4a56b61b4f081cf4bee799c6e9c523ff45e19 
  core/src/test/scala/unit/kafka/server/KafkaConfigTest.scala 2377abe4933e065d037828a214c3a87e1773a8ef 
  core/src/test/scala/unit/kafka/server/LeaderElectionTest.scala c2ba07c5fdbaf0e65ca033b2e4d88f45a8a15b2e 
  core/src/test/scala/unit/kafka/server/LogOffsetTest.scala c06ee756bf0fe07e5d3c92823a476c960b37afd6 
  core/src/test/scala/unit/kafka/utils/TestUtils.scala 94d0028d8c4907e747aa8a74a13d719b974c97bf 
  system_test/replication_testsuite/testcase_1/testcase_1_properties.json 0c6d7a316cc6b51ac0755ca03558507db0706c31 
  system_test/utils/kafka_system_test_utils.py 41d511cbc310fa87e0f2cd2f772e479e8e3ae4e2 

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


Testing
-------


Thanks,

Gwen Shapira


Re: Review Request 28769: Patch for KAFKA-1809

Posted by Gwen Shapira <gs...@cloudera.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/28769/
-----------------------------------------------------------

(Updated Jan. 6, 2015, 5:40 a.m.)


Review request for kafka.


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


Repository: kafka


Description (updated)
-------

changed topicmetadata to include brokerendpoints and fixed few unit tests


fixing systest and support for binding to default address


fixed system tests


fix default address binding and ipv6 support


fix some issues regarding endpoint parsing. Also, larger segments for systest make the validation much faster


added link to security wiki in doc


fixing unit test after rename of ProtocolType to SecurityProtocol


Following Joe's advice, added security protocol enum on client side, and modified protocol to use ID instead of string.


validate producer config against enum


add a second protocol for testing and modify SocketServerTests to check on multi-ports


Reverted the metadata request changes and removed the explicit security protocol argument. Instead the socketserver will determine the protocol based on the port and add this to the request


bump version for UpdateMetadataRequest and added support for rolling upgrades with new config


following tests - fixed LeaderAndISR protocol and ZK registration for backward compatibility


cleaned up some changes that were actually not necessary. hopefully making this patch slightly easier to review


undoing some changes that don't belong here


bring back config lost in cleanup


Diffs (updated)
-----

  clients/src/main/java/org/apache/kafka/common/protocol/SecurityProtocol.java PRE-CREATION 
  clients/src/main/java/org/apache/kafka/common/utils/Utils.java 527dd0f9c47fce7310b7a37a9b95bf87f1b9c292 
  clients/src/test/java/org/apache/kafka/common/utils/ClientUtilsTest.java 6e37ea553f73d9c584641c48c56dbf6e62ba5f88 
  clients/src/test/java/org/apache/kafka/common/utils/UtilsTest.java a39fab532f73148316a56c0f8e9197f38ea66f79 
  config/server.properties b0e4496a8ca736b6abe965a430e8ce87b0e8287f 
  core/src/main/scala/kafka/admin/AdminUtils.scala 28b12c7b89a56c113b665fbde1b95f873f8624a3 
  core/src/main/scala/kafka/admin/TopicCommand.scala 285c0333ff43543d3e46444c1cd9374bb883bb59 
  core/src/main/scala/kafka/api/ConsumerMetadataResponse.scala 84f60178f6ebae735c8aa3e79ed93fe21ac4aea7 
  core/src/main/scala/kafka/api/LeaderAndIsrRequest.scala 4ff7e8f8cc695551dd5d2fe65c74f6b6c571e340 
  core/src/main/scala/kafka/api/TopicMetadata.scala 0190076df0adf906ecd332284f222ff974b315fc 
  core/src/main/scala/kafka/api/TopicMetadataRequest.scala 7dca09ce637a40e125de05703dc42e8b611971ac 
  core/src/main/scala/kafka/api/TopicMetadataResponse.scala 92ac4e687be22e4800199c0666bfac5e0059e5bb 
  core/src/main/scala/kafka/api/UpdateMetadataRequest.scala 530982e36b17934b8cc5fb668075a5342e142c59 
  core/src/main/scala/kafka/client/ClientUtils.scala ebba87f0566684c796c26cb76c64b4640a5ccfde 
  core/src/main/scala/kafka/cluster/Broker.scala 0060add008bb3bc4b0092f2173c469fce0120be6 
  core/src/main/scala/kafka/cluster/BrokerEndPoint.scala PRE-CREATION 
  core/src/main/scala/kafka/cluster/EndPoint.scala PRE-CREATION 
  core/src/main/scala/kafka/cluster/SecurityProtocol.scala PRE-CREATION 
  core/src/main/scala/kafka/common/BrokerEndPointNotAvailableException.scala PRE-CREATION 
  core/src/main/scala/kafka/consumer/ConsumerConfig.scala 9ebbee6c16dc83767297c729d2d74ebbd063a993 
  core/src/main/scala/kafka/consumer/ConsumerFetcherManager.scala b9e2bea7b442a19bcebd1b350d39541a8c9dd068 
  core/src/main/scala/kafka/consumer/ConsumerFetcherThread.scala ee6139c901082358382c5ef892281386bf6fc91b 
  core/src/main/scala/kafka/consumer/ZookeeperConsumerConnector.scala 191a8677444e53b043e9ad6e94c5a9191c32599e 
  core/src/main/scala/kafka/controller/ControllerChannelManager.scala eb492f00449744bc8d63f55b393e2a1659d38454 
  core/src/main/scala/kafka/controller/KafkaController.scala 66df6d2fbdbdd556da6bea0df84f93e0472c8fbf 
  core/src/main/scala/kafka/javaapi/ConsumerMetadataResponse.scala 1b28861cdf7dfb30fc696b54f8f8f05f730f4ece 
  core/src/main/scala/kafka/javaapi/TopicMetadata.scala f384e04678df10a5b46a439f475c63371bf8e32b 
  core/src/main/scala/kafka/javaapi/TopicMetadataRequest.scala b0b7be14d494ae8c87f4443b52db69d273c20316 
  core/src/main/scala/kafka/network/BlockingChannel.scala 6e2a38eee8e568f9032f95c75fa5899e9715b433 
  core/src/main/scala/kafka/network/RequestChannel.scala 7b1db3dbbb2c0676f166890f566c14aa248467ab 
  core/src/main/scala/kafka/network/SocketServer.scala e451592fe358158548117f47a80e807007dd8b98 
  core/src/main/scala/kafka/producer/ProducerPool.scala 43df70bb461dd3e385e6b20396adef3c4016a3fc 
  core/src/main/scala/kafka/server/AbstractFetcherManager.scala 20c00cb8cc2351950edbc8cb1752905a0c26e79f 
  core/src/main/scala/kafka/server/AbstractFetcherThread.scala 8c281d4668f92eff95a4a5df3c03c4b5b20e7095 
  core/src/main/scala/kafka/server/KafkaApis.scala 2a1c0326b6e6966d8b8254bd6a1cb83ad98a3b80 
  core/src/main/scala/kafka/server/KafkaConfig.scala 6e26c5436feb4629d17f199011f3ebb674aa767f 
  core/src/main/scala/kafka/server/KafkaHealthcheck.scala 4acdd70fe9c1ee78d6510741006c2ece65450671 
  core/src/main/scala/kafka/server/KafkaServer.scala 1bf7d10cef23a77e716666eb16bf6d0e68bc4ebe 
  core/src/main/scala/kafka/server/MetadataCache.scala bf81a1ab88c14be8697b441eedbeb28fa0112643 
  core/src/main/scala/kafka/server/ReplicaFetcherManager.scala 351dbbad3bdb709937943b336a5b0a9e0162a5e2 
  core/src/main/scala/kafka/server/ReplicaFetcherThread.scala 6879e730282185bda3d6bc3659cb15af0672cecf 
  core/src/main/scala/kafka/server/ReplicaManager.scala e58fbb922e93b0c31dff04f187fcadb4ece986d7 
  core/src/main/scala/kafka/tools/ConsumerOffsetChecker.scala d1e7c434e77859d746b8dc68dd5d5a3740425e79 
  core/src/main/scala/kafka/tools/ReplicaVerificationTool.scala ba6ddd7a909df79a0f7d45e8b4a2af94ea0fceb6 
  core/src/main/scala/kafka/tools/SimpleConsumerShell.scala b4f903b6c7c3bb725cac7c05eb1f885906413c4d 
  core/src/main/scala/kafka/tools/UpdateOffsetsInZK.scala 111c9a8b94ce45d95551482e9fd3f8c1cccbf548 
  core/src/main/scala/kafka/utils/Utils.scala 738c1af9ef5de16fdf5130daab69757a14c48b5c 
  core/src/main/scala/kafka/utils/ZkUtils.scala 56e3e88e0cc6d917b0ffd1254e173295c1c4aabd 
  core/src/test/scala/integration/kafka/api/ProducerFailureHandlingTest.scala 5ec613cdb50b93bfe4477e89554dfc3768759b18 
  core/src/test/scala/integration/kafka/api/ProducerSendTest.scala 6196060edf9f1650720ec916f88933953a1daa2c 
  core/src/test/scala/other/kafka/TestOffsetManager.scala 41f334d48897b3027ed54c58bbf4811487d3b191 
  core/src/test/scala/unit/kafka/KafkaConfigTest.scala 4d36b8b1173f60d43463c13c9d8c1275a84c8c28 
  core/src/test/scala/unit/kafka/admin/AddPartitionsTest.scala 1bf2667f47853585bc33ffb3e28256ec5f24ae84 
  core/src/test/scala/unit/kafka/api/RequestResponseSerializationTest.scala cd16ced5465d098be7a60498326b2a98c248f343 
  core/src/test/scala/unit/kafka/cluster/BrokerTest.scala PRE-CREATION 
  core/src/test/scala/unit/kafka/consumer/ConsumerIteratorTest.scala c0355cc0135c6af2e346b4715659353a31723b86 
  core/src/test/scala/unit/kafka/integration/FetcherTest.scala 25845abbcad2e79f56f729e59239b738d3ddbc9d 
  core/src/test/scala/unit/kafka/integration/TopicMetadataTest.scala 35dc071b1056e775326981573c9618d8046e601d 
  core/src/test/scala/unit/kafka/network/SocketServerTest.scala 5f4d85254c384dcc27a5a84f0836ea225d3a901a 
  core/src/test/scala/unit/kafka/producer/AsyncProducerTest.scala 1db6ac329f7b54e600802c8a623f80d159d4e69b 
  core/src/test/scala/unit/kafka/producer/SyncProducerTest.scala d60d8e0f49443f4dc8bc2cad6e2f951eda28f5cb 
  core/src/test/scala/unit/kafka/server/AdvertiseBrokerTest.scala f0c4a56b61b4f081cf4bee799c6e9c523ff45e19 
  core/src/test/scala/unit/kafka/server/KafkaConfigTest.scala 2377abe4933e065d037828a214c3a87e1773a8ef 
  core/src/test/scala/unit/kafka/server/LeaderElectionTest.scala c2ba07c5fdbaf0e65ca033b2e4d88f45a8a15b2e 
  core/src/test/scala/unit/kafka/server/LogOffsetTest.scala c06ee756bf0fe07e5d3c92823a476c960b37afd6 
  core/src/test/scala/unit/kafka/utils/TestUtils.scala 94d0028d8c4907e747aa8a74a13d719b974c97bf 
  system_test/replication_testsuite/testcase_1/testcase_1_properties.json 0c6d7a316cc6b51ac0755ca03558507db0706c31 
  system_test/utils/kafka_system_test_utils.py 41d511cbc310fa87e0f2cd2f772e479e8e3ae4e2 

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


Testing
-------


Thanks,

Gwen Shapira


Re: Review Request 28769: Patch for KAFKA-1809

Posted by Gwen Shapira <gs...@cloudera.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/28769/
-----------------------------------------------------------

(Updated Jan. 6, 2015, 4:25 a.m.)


Review request for kafka.


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


Repository: kafka


Description (updated)
-------

changed topicmetadata to include brokerendpoints and fixed few unit tests


fixing systest and support for binding to default address


fixed system tests


fix default address binding and ipv6 support


fix some issues regarding endpoint parsing. Also, larger segments for systest make the validation much faster


added link to security wiki in doc


fixing unit test after rename of ProtocolType to SecurityProtocol


Following Joe's advice, added security protocol enum on client side, and modified protocol to use ID instead of string.


validate producer config against enum


add a second protocol for testing and modify SocketServerTests to check on multi-ports


Reverted the metadata request changes and removed the explicit security protocol argument. Instead the socketserver will determine the protocol based on the port and add this to the request


bump version for UpdateMetadataRequest and added support for rolling upgrades with new config


following tests - fixed LeaderAndISR protocol and ZK registration for backward compatibility


cleaned up some changes that were actually not necessary. hopefully making this patch slightly easier to review


Diffs (updated)
-----

  clients/src/main/java/org/apache/kafka/clients/NetworkClient.java 525b95e98010cd2053eacd8c321d079bcac2f910 
  clients/src/main/java/org/apache/kafka/clients/producer/ProducerConfig.java a893d88c2f4e21509b6c70d6817b4b2cdd0fd657 
  clients/src/main/java/org/apache/kafka/common/protocol/Protocol.java 7517b879866fc5dad5f8d8ad30636da8bbe7784a 
  clients/src/main/java/org/apache/kafka/common/protocol/SecurityProtocol.java PRE-CREATION 
  clients/src/main/java/org/apache/kafka/common/requests/MetadataRequest.java b22ca1dce65f665d84c2a980fd82f816e93d9960 
  clients/src/main/java/org/apache/kafka/common/utils/Utils.java 527dd0f9c47fce7310b7a37a9b95bf87f1b9c292 
  clients/src/test/java/org/apache/kafka/common/requests/RequestResponseTest.java df37fc6d8f0db0b8192a948426af603be3444da4 
  clients/src/test/java/org/apache/kafka/common/utils/ClientUtilsTest.java 6e37ea553f73d9c584641c48c56dbf6e62ba5f88 
  clients/src/test/java/org/apache/kafka/common/utils/UtilsTest.java a39fab532f73148316a56c0f8e9197f38ea66f79 
  config/server.properties b0e4496a8ca736b6abe965a430e8ce87b0e8287f 
  core/src/main/scala/kafka/admin/AdminUtils.scala 28b12c7b89a56c113b665fbde1b95f873f8624a3 
  core/src/main/scala/kafka/admin/TopicCommand.scala 285c0333ff43543d3e46444c1cd9374bb883bb59 
  core/src/main/scala/kafka/api/ConsumerMetadataRequest.scala 6d00ed090d76cd7925621a9c6db8fb00fb9d48f4 
  core/src/main/scala/kafka/api/ConsumerMetadataResponse.scala 84f60178f6ebae735c8aa3e79ed93fe21ac4aea7 
  core/src/main/scala/kafka/api/LeaderAndIsrRequest.scala 4ff7e8f8cc695551dd5d2fe65c74f6b6c571e340 
  core/src/main/scala/kafka/api/TopicMetadata.scala 0190076df0adf906ecd332284f222ff974b315fc 
  core/src/main/scala/kafka/api/TopicMetadataRequest.scala 7dca09ce637a40e125de05703dc42e8b611971ac 
  core/src/main/scala/kafka/api/TopicMetadataResponse.scala 92ac4e687be22e4800199c0666bfac5e0059e5bb 
  core/src/main/scala/kafka/api/UpdateMetadataRequest.scala 530982e36b17934b8cc5fb668075a5342e142c59 
  core/src/main/scala/kafka/client/ClientUtils.scala ebba87f0566684c796c26cb76c64b4640a5ccfde 
  core/src/main/scala/kafka/cluster/Broker.scala 0060add008bb3bc4b0092f2173c469fce0120be6 
  core/src/main/scala/kafka/cluster/BrokerEndPoint.scala PRE-CREATION 
  core/src/main/scala/kafka/cluster/EndPoint.scala PRE-CREATION 
  core/src/main/scala/kafka/cluster/SecurityProtocol.scala PRE-CREATION 
  core/src/main/scala/kafka/common/BrokerEndPointNotAvailableException.scala PRE-CREATION 
  core/src/main/scala/kafka/consumer/ConsumerConfig.scala 9ebbee6c16dc83767297c729d2d74ebbd063a993 
  core/src/main/scala/kafka/consumer/ConsumerFetcherManager.scala b9e2bea7b442a19bcebd1b350d39541a8c9dd068 
  core/src/main/scala/kafka/consumer/ConsumerFetcherThread.scala ee6139c901082358382c5ef892281386bf6fc91b 
  core/src/main/scala/kafka/consumer/ZookeeperConsumerConnector.scala 191a8677444e53b043e9ad6e94c5a9191c32599e 
  core/src/main/scala/kafka/controller/ControllerChannelManager.scala eb492f00449744bc8d63f55b393e2a1659d38454 
  core/src/main/scala/kafka/controller/KafkaController.scala 66df6d2fbdbdd556da6bea0df84f93e0472c8fbf 
  core/src/main/scala/kafka/javaapi/ConsumerMetadataResponse.scala 1b28861cdf7dfb30fc696b54f8f8f05f730f4ece 
  core/src/main/scala/kafka/javaapi/TopicMetadata.scala f384e04678df10a5b46a439f475c63371bf8e32b 
  core/src/main/scala/kafka/javaapi/TopicMetadataRequest.scala b0b7be14d494ae8c87f4443b52db69d273c20316 
  core/src/main/scala/kafka/network/BlockingChannel.scala 6e2a38eee8e568f9032f95c75fa5899e9715b433 
  core/src/main/scala/kafka/network/RequestChannel.scala 7b1db3dbbb2c0676f166890f566c14aa248467ab 
  core/src/main/scala/kafka/network/SocketServer.scala e451592fe358158548117f47a80e807007dd8b98 
  core/src/main/scala/kafka/producer/ProducerConfig.scala 3cdf23dce3407f1770b9c6543e3a8ae8ab3ff255 
  core/src/main/scala/kafka/producer/ProducerPool.scala 43df70bb461dd3e385e6b20396adef3c4016a3fc 
  core/src/main/scala/kafka/server/AbstractFetcherManager.scala 20c00cb8cc2351950edbc8cb1752905a0c26e79f 
  core/src/main/scala/kafka/server/AbstractFetcherThread.scala 8c281d4668f92eff95a4a5df3c03c4b5b20e7095 
  core/src/main/scala/kafka/server/KafkaApis.scala 2a1c0326b6e6966d8b8254bd6a1cb83ad98a3b80 
  core/src/main/scala/kafka/server/KafkaConfig.scala 6e26c5436feb4629d17f199011f3ebb674aa767f 
  core/src/main/scala/kafka/server/KafkaHealthcheck.scala 4acdd70fe9c1ee78d6510741006c2ece65450671 
  core/src/main/scala/kafka/server/KafkaServer.scala 1bf7d10cef23a77e716666eb16bf6d0e68bc4ebe 
  core/src/main/scala/kafka/server/MetadataCache.scala bf81a1ab88c14be8697b441eedbeb28fa0112643 
  core/src/main/scala/kafka/server/ReplicaFetcherManager.scala 351dbbad3bdb709937943b336a5b0a9e0162a5e2 
  core/src/main/scala/kafka/server/ReplicaFetcherThread.scala 6879e730282185bda3d6bc3659cb15af0672cecf 
  core/src/main/scala/kafka/server/ReplicaManager.scala e58fbb922e93b0c31dff04f187fcadb4ece986d7 
  core/src/main/scala/kafka/tools/ConsumerOffsetChecker.scala d1e7c434e77859d746b8dc68dd5d5a3740425e79 
  core/src/main/scala/kafka/tools/GetOffsetShell.scala 3d9293e4abbe3f4a4a2bc5833385747c604d5a95 
  core/src/main/scala/kafka/tools/ReplicaVerificationTool.scala ba6ddd7a909df79a0f7d45e8b4a2af94ea0fceb6 
  core/src/main/scala/kafka/tools/SimpleConsumerShell.scala b4f903b6c7c3bb725cac7c05eb1f885906413c4d 
  core/src/main/scala/kafka/tools/UpdateOffsetsInZK.scala 111c9a8b94ce45d95551482e9fd3f8c1cccbf548 
  core/src/main/scala/kafka/utils/Utils.scala 738c1af9ef5de16fdf5130daab69757a14c48b5c 
  core/src/main/scala/kafka/utils/ZkUtils.scala 56e3e88e0cc6d917b0ffd1254e173295c1c4aabd 
  core/src/test/resources/log4j.properties 1b7d5d8f7d5fae7d272849715714781cad05d77b 
  core/src/test/scala/integration/kafka/api/ProducerFailureHandlingTest.scala 5ec613cdb50b93bfe4477e89554dfc3768759b18 
  core/src/test/scala/integration/kafka/api/ProducerSendTest.scala 6196060edf9f1650720ec916f88933953a1daa2c 
  core/src/test/scala/other/kafka/TestOffsetManager.scala 41f334d48897b3027ed54c58bbf4811487d3b191 
  core/src/test/scala/unit/kafka/KafkaConfigTest.scala 4d36b8b1173f60d43463c13c9d8c1275a84c8c28 
  core/src/test/scala/unit/kafka/admin/AddPartitionsTest.scala 1bf2667f47853585bc33ffb3e28256ec5f24ae84 
  core/src/test/scala/unit/kafka/api/RequestResponseSerializationTest.scala cd16ced5465d098be7a60498326b2a98c248f343 
  core/src/test/scala/unit/kafka/cluster/BrokerTest.scala PRE-CREATION 
  core/src/test/scala/unit/kafka/consumer/ConsumerIteratorTest.scala c0355cc0135c6af2e346b4715659353a31723b86 
  core/src/test/scala/unit/kafka/integration/FetcherTest.scala 25845abbcad2e79f56f729e59239b738d3ddbc9d 
  core/src/test/scala/unit/kafka/integration/TopicMetadataTest.scala 35dc071b1056e775326981573c9618d8046e601d 
  core/src/test/scala/unit/kafka/network/SocketServerTest.scala 5f4d85254c384dcc27a5a84f0836ea225d3a901a 
  core/src/test/scala/unit/kafka/producer/AsyncProducerTest.scala 1db6ac329f7b54e600802c8a623f80d159d4e69b 
  core/src/test/scala/unit/kafka/producer/SyncProducerTest.scala d60d8e0f49443f4dc8bc2cad6e2f951eda28f5cb 
  core/src/test/scala/unit/kafka/server/AdvertiseBrokerTest.scala f0c4a56b61b4f081cf4bee799c6e9c523ff45e19 
  core/src/test/scala/unit/kafka/server/KafkaConfigTest.scala 2377abe4933e065d037828a214c3a87e1773a8ef 
  core/src/test/scala/unit/kafka/server/LeaderElectionTest.scala c2ba07c5fdbaf0e65ca033b2e4d88f45a8a15b2e 
  core/src/test/scala/unit/kafka/server/LogOffsetTest.scala c06ee756bf0fe07e5d3c92823a476c960b37afd6 
  core/src/test/scala/unit/kafka/server/ServerShutdownTest.scala ba1e48e4300c9fb32e36e7266cb05294f2a481e5 
  core/src/test/scala/unit/kafka/utils/TestUtils.scala 94d0028d8c4907e747aa8a74a13d719b974c97bf 
  system_test/replication_testsuite/testcase_1/testcase_1_properties.json 0c6d7a316cc6b51ac0755ca03558507db0706c31 
  system_test/utils/kafka_system_test_utils.py 41d511cbc310fa87e0f2cd2f772e479e8e3ae4e2 

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


Testing
-------


Thanks,

Gwen Shapira