Replies: 1 comment 1 reply
-
We don't do anything with fetch.wait.max.ms in librdkafka other than pass it to the broker in the FetchRequest, so I recommend setting |
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Hi 👋
First of: thank you for the great library!
App
I'm running some tests using the library's ruby binding using a no-op consumer, where the only "processing" I do per record, is to emit a Datadog metric to measure message latency, calculated as the delta between current wall time and message
CreateTime
.Configuration
I'm using the following configs:
fetch.wait.max.ms
: 200,fetch.min.bytes
: 100000000, # Max allowed valuemax.partition.fetch.bytes
: 1000000000, # Max allowed valuereceive.message.max.bytes
: 2147483647, # Max allowed valuefetch.max.bytes
: 2147483135 # receive.message.max.bytes - 512Expectation
Based on the above configs, I would expect that latency would be greater than or equal to 200 ms, since all the other options that might short-circuit a fetch request (
fetch.min.bytes
,fetch.max.bytes
, etc.) are effectively disabled.Results
Latency is consistently below 100 ms. Obviously, lower latencies are a good thing in general 🙂 However, I want to make sure that my mental model of how librdkafka implements the fetch protocol is correct so I can assist our users with misbehaving apps. These results simply don't make sense to me.
Am I missing something?
TIA 🙏
Beta Was this translation helpful? Give feedback.
All reactions