[jira] [Created] (KAFKA-16044) Throttling using Topic Partition Quota

2023-12-21 Thread Afshin Moazami (Jira)
Afshin Moazami created KAFKA-16044:
--

 Summary: Throttling using Topic Partition Quota 
 Key: KAFKA-16044
 URL: https://issues.apache.org/jira/browse/KAFKA-16044
 Project: Kafka
  Issue Type: New Feature
Reporter: Afshin Moazami


With 
!https://issues.apache.org/jira/secure/viewavatar?size=xsmall=21141=issuetype!
 KAFKA-16042 introducing the topic-partition byte rate and metrics, and 
!https://issues.apache.org/jira/secure/viewavatar?size=xsmall=21141=issuetype!
 KAFKA-16043 introducing the quota limit configuration in the topic-level, we 
can enforce quota on topic-partition level for configured topics. 

More details in the 
[KIP-1010|https://cwiki.apache.org/confluence/display/KAFKA/KIP-1010%3A+Topic+Partition+Quota]



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Created] (KAFKA-16043) Add Quota configuration for topics

2023-12-21 Thread Afshin Moazami (Jira)
Afshin Moazami created KAFKA-16043:
--

 Summary: Add Quota configuration for topics
 Key: KAFKA-16043
 URL: https://issues.apache.org/jira/browse/KAFKA-16043
 Project: Kafka
  Issue Type: New Feature
Reporter: Afshin Moazami


To be able to have topic-partition quota, we need to introduce two topic 
configuration for the producer-byte-rate and consumer-byte-rate. 

The assumption is that all partitions of the same topic get the same quota, so 
we define one config per topic. 

This configuration should work both with zookeeper and kraft setup. 

Also, we should define a default quota value (to be discussed) and potentially 
use the same format as user/client default configuration using `` as 
the value. 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Created] (KAFKA-16042) Quota Metrics based on per topic-partition produce/fetch byte rate

2023-12-21 Thread Afshin Moazami (Jira)
Afshin Moazami created KAFKA-16042:
--

 Summary: Quota Metrics based on per topic-partition produce/fetch 
byte rate
 Key: KAFKA-16042
 URL: https://issues.apache.org/jira/browse/KAFKA-16042
 Project: Kafka
  Issue Type: New Feature
  Components: core
Reporter: Afshin Moazami
Assignee: Afshin Moazami


Currently, Kafka emits the producer-byte-rate and fetch-bytes-rate for quota 
calculations. By adding a new signature to the 
`[quotaMetricTags|https://github.com/afshing/kafka/blob/trunk/clients/src/main/java/org/apache/kafka/server/quota/ClientQuotaCallback.java#L40]`
 method to add the individual topic-partitions size as a parameter, we can 
define metrics based on the topic name and partition id. 

To do that, we need both `ProduceRequest` and `FetchResponse` have the 
`partitionSizes` method and it is public. 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)