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
    

Reply via email to