-
Notifications
You must be signed in to change notification settings - Fork 2.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: expose rackID option in ingester samara client #3395
feat: expose rackID option in ingester samara client #3395
Conversation
Support for KIP-392 in Sarama consumer client This will allow ingester consumers to fetch from the closest replica. On branch add-kafka-consumer-client-rack Changes to be committed: modified: cmd/ingester/app/flags.go modified: cmd/ingester/app/flags_test.go modified: pkg/kafka/consumer/config.go Signed-off-by: Shai Moria <shai.moria@zooz.com> Signed-off-by: shaimoria <shai.moria@zooz.com>
c4ad44d
to
3bc0a3e
Compare
Codecov Report
@@ Coverage Diff @@
## master #3395 +/- ##
==========================================
- Coverage 96.48% 96.47% -0.02%
==========================================
Files 260 260
Lines 15215 15220 +5
==========================================
+ Hits 14680 14683 +3
- Misses 452 453 +1
- Partials 83 84 +1
Continue to review full report at Codecov.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please explain the use case in the PR description
cmd/ingester/app/flags.go
Outdated
flagSet.String( | ||
KafkaConsumerConfigPrefix+SuffixRackID, | ||
"", | ||
"Configure the 'rack' in which the consumer resides to enable - must be supported by kafka server") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Incomplete sentence
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @yurishkuro.
i update the description
@yurishkuro add explanation for the use case |
set better description for 'rack-id' cli flag Changes to be committed: modified: cmd/ingester/app/flags.go Signed-off-by: shaimoria <shai.moria@zooz.com>
2fc220d
to
824ca28
Compare
Merge branch 'master' into add-kafka-consumer-client-rack
…hyimo/jaeger into add-kafka-consumer-client-rack
## Which problem is this PR solving? RackID option was exposed in [this](#3395) PR but it was not properly parsed from passed flags and set on Sarama client ## Description of the changes - configures Parsed RackID on ConsumerConfig - Fix failing lint issues ## How was this change tested? - Tested by printing the config passed to sarama client ## Checklist - [x] I have read https://github.com/jaegertracing/jaeger/blob/master/CONTRIBUTING_GUIDELINES.md - [x] I have signed all commits - [x] I have added unit tests for the new functionality - [x] I have run lint and test steps successfully - for `jaeger`: `make lint test` - for `jaeger-ui`: `yarn lint` and `yarn test` Signed-off-by: Saketh kappala <43525626+sappusaketh@users.noreply.github.com>
## Which problem is this PR solving? RackID option was exposed in [this](jaegertracing#3395) PR but it was not properly parsed from passed flags and set on Sarama client ## Description of the changes - configures Parsed RackID on ConsumerConfig - Fix failing lint issues ## How was this change tested? - Tested by printing the config passed to sarama client ## Checklist - [x] I have read https://github.com/jaegertracing/jaeger/blob/master/CONTRIBUTING_GUIDELINES.md - [x] I have signed all commits - [x] I have added unit tests for the new functionality - [x] I have run lint and test steps successfully - for `jaeger`: `make lint test` - for `jaeger-ui`: `yarn lint` and `yarn test` Signed-off-by: Saketh kappala <43525626+sappusaketh@users.noreply.github.com> Signed-off-by: Vamshi Maskuri <gwcchintu@gmail.com>
Signed-off-by: shaimoria shai.moria@zooz.com
Which problem is this PR solving?
It is common to have a Kafka cluster spanning multiple datacenters. For example, a common deployment is within an AWS region in which each availability zone is treated as a datacenter. In order to reduce cross region/rack network cost, we can tell the consumer which rack he's located on. this way the consumer will fetch only from partitions that are located on he's region/rack
Short description of the changes
kafka.consumer.rack-id
cli argument in order to ingester consumers to fetch from closest replica