> On Feb. 3, 2015, 7:20 a.m., Joel Koshy wrote:
> > build.gradle, line 387
> > <https://reviews.apache.org/r/30547/diff/1/?file=845008#file845008line387>
> >
> >     Is the consequence of violations this going to be a warning or an error 
> > or a report? Either way is there a way to suppress it via an annotation or 
> > something like that? For example, in some cases "unnecessary" parantheses 
> > may actually make some code much easier to read. I'm guessing no, since 
> > checkstyle is completely outside of compilation.

Currently the behavior is that check is invoked as part of the unit test run 
and fails the test section. That seemed reasonable to me since this is a kind 
of unit test for code style.

I think checkstyle does include a couple of ways to list exceptions. In the 
particular case of parenthesis we could just remove that check, not sure that 
is really a critical one.


> On Feb. 3, 2015, 7:20 a.m., Joel Koshy wrote:
> > checkstyle/checkstyle.xml, line 12
> > <https://reviews.apache.org/r/30547/diff/1/?file=845009#file845009line12>
> >
> >     Speaking of which... we need an ASF license header on this xml file 
> > itself no? probably after the xml header.

Oh the irony. :-)


> On Feb. 3, 2015, 7:20 a.m., Joel Koshy wrote:
> > checkstyle/import-control.xml, line 18
> > <https://reviews.apache.org/r/30547/diff/1/?file=845010#file845010line18>
> >
> >     what does exact-match do? I glanced over checkstyle docs but probably 
> > missed it.

By default allowing a package allows that package and all sub-packages. Exact 
match allows just that package and not subpackages.


> On Feb. 3, 2015, 7:20 a.m., Joel Koshy wrote:
> > checkstyle/import-control.xml, line 77
> > <https://reviews.apache.org/r/30547/diff/1/?file=845010#file845010line77>
> >
> >     Is there a notion of a catch-all? Say if we were to add a new 
> > subpackage or package and need to add specific allow/disallow rules to it 
> > but forget to do that.

Yeah there are different philosophies of how we could use this. One would be to 
just explicitly outlaw a couple of high-level no-nos like consumer and producer 
depending on each other or common depending on clients. But there are also a 
lot of minor things like, metrics is really supposed to be a standalone package 
so it would make sense for network to depend on metrics but not really vice 
versa. So I did this:
   producer can depend on anything in clients/producer and anything in common
   consumer can depend on anything in clients/consumer and anything in common
   submodules of common (e.g. network, metrics, etc) are treated almost like 
seperate jars and I explictly consider each one.
   
So this means when adding a new pacakge or adding a new dependency in an 
existing package in common you would need to think about this dependency and 
explicitly whitelist it. This will probably lead to better code modularity but 
may be slightly annoying.


- Jay


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


