-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/33049/
-----------------------------------------------------------
(Updated June 4, 2015, 11:32 p.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)
-------
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 for both producer and consumer
6. This doesn't include a system test. There is a separate ticket for that
7. Fixed KAFKA-2191 - (Included fix from : https://reviews.apache.org/r/34418/ )
Addressing Joel's comments
Diffs
-----
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/common/metrics/MetricsTest.java
544e120594de78c43581a980b1e4087b4fb98ccb
clients/src/test/java/org/apache/kafka/common/utils/MockTime.java
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/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
Diff: https://reviews.apache.org/r/33049/diff/
Testing
-------
Thanks,
Aditya Auradkar