conduktor.io ↗

fetch.max.wait.ms — Kafka Consumer Configuration

The maximum amount of time the server will block before answering the fetch request there isn't sufficient data to immediately satisfy the requirement given by fetch.min.

Description

The maximum amount of time the server will block before answering the fetch request there isn't sufficient data to immediately satisfy the requirement given by fetch.min.bytes. This config is used only for local log fetch. To tune the remote fetch maximum wait time, please refer to 'remote.fetch.max.wait.ms' broker config

Default Values by Kafka Version

Kafka VersionDefault Value
0.9.0500
0.10.0500
0.10.1500
0.10.2500
0.11.0500
1.0500
1.1500
2.0500
2.1500
2.2500
2.3500
2.4500
2.5500
2.6500
2.7500
2.8500
3.0500
3.1500
3.2500
3.3500
3.4500
3.5500
3.6500
3.7500
3.8500
3.9500
4.0500
4.1500
4.2500

Tuning Recommendation

ProfileRecommendedWhy
consumer / throughput500The 500ms default is the upper bound the broker waits before responding if fetch.min.bytes is not yet satisfied. For high-throughput topics this bound is rarely hit; keeping it at 500ms is appropriate. Lowering it defeats fetch.min.bytes batching; raising it risks excessive lag accumulation during traffic lulls.
consumer / latency10Reducing the broker-side wait from 500ms to 10ms ensures the broker responds within 10ms even if fetch.min.bytes is not yet satisfied. This is the primary lever for reducing consumer-side latency: the broker no longer holds the connection for half a second waiting to batch data.

Related Configs

fetch.min.bytes · fetch.max.bytes

Manage Kafka configs across all your clusters with Conduktor Console — view, compare, and update configurations in one place.