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

(Updated June 3, 2015, 12:02 a.m.)


Review request for kafka, Joel Koshy and Jun Rao.


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


Repository: kafka


Description (updated)
-------

KAFKA-2186; Follow-up to KAFKA-1650 - add selective offset commit to consumer 
connector API; reviewed by Joel Koshy


KAFKA-2091; Expose a partitioner interface in the new producer 
(https://cwiki.apache.org/confluence/display/KAFKA/KIP-+22+-+Expose+a+Partitioner+interface+in+the+new+producer);
 reviewed by Joel Koshy and Jay Kreps


kafka-2185; Update to Gradle 2.4; patched by Ismael Juma; reviewed by Jun Rao


KAFKA-2199 Make signing artifacts optional and disabled by  default for 
SNAPSHOTs and allow remote Maven repository configuration from  the command 
line.


kafka-2226; NullPointerException in TestPurgatoryPerformance; patched by 
Yasuhiro Matsuda; reviewed by Onur Karaman, Guozhang Wang and Jun Rao


WIP: First patch for quotas. Changes are 1. Adding per-client throttle time and 
quota metrics in ClientQuotaMetrics.scala 2. Making changes in 
QuotaViolationException and Sensor to return delay time changes. 3. Added 
configuration needed so far for quotas in KafkaConfig. 4. Unit tests

This is currently not being used anywhere in the code because I haven't yet 
figured out how to enforce delays i.e. purgatory vs delay queue. I'll have a 
better idea once I look at the new purgatory implementation. Hopefully, this 
smaller patch is easier to review.

Added more testcases


Some locking changes for reading/creating the sensors


WIP patch


Sample usage in ReplicaManager


Updated patch for quotas. This patch does the following: 1. Add per-client 
metrics for both producer and consumers 2. Add configuration for quotas 3. 
Compute delay times in the metrics package and return the delay times in 
QuotaViolationException 4. Add a DelayQueue in KafkaApi's that can be used to 
throttle any type of request. Implemented request throttling for produce and 
fetch requests. 5. Added unit and integration test cases. I've not yet added 
integration testcases testing the consumer delays.. will update the patch once 
those are ready


Incorporated Jun's comments


Adding javadoc


KAFKA-2084 - Moved the callbacks to ClientQuotaMetrics


Adding more configs


Don't quota replica traffic


KAFKA-2084


Fixing test failures


Diffs (updated)
-----

  README.md 946ec62cc71df93c905c5f35caf5cdb9c78e5c10 
  build.gradle cd2aa838fd53e8124f308979b1d70efe0c5725a6 
  clients/src/main/java/org/apache/kafka/clients/producer/KafkaProducer.java 
8e336a3aa96c73f52beaeb56b931baf4b026cf21 
  clients/src/main/java/org/apache/kafka/clients/producer/MockProducer.java 
3c34610dbc8a68e4561e7264e0b545de3d93cef2 
  clients/src/main/java/org/apache/kafka/clients/producer/Partitioner.java 
PRE-CREATION 
  clients/src/main/java/org/apache/kafka/clients/producer/ProducerConfig.java 
187d0004c8c46b6664ddaffecc6166d4b47351e5 
  
clients/src/main/java/org/apache/kafka/clients/producer/internals/Partitioner.java
 93e799105fb6cc5c49a129c0db099a3a973b2ab3 
  clients/src/main/java/org/apache/kafka/common/metrics/Quota.java 
d82bb0c055e631425bc1ebbc7d387baac76aeeaa 
  
clients/src/main/java/org/apache/kafka/common/metrics/QuotaViolationException.java
 a451e5385c9eca76b38b425e8ac856b2715fcffe 
  clients/src/main/java/org/apache/kafka/common/metrics/Sensor.java 
ca823fd4639523018311b814fde69b6177e73b97 
  clients/src/main/java/org/apache/kafka/common/metrics/stats/Rate.java 
98429da34418f7f1deba1b5e44e2e6025212edb3 
  
clients/src/test/java/org/apache/kafka/clients/producer/internals/PartitionerTest.java
 5dadd0e3554577ad6be28a18ff5ab08f8b31050f 
  clients/src/test/java/org/apache/kafka/common/metrics/MetricsTest.java 
544e120594de78c43581a980b1e4087b4fb98ccb 
  clients/src/test/java/org/apache/kafka/common/utils/MockTime.java  
  core/src/main/scala/kafka/javaapi/consumer/ConsumerConnector.java 
cc3400ff81fc0db69b5129ad7b440f20a211a79d 
  core/src/main/scala/kafka/server/ClientQuotaMetrics.scala PRE-CREATION 
  core/src/main/scala/kafka/server/KafkaApis.scala 
387e387998fc3a6c9cb585dab02b5f77b0381fbf 
  core/src/main/scala/kafka/server/KafkaConfig.scala 
9efa15ca5567b295ab412ee9eea7c03eb4cdc18b 
  core/src/main/scala/kafka/server/KafkaServer.scala 
e66710d2368334ece66f70d55f57b3f888262620 
  core/src/main/scala/kafka/server/ReplicaManager.scala 
59c9bc3ac3a8afc07a6f8c88c5871304db588d17 
  core/src/main/scala/kafka/server/ThrottledRequest.scala PRE-CREATION 
  core/src/main/scala/kafka/utils/ShutdownableThread.scala 
fc226c863095b7761290292cd8755cd7ad0f155c 
  core/src/main/scala/kafka/utils/timer/Timer.scala 
b8cde820a770a4e894804f1c268b24b529940650 
  core/src/main/scala/kafka/utils/timer/TimerTask.scala 
3407138115d579339ffb6b00e32e38c984ac5d6e 
  core/src/main/scala/kafka/utils/timer/TimerTaskList.scala 
e7a96570ddc2367583d6d5590628db7e7f6ba39b 
  core/src/main/scala/kafka/utils/timer/TimingWheel.scala 
e92aba3844dbf3372182e14536a5d98cf3366d73 
  core/src/test/scala/integration/kafka/api/QuotasTest.scala PRE-CREATION 
  core/src/test/scala/unit/kafka/server/ClientQuotaMetricsTest.scala 
PRE-CREATION 
  core/src/test/scala/unit/kafka/server/KafkaConfigConfigDefTest.scala 
8014a5a6c362785539f24eb03d77278434614fe6 
  core/src/test/scala/unit/kafka/server/ThrottledRequestExpirationTest.scala 
PRE-CREATION 
  gradle.properties 90b1945372e767b9c2d0a50df9eb7063e0629952 

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


Testing
-------


Thanks,

Aditya Auradkar

Reply via email to