We have 4 properties that are used to configure the back-off policy:

  • spring.kafka.retry.topic.delay
  • spring.kafka.retry.topic.max-delay
  • spring.kafka.retry.topic.multiplier
  • spring.kafka.retry.topic.random-back-off

There are two other properties at the same level that are not related to the back-off policy:

  • spring.kafka.retry.topic.attempts
  • spring.kafka.retry.topic.enabled

We should group the four back-off related properties to make their purpose clear:

  • spring.kafka.retry.topic.backoff.delay
  • spring.kafka.retry.topic.backoff.max-delay
  • spring.kafka.retry.topic.backoff.multiplier
  • spring.kafka.retry.topic.backoff.random

Comment From: travisriegler

Hello, I would like to work on this issue if you believe it to be a good first contribution for someone to work on. I've taken an initial look at the code and I believe I can do it.

Comment From: wilkinsona

Thanks, @travisriegler, it's all yours.

Just in case you're not already aware, when introducing the new properties, the existing properties should be kept in a deprecated form. You can deprecate them by adding @DeprecatedConfigurationProperty to each deprecated property's getter method.

Comment From: scottfrederick

Closing in favor of #41335