When I move force-persist to the backend, it indeed works. From some other post I understand it's only possible to bypass the maintenance mode where stickiness is used?
Best regards, Pieter Vogelaar Op 02-03-18 06:32 heeft Willy Tarreau <w...@1wt.eu> geschreven: Hi Cyril, On Thu, Mar 01, 2018 at 08:50:55PM +0100, Cyril Bonté wrote: > Well, I think your issue will be resolved by moving "force-persist" on the > backend side instead of the frontend one. > > The issue seems to exist from the first day of "force-persist", where the > code and the documentation don't agree about the sections where it can be > used. > > From the documentation and the config parser, it can be used in a frontend, > but the code only loop on the s->be to evaluate the > persistence options. I think you are totally right. At first this caught my eye, but I looked at the doc, and found that it was apparently supported in the frontend, which surprised me. Then a quick look at the code told me that we were setting SF_FORCE_PRST regardless of the frontend or backend. But after your comment I looked closer and noticed that the place where it's done is when processing the content switching rules, so by definition it can only be done on the backend. > > See commit http://git.haproxy.org/?p=haproxy.git;a=commit;h=4de9149f876cc0c63495b71a2c7a3aefc722c9c0 > for details. > > The same issue was also introduced with "ignore-persist". You're right, both are set in the same loop. Usually I prefer to adapt the code to make it match the doc, but here I don't see a reasonable way to do it, so I think we'll instead update the code to emit a warning and update the doc. Any objection ? Thanks, Willy