Port of https://github.com/emqx/emqx/pull/10154 for `release-50` Fixes https://emqx.atlassian.net/browse/EMQX-9099 Originally, the `resume_interval`, which is what defines how often a buffer worker will attempt to retry its inflight window, was set to the same as the `health_check_interval`. This had the problem that, with default values, `health_check_interval = request_timeout`. This meant that, if a buffer worker with those configs were ever blocked, all requests would have timed out by the time it retried them. Here we change the default `resume_interval` to a reasonable value dependent on `health_check_interval` and `request_timeout`, and also expose that as a hidden parameter for fine tuning if necessary.
9 lines
465 B
Markdown
9 lines
465 B
Markdown
Change the default `resume_interval` for bridges and connectors to be
|
|
the minimum of `health_check_interval` and `request_timeout / 3`.
|
|
Also exposes it as a hidden configuration to allow fine tuning.
|
|
|
|
Before this change, the default values for `resume_interval` meant
|
|
that, if a buffer ever got blocked due to resource errors or high
|
|
message volumes, then, by the time the buffer would try to resume its
|
|
normal operations, almost all requests would have timed out.
|