Commit 512ce10
committed
BUG/MINOR: sink: retry attempt for sft server may never occur
Since 9561b9f ("BUG/MINOR: sink: add tempo between 2 connection
attempts for sft servers"), there is a possibility that the tempo we use
to schedule the task expiry may point to TICK_ETERNITY as we add ticks to
tempo with a simple addition that doesn't take care of potential wrapping.
When this happens (although relatively rare, since now_ms only wraps every
49.7 days, but a forced wrap occurs 20 seconds after haproxy is started
so it is more likely to happen there), the process_sink_forward() task
expiry being set to TICK_ETERNITY, it may never be called again, this
is especially true if the ring section only contains a single server.
To fix the issue, we must use tick_add() helper function to set the tempo
value and this way we ensure that the value will never be TICK_ETERNITY.
It must be backported everywhere 9561b9f was backported (up to 2.6
it seems).
(cherry picked from commit c26ac3f)
Signed-off-by: Aurelien DARRAGON <adarragon@haproxy.com>
(cherry picked from commit 27e59792c158aef7219194f43bc9e2d9d060b758)
Signed-off-by: Aurelien DARRAGON <adarragon@haproxy.com>
(cherry picked from commit 0a1603052030876249140f2a92038f79611faa58)
Signed-off-by: Aurelien DARRAGON <adarragon@haproxy.com>
(cherry picked from commit b2cd824a3d48fa279cd49d0ffd609a9f7a8f6e05)
Signed-off-by: Aurelien DARRAGON <adarragon@haproxy.com>1 parent f3b71c0 commit 512ce10
1 file changed
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
704 | 704 | | |
705 | 705 | | |
706 | 706 | | |
707 | | - | |
| 707 | + | |
708 | 708 | | |
709 | 709 | | |
710 | 710 | | |
| |||
0 commit comments