On Feb. 3, 2015, 5:48 a.m., Jay Kreps wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/30547/
> -----------------------------------------------------------
> 
> (Updated Feb. 3, 2015, 5:48 a.m.)
> 
> 
> Review request for kafka.
> 
> 
> Bugs: KAFKA-1915
>     https://issues.apache.org/jira/browse/KAFKA-1915
> 
> 
> Repository: kafka
> 
> 
> Description
> -------
> 
> Add checkstyle.
> 
> 
> Diffs
> -----
> 
>   build.gradle 68443725868c438176e68b04c0642f0e9fa29e23 
>   checkstyle/checkstyle.xml PRE-CREATION 
>   checkstyle/import-control.xml PRE-CREATION 
>   clients/src/main/java/org/apache/kafka/clients/ClusterConnectionStates.java 
> 574287d77f7d46f49522601ece486721363a88e0 
>   clients/src/main/java/org/apache/kafka/clients/NetworkClient.java 
> 5950191b240f3a212ffa71cc341ee927663f0e55 
>   clients/src/main/java/org/apache/kafka/clients/consumer/CommitType.java 
> 072cc2e6f92dbd35c123cf3bd0e2a36647185bb3 
>   clients/src/main/java/org/apache/kafka/clients/consumer/ConsumerConfig.java 
> 6d4ff7cd2a2835e5bda8ccf1f2884d0fcdf04f39 
>   
> clients/src/main/java/org/apache/kafka/clients/consumer/ConsumerRecords.java 
> 416d703c3f59adee6ba98a203bd5514b7c9d95e5 
>   clients/src/main/java/org/apache/kafka/clients/consumer/KafkaConsumer.java 
> 300c551f3d21a472012f41d3dc08998055654082 
>   
> clients/src/main/java/org/apache/kafka/clients/consumer/internals/Heartbeat.java
>  d9483ecf6ae4a0b6b40fd0fecbb06bf61c1477c4 
>   
> clients/src/main/java/org/apache/kafka/clients/consumer/internals/NoOpConsumerRebalanceCallback.java
>  7e57a39690d9b8ce0046c2636f3478f837a3fd53 
>   
> clients/src/main/java/org/apache/kafka/clients/consumer/internals/SubscriptionState.java
>  71ce20db955bd101efac7451b0a8216cf08826d6 
>   clients/src/main/java/org/apache/kafka/clients/producer/KafkaProducer.java 
> ebc4c5315fb9464ae58a34009358511b61a8432e 
>   clients/src/main/java/org/apache/kafka/clients/producer/Producer.java 
> 6b2471f878b7d5ad35b7992799a582b81d4ec275 
>   clients/src/main/java/org/apache/kafka/clients/producer/ProducerConfig.java 
> 9a43d668376295f47cea0b8eb26b15a6c73bb39c 
>   
> clients/src/main/java/org/apache/kafka/clients/producer/internals/BufferPool.java
>  8d4156d17e94945aa4029063213a6c0b3f193894 
>   
> clients/src/main/java/org/apache/kafka/clients/producer/internals/Metadata.java
>  3aff6242d9d74208af6dcd764bdb153a60d5157a 
>   
> clients/src/main/java/org/apache/kafka/clients/producer/internals/ProduceRequestResult.java
>  b70ece71fdbd1da541ea9c4f828d173fca92e8c6 
>   
> clients/src/main/java/org/apache/kafka/clients/producer/internals/RecordAccumulator.java
>  50889e4ce4b6c4f7f9aaddfc316b047883a6dc8b 
>   
> clients/src/main/java/org/apache/kafka/clients/producer/internals/Sender.java 
> 8726809f8ada69c32da5c086f553f5f6132b7b83 
>   
> clients/src/main/java/org/apache/kafka/clients/tools/ProducerPerformance.java 
> 689bae9e6ba69419c50bb4255177e0ef929115a1 
>   clients/src/main/java/org/apache/kafka/common/Cluster.java 
> d7ccbcd91e6578176773b2ad1e13f6e06c64129a 
>   clients/src/main/java/org/apache/kafka/common/MetricName.java 
> 7e977e94a8e0b965a3ce92f8e84098a3bed6a6da 
>   clients/src/main/java/org/apache/kafka/common/PartitionInfo.java 
> 28562f9019e1a5a2aec037b40f77c84ed680a595 
>   clients/src/main/java/org/apache/kafka/common/config/ConfigDef.java 
> 38ce10b31257311099d617ec0d4f7bccd758a18e 
>   
> clients/src/main/java/org/apache/kafka/common/errors/NotEnoughReplicasAfterAppendException.java
>  75c80a97e43089cb3f924a38f86d67b5a8dd2b89 
>   
> clients/src/main/java/org/apache/kafka/common/errors/NotEnoughReplicasException.java
>  486d5155bbb1fa70c2428700535e3d611f9e125b 
>   
> clients/src/main/java/org/apache/kafka/common/message/KafkaLZ4BlockInputStream.java
>  5be72fef1f976f9b0f61e663aa0a16d3abc1e232 
>   
> clients/src/main/java/org/apache/kafka/common/message/KafkaLZ4BlockOutputStream.java
>  e5b9e433e14ef95fa68934a7811ce8061faf67f7 
>   clients/src/main/java/org/apache/kafka/common/metrics/JmxReporter.java 
> 9c205387acc131151dc4fa0774a2cc2506992632 
>   clients/src/main/java/org/apache/kafka/common/metrics/Sensor.java 
> e53cfaa69f518feabb00018d0cfe8004ff47c908 
>   clients/src/main/java/org/apache/kafka/common/metrics/stats/Rate.java 
> a5838b3894906bde0b74515329f370b71d6ad593 
>   clients/src/main/java/org/apache/kafka/common/network/NetworkReceive.java 
> dcc639a4bb451ba8401af5186c4bf3047513374f 
>   clients/src/main/java/org/apache/kafka/common/network/Selector.java 
> e18a769a4b3004a0fd2a1d4d45968c9902c2c771 
>   clients/src/main/java/org/apache/kafka/common/protocol/ApiKeys.java 
> 109fc965e09b2ed186a073351bd037ac8af20a4c 
>   clients/src/main/java/org/apache/kafka/common/protocol/Protocol.java 
> 7517b879866fc5dad5f8d8ad30636da8bbe7784a 
>   clients/src/main/java/org/apache/kafka/common/protocol/types/Struct.java 
> ee1f78f06c19a1e51f4a35e7aababb39944b7b04 
>   
> clients/src/main/java/org/apache/kafka/common/record/ByteBufferOutputStream.java
>  c7bd2f8852bd9d18315420223aa2e7bbb0e0afad 
>   clients/src/main/java/org/apache/kafka/common/record/Compressor.java 
> d684e6833bd81c41e2c6c4cf5d1b749da9eb1e1c 
>   
> clients/src/main/java/org/apache/kafka/common/record/KafkaLZ4BlockInputStream.java
>  PRE-CREATION 
>   
> clients/src/main/java/org/apache/kafka/common/record/KafkaLZ4BlockOutputStream.java
>  PRE-CREATION 
>   clients/src/main/java/org/apache/kafka/common/record/MemoryRecords.java 
> cc4084faec15e83b7908b1e7d1c2ceeff5935a4c 
>   
> clients/src/main/java/org/apache/kafka/common/requests/ConsumerMetadataRequest.java
>  4c99d4a3c423e720bafe02b4ad0d53277c98f189 
>   
> clients/src/main/java/org/apache/kafka/common/requests/ConsumerMetadataResponse.java
>  173333be3afc46391f2de84bac25492cfe61a701 
>   clients/src/main/java/org/apache/kafka/common/requests/FetchRequest.java 
> 2529a09767934446e865e10c3525858c59cd9680 
>   clients/src/main/java/org/apache/kafka/common/requests/FetchResponse.java 
> c1e5f44beae054f7c25d93bd87d09a316f6cde3d 
>   
> clients/src/main/java/org/apache/kafka/common/requests/HeartbeatRequest.java 
> cfdb5de523cc3a0a8a01b039b21876d17239b0f0 
>   
> clients/src/main/java/org/apache/kafka/common/requests/HeartbeatResponse.java 
> ea964f7c7bd8a6d56c01eb1dcdf161bcaa2fdcbc 
>   
> clients/src/main/java/org/apache/kafka/common/requests/JoinGroupRequest.java 
> a1d48c9ab18672de1eed1208010512bc73b89d40 
>   
> clients/src/main/java/org/apache/kafka/common/requests/JoinGroupResponse.java 
> 1e9f3494d6dff61116d7bc5d9103b4f5e7e765b2 
>   
> clients/src/main/java/org/apache/kafka/common/requests/ListOffsetRequest.java 
> 05c5fed6dd7dc3c5fb29be82c184a78baab78615 
>   
> clients/src/main/java/org/apache/kafka/common/requests/ListOffsetResponse.java
>  b2e473e85b2b1516ba964234b4fb7c48cb4efd3c 
>   clients/src/main/java/org/apache/kafka/common/requests/MetadataRequest.java 
> 0186783e1abd0438d6720d035ee1903b51691e09 
>   
> clients/src/main/java/org/apache/kafka/common/requests/MetadataResponse.java 
> 13daf599635e8e8bb0df534dc017b9005c1e9456 
>   
> clients/src/main/java/org/apache/kafka/common/requests/OffsetCommitRequest.java
>  4fb48c8f3592df716b1fd576809c59248e89dbbf 
>   
> clients/src/main/java/org/apache/kafka/common/requests/OffsetCommitResponse.java
>  2ab1dc6c516a116232dd52071374447a7b6bb206 
>   
> clients/src/main/java/org/apache/kafka/common/requests/OffsetFetchRequest.java
>  333483fd8b50e4002a6819ea9707022a9d7f4bf0 
>   
> clients/src/main/java/org/apache/kafka/common/requests/OffsetFetchResponse.java
>  04c88c0c057b9f674eefec5a6a8648e91e21f967 
>   clients/src/main/java/org/apache/kafka/common/requests/ProduceRequest.java 
> 03a0ab1afbb7d9ae8ac83f1ae674130e04c9c639 
>   clients/src/main/java/org/apache/kafka/common/requests/ProduceResponse.java 
> e42d7dbbe7cc533de25105877d4c4bf03d0a9280 
>   clients/src/main/java/org/apache/kafka/common/requests/RequestHeader.java 
> f459a2a62f7b9135c45c1e621e09970d6c9e24c2 
>   clients/src/main/java/org/apache/kafka/common/requests/ResponseHeader.java 
> dd63853e15f502eaae09b85422cfc6e4ced414c5 
>   clients/src/main/java/org/apache/kafka/common/utils/ClientUtils.java 
> b987e7f0434c6ac8e2613e11c06b0bd026b1ca6e 
>   clients/src/main/java/org/apache/kafka/common/utils/Crc32.java 
> 047ca98ef6dd0817f1708e6fd7f01ae629af3375 
>   clients/src/main/java/org/apache/kafka/common/utils/Utils.java 
> 8a305b0fb46563e9e683c327d9e18de532f291de 
>   clients/src/test/java/org/apache/kafka/clients/MockClient.java 
> 67bee40abb61fa605f6cad1d690f1c5fd1761d35 
>   clients/src/test/java/org/apache/kafka/clients/NetworkClientTest.java 
> 5debcd6cc6ce32fa7c39f41d76d38b04cce9a8d3 
>   
> clients/src/test/java/org/apache/kafka/clients/consumer/MockConsumerTest.java 
> e51d2dfdadee370bf804d2c73cb999ec17d63bea 
>   
> clients/src/test/java/org/apache/kafka/clients/consumer/internals/SubscriptionStateTest.java
>  864f1c736458d11ab30b10f11d9a833004bef5ca 
>   clients/src/test/java/org/apache/kafka/clients/producer/BufferPoolTest.java 
> 77b23e7aa82465465794ea4318ca3d9a185b83c4 
>   clients/src/test/java/org/apache/kafka/clients/producer/MetadataTest.java 
> 74605c38cfd7e8d639af8487d98be78dbf3a2858 
>   
> clients/src/test/java/org/apache/kafka/clients/producer/MockProducerTest.java 
> d3377ef8dfffdc0a12f77f25d472d36c42a0d069 
>   
> clients/src/test/java/org/apache/kafka/clients/producer/PartitionerTest.java 
> 82d8083b6072b7ac6827b9b4d67cb28dae5c300d 
>   
> clients/src/test/java/org/apache/kafka/clients/producer/RecordAccumulatorTest.java
>  e2bb8da7154eebfc1aedc049649c65edcc0b96f3 
>   clients/src/test/java/org/apache/kafka/clients/producer/RecordSendTest.java 
> a3700a6a10a9a8e094e4ff9ce15acb6d3a382f45 
>   clients/src/test/java/org/apache/kafka/clients/producer/SenderTest.java 
> 888b9295d47fe5dc837f94084844e724406ec496 
>   
> clients/src/test/java/org/apache/kafka/common/config/AbstractConfigTest.java 
> 3cfd36d992f5f49423642088a8943d9e3dafc999 
>   clients/src/test/java/org/apache/kafka/common/config/ConfigDefTest.java 
> 16d3fedef8cca9eccf76005bfb0d23ce1cae0fc8 
>   
> clients/src/test/java/org/apache/kafka/common/metrics/FakeMetricsReporter.java
>  PRE-CREATION 
>   clients/src/test/java/org/apache/kafka/common/metrics/MetricsTest.java 
> 998a57c492a51aade84b3e68396b48c5c579b476 
>   
> clients/src/test/java/org/apache/kafka/common/metrics/stats/HistogramTest.java
>  3be6b2d5c718fb18171f792cdda87a8c32f14ff5 
>   clients/src/test/java/org/apache/kafka/common/network/SelectorTest.java 
> a14659a713795e687337c28956b3e9b7deffe654 
>   
> clients/src/test/java/org/apache/kafka/common/protocol/types/ProtocolSerializationTest.java
>  4480e9b2aafe61eae65cabf21caeaff4a5cbe4d9 
>   clients/src/test/java/org/apache/kafka/common/record/MemoryRecordsTest.java 
> 94a11121e207d5cf94dbc94443a8aa7edf387782 
>   clients/src/test/java/org/apache/kafka/common/record/RecordTest.java 
> 2765913d5bfd40117b60de9ee2eb6f47fe34486c 
>   
> clients/src/test/java/org/apache/kafka/common/requests/RequestResponseTest.java
>  df37fc6d8f0db0b8192a948426af603be3444da4 
>   
> clients/src/test/java/org/apache/kafka/common/serialization/SerializationTest.java
>  b6e14975066752529b48448dbc6b6c69fc5a9fbd 
>   clients/src/test/java/org/apache/kafka/common/utils/ClientUtilsTest.java 
> 6e37ea553f73d9c584641c48c56dbf6e62ba5f88 
>   clients/src/test/java/org/apache/kafka/common/utils/CrcTest.java 
> 6b323819390b590e2e831f19f78425092f4b08ee 
>   clients/src/test/java/org/apache/kafka/test/Microbenchmarks.java 
> b24d4de21bfea924662cd0f34928036d1e1a737a 
>   clients/src/test/java/org/apache/kafka/test/TestUtils.java 
> 76a17e8849bada6bcb025df66a7f20789c0e0300 
>   core/src/main/scala/kafka/javaapi/consumer/ConsumerRebalanceListener.java 
> facf509841918bdcf92a271d29f6c825ff99345a 
>   core/src/main/scala/kafka/message/CompressionFactory.scala 
> c721040bd0420606ad4be92904af30a1e2ceed3c 
>   core/src/main/scala/kafka/tools/KafkaMigrationTool.java 
> 7909d255ff47ae78d5fbcbbf0296c8e9e315fe01 
>   core/src/main/scala/kafka/utils/Crc32.java 
> af9fe0d7d4ab215190c2fe4d1d165a8ffea4cdc2 
>   examples/src/main/java/kafka/examples/SimpleConsumerDemo.java 
> c79192c5c195d4c3a7facf1be8f503478b6cc809 
> 
> Diff: https://reviews.apache.org/r/30547/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Jay Kreps
> 
>

Reply via email to