Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Compatibility, Deprecation, and Migration Plan

  1. Default value of delivery.timeout.ms = 120 seconds
  2. Default value of retries will be changed to MAX_INT. Setting an explicit value of retries other than MAX_INT is deprecated. Use delivery.timeout.ms instead. If retries is set to a low value, exhaustion of retries for a request will not cause the contained batches to fail if delivery.timeout.ms has not passed. In effect retries config is ignoredshould be done with caution. If all the retries are exhausted, the request will fail and all the contained batches within the request (even if delivery.timeout.ms has not fully elapsed). In essence, batch expires when either delivery.timeout.ms has elapsed or the request containing the batch has failed, whichever happens first. 
  3. The default value of max.in.flight.request.per.connection is 5 and therefore reordering is a possibility. To prevent reordering, set max.in.flight.request.per.connection==1.
  4. request.timeout.ms – current meaning, but messages are not expired after this time. I.e., request.timeout.ms is no longer relevant for batch expiry.Default value of delivery.timeout.ms = 120 seconds

Validation

This configuration is backwards compatible. Throw ConfigException for timeouts that don't make sense. (E.g., delivery.timeout.ms < linger.ms + request.timeout.ms + retry.backoff.ms).

...