apache kafka – Where is it specified that request.timeout.ms must be more than session.timeout.ms?
I came across this post and the most popular answer mentioned that this is a requirement in Kafka consumer config:
request.timeout.ms > session.timeout.ms + fetch.wait.max.ms
Where do I find the official documentation stating this (and maybe other requirements I should be aware of)?
I reference docs.confluent.io/platform/current/installation/configuration/consumer-configs.html for my kafka configurations, and notice that by default, session.timeout.ms is less than request.timeout.ms, which goes against the above requirement.
session.timeout.ms
The timeout used to detect client failures when using Kafka’s group management facility.
The client sends periodic heartbeats to indicate its liveness to the broker.
If no heartbeats are received by the broker before the expiration of this session timeout,
then the broker will remove this client from the group and initiate a rebalance. Note that
the value must be in the allowable range as configured in the broker configuration by
group.min.session.timeout.ms and group.max.session.timeout.ms. Note that this configuration
is not supported when group.protocol is set to “consumer”.
Type: int
Default: 45000 (45 seconds)
Valid Values:
Importance: high
----
request.timeout.ms
The configuration controls the maximum amount of time the client will wait for the response
of a request. If the response is not received before the timeout elapses the client will
resend the request if necessary or fail the request if retries are exhausted.
Type: int
Default: 30000 (30 seconds)
Valid Values: [0,…]
Importance: medium
Read more here: Source link
