Details
-
Sub-task
-
Status: Resolved
-
Major
-
Resolution: Duplicate
-
None
-
None
-
None
Description
Initial setup and configuration:
In all scenarios, we create the following entities and topic:
- 1 kafka brokers
- 1 topic with replication factor = 1, ackNum = -1, and parition = 6
- 1 producer performance
- 2 console consumers
- 3 jmx tools, one for each of the producer and consumers
- we consider two rates are approximately the same if they differ by at most 10%.
Scenario 1: validate the effectiveness of default producer and consumer quota
1) Let default_producer_quota = default_consumer_quota = 20000 Bytes/sec
2) Produce 2000 messages of 20000 bytes each (with clientId = producer_performance)
3) Wait until producer stops
4) Two consumers consume from the topic (with clientId = group1 and group2 respectively )
5) verify that actual rate is within 10% of expected rate (quota)
Scenario 2: validate the effectiveness of producer and consumer quota override
1) Let default_producer_quota = default_consumer_quota = 20000 Bytes/sec
Override quota of producer_performance and group1 to be 15000 Bytes/sec
2) Produce 2000 messages of 20000 bytes each (with clientId = producer_performance)
3) Wait until producer stops
4) Two consumers consume from the topic (with clientId = group1 and group2 respectively )
5) verify that actual rate is within 10% of expected rate (quota)
Scenario 3: validate the effectiveness of quota sharing
1) Let default_producer_quota = default_consumer_quota = 20000 Bytes/sec
Override quota of producer_performance and group1 to be 15000 Bytes/sec
2) Produce 2000 messages of 20000 bytes each (with clientId = producer_performance)
3) Wait until producer stops
4) Two consumers consume from the topic (with clientId = group1 for both consumers)
5) verify that actual rate is within 10% of expected rate (quota)