smtcbn
2a64ca82e6
app_queue: fix double increment of member->calls with shared_lastcall
...
Under high concurrency, update_queue() may be invoked multiple times
for the same call, causing member->calls and queue-level counters to
be incremented more than once.
The existing starttime check is not atomic and allows concurrent
execution paths to pass. Treat member->starttime as a single-use token
and consume it via CAS to ensure the call is counted exactly once.
This also prevents incorrect call distribution when using strategies
such as fewestcalls.
Observed as a regression after upgrading to 20.17.
Resolves : #1736
2026-06-04 13:04:20 +00:00
..
2025-05-01 12:39:48 +00:00
2025-10-30 16:05:55 +00:00
2025-09-17 14:04:26 -06:00
2025-03-20 18:18:28 +00:00
2026-03-26 19:23:12 +00:00
2025-03-20 18:18:28 +00:00
2025-05-01 12:39:48 +00:00
2025-03-20 18:18:28 +00:00
2025-03-20 18:18:28 +00:00
2025-03-20 18:18:28 +00:00
2025-03-20 18:18:28 +00:00
2025-03-20 18:18:28 +00:00
2025-05-01 12:39:48 +00:00
2025-03-20 18:18:28 +00:00
2025-03-20 18:18:28 +00:00
2025-03-20 18:18:28 +00:00
2025-09-17 14:04:27 -06:00
2025-05-01 12:39:48 +00:00
2025-03-20 18:18:28 +00:00
2025-03-20 18:18:28 +00:00
2026-06-04 13:04:19 +00:00
2025-03-20 18:18:28 +00:00
2026-01-15 16:47:30 +00:00
2025-03-20 18:18:28 +00:00
2025-03-20 18:18:28 +00:00
2026-01-15 16:47:30 +00:00
2025-03-20 18:18:28 +00:00
2025-05-01 12:39:48 +00:00
2025-03-20 18:18:28 +00:00
2026-03-26 19:23:12 +00:00
2025-03-20 18:18:28 +00:00
2025-03-20 18:18:28 +00:00
2025-03-20 18:18:28 +00:00
2025-03-20 18:18:28 +00:00
2025-03-20 18:18:28 +00:00
2025-03-20 18:18:28 +00:00
2025-03-20 18:18:28 +00:00
2025-05-01 12:39:48 +00:00
2023-09-06 16:56:00 +00:00
2025-05-01 12:39:48 +00:00
2025-01-23 18:36:04 +00:00
2025-03-20 18:18:28 +00:00
2026-03-26 19:23:12 +00:00
2026-01-15 16:47:31 +00:00
2025-05-01 12:39:48 +00:00
2025-05-01 12:39:48 +00:00
2025-03-20 18:18:28 +00:00
2021-08-11 08:14:51 -05:00
2025-03-20 18:18:28 +00:00
2026-03-26 19:23:12 +00:00
2025-03-20 18:18:28 +00:00
2025-03-20 18:18:28 +00:00
2026-06-04 13:04:20 +00:00
2025-03-20 18:18:28 +00:00
2025-03-20 18:18:28 +00:00
2026-03-26 19:23:12 +00:00
2026-01-15 16:47:30 +00:00
2025-05-01 12:39:48 +00:00
2025-03-20 18:18:28 +00:00
2025-03-20 18:18:28 +00:00
2025-03-20 18:18:28 +00:00
2025-10-30 16:05:56 +00:00
2025-03-20 18:18:28 +00:00
2025-05-01 12:39:48 +00:00
2025-09-17 14:03:00 -06:00
2025-03-20 18:18:28 +00:00
2025-03-20 18:18:28 +00:00
2025-03-20 18:18:29 +00:00
2026-06-04 13:04:19 +00:00
2025-09-17 14:03:00 -06:00
2025-03-20 18:18:28 +00:00
2026-01-15 16:47:30 +00:00
2025-03-20 18:18:28 +00:00
2025-03-20 18:18:28 +00:00
2025-03-20 18:18:28 +00:00
2025-03-20 18:18:28 +00:00
2025-03-20 18:18:28 +00:00
2025-03-20 18:18:28 +00:00
2019-06-28 07:32:03 -06:00
2019-06-28 07:32:03 -06:00
2019-06-28 07:32:03 -06:00
2019-06-28 07:32:03 -06:00
2026-06-04 13:04:19 +00:00
2012-06-15 15:33:41 +00:00
2025-01-23 18:36:04 +00:00
2025-03-20 18:18:28 +00:00
2025-09-17 14:04:27 -06:00
2025-03-20 18:18:28 +00:00
2025-03-20 18:18:28 +00:00
2025-03-20 18:18:28 +00:00
2017-12-22 09:23:22 -05:00
2017-12-22 09:23:22 -05:00
2025-09-17 14:02:59 -06:00