Bug 2012912

Summary: Increase Available Sticky Counters
Product: [Fedora] Fedora Reporter: Matt <mjrafferty0>
Component: haproxyAssignee: Ryan O'Hara <rohara>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: low Docs Contact:
Priority: unspecified    
Version: rawhideCC: bperkins, carl, jeremy, mjrafferty0, rohara, xose.vazquez
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: haproxy-2.4.8-2.fc35 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-11-13 01:06:40 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
Patch to increase sticky counters. none

Description Matt 2021-10-11 15:10:53 UTC
Created attachment 1831894 [details]
Patch to increase sticky counters.

Opening this as a feature request and not as a bug report. I've attached a patch file that expands the available sticky counters from the default of 3, to 12 which is the default for haproxy enterprise. More sticky counters allows for tracking more pieces of information about requests in stick tables. I've opened this for the F35 branch because the haproxy version matches what is used in the ius repo I'm primarily concerned with:

https://github.com/iusrepo/haproxy22/pull/15

The change is valid for newer haproxy versions as well though and should be equally valuable in rawhide.

Comment 1 Ryan O'Hara 2021-10-13 16:01:32 UTC
I'll definitely consider this, but the patch is based on haproxy 2.2. Rawhide and F35 both have haproxy 2.4.

Comment 2 Matt 2021-10-14 14:28:47 UTC
My mistake, it looks like it was actually F33 where I saw this version, so I've updated the report accordingly. The option should is valid for newer versions as well.

Comment 3 Ryan O'Hara 2021-10-21 17:14:16 UTC
One last question. Did anyone talk to upstream about this change? It seems harmless, but if the default is 3 and we're going to increase it to 12, is there any downside (ie. performance hit or significant increase in memory)? Just curious.

Comment 4 Matt 2021-10-21 17:23:24 UTC
I chose 12 specifically because it's what the haproxy enterprise package uses as a default. I don't believe the availability of the counters would increase memory by itself, but adding more stick tables to your haproxy.cfg to use the extra stick counters will add memory relative to the size of the tables. I have not discussed this with upstream, but I do have one server that I manually applied this to which didn't show any appreciable change in memory usage.

Comment 5 Ben Cotton 2021-11-04 13:39:14 UTC
This message is a reminder that Fedora 33 is nearing its end of life.
Fedora will stop maintaining and issuing updates for Fedora 33 on 2021-11-30.
It is Fedora's policy to close all bug reports from releases that are no longer
maintained. At that time this bug will be closed as EOL if it remains open with a
Fedora 'version' of '33'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 33 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 6 Ben Cotton 2021-11-04 14:08:48 UTC
This message is a reminder that Fedora 33 is nearing its end of life.
Fedora will stop maintaining and issuing updates for Fedora 33 on 2021-11-30.
It is Fedora's policy to close all bug reports from releases that are no longer
maintained. At that time this bug will be closed as EOL if it remains open with a
Fedora 'version' of '33'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 33 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 7 Ben Cotton 2021-11-04 15:05:48 UTC
This message is a reminder that Fedora 33 is nearing its end of life.
Fedora will stop maintaining and issuing updates for Fedora 33 on 2021-11-30.
It is Fedora's policy to close all bug reports from releases that are no longer
maintained. At that time this bug will be closed as EOL if it remains open with a
Fedora 'version' of '33'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 33 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 8 Ryan O'Hara 2021-11-04 17:17:54 UTC
I've added this to rawhide and Fedora 35. Do you need to think Fedora 34 and/or Fedora 33? As you can see above, we only have a few weeks until F33 will be EOL. I can still push out an update if needed.

Comment 9 Fedora Update System 2021-11-04 17:27:26 UTC
FEDORA-2021-c56898c829 has been submitted as an update to Fedora 35. https://bodhi.fedoraproject.org/updates/FEDORA-2021-c56898c829

Comment 10 Fedora Update System 2021-11-05 01:22:13 UTC
FEDORA-2021-c56898c829 has been pushed to the Fedora 35 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2021-c56898c829`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2021-c56898c829

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 11 Matt 2021-11-09 04:46:58 UTC
Sorry for the delay on this. I'm fine with targeting a newer version for this request, no need to put extra effort in on an EOL package.

Comment 12 Fedora Update System 2021-11-13 01:06:40 UTC
FEDORA-2021-c56898c829 has been pushed to the Fedora 35 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 13 Xose Vazquez Perez 2024-03-11 20:24:20 UTC
2.8 version made this compile option, MAX_SESS_STKCTR, obsolete.
Now it's a directive, tune.stick-counters, in the global section:
https://www.haproxy.com/blog/announcing-haproxy-2-8#set-the-number-of-sticky-counter.

Comment 14 Xose Vazquez Perez 2024-03-11 20:29:23 UTC
(In reply to Xose Vazquez Perez from comment #13)

> 2.8 version made this compile option, MAX_SESS_STKCTR, obsolete.
> Now it's a directive, tune.stick-counters, in the global section:
> https://www.haproxy.com/blog/announcing-haproxy-2-8#set-the-number-of-sticky-
> counter.

correct URL: https://www.haproxy.com/blog/announcing-haproxy-2-8#set-the-number-of-sticky-counters