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 Version | Default Value |
|---|---|
| 0.9.0 | 500 |
| 0.10.0 | 500 |
| 0.10.1 | 500 |
| 0.10.2 | 500 |
| 0.11.0 | 500 |
| 1.0 | 500 |
| 1.1 | 500 |
| 2.0 | 500 |
| 2.1 | 500 |
| 2.2 | 500 |
| 2.3 | 500 |
| 2.4 | 500 |
| 2.5 | 500 |
| 2.6 | 500 |
| 2.7 | 500 |
| 2.8 | 500 |
| 3.0 | 500 |
| 3.1 | 500 |
| 3.2 | 500 |
| 3.3 | 500 |
| 3.4 | 500 |
| 3.5 | 500 |
| 3.6 | 500 |
| 3.7 | 500 |
| 3.8 | 500 |
| 3.9 | 500 |
| 4.0 | 500 |
| 4.1 | 500 |
| 4.2 | 500 |
Tuning Recommendation
| Profile | Recommended | Why |
|---|---|---|
| consumer / throughput | 500 | The 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 / latency | 10 | Reducing 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.