Hi Cyril, On Wed, Jun 11, 2014 at 11:39:52AM +0200, [email protected] wrote: > Hi all, > > Le 11/06/2014 11:33, Willy Tarreau a écrit : > > Hello Olivier, > > > > On Wed, Jun 11, 2014 at 11:21:34AM +0200, Olivier wrote: > >> As a new major release is soon to be released (1.5.0), I would be even > >> more strict : MySQL <= 4.0 are not very common these days, so I would > >> change default check to use Nenad Patch, and create a new option > >> mysql40-check that use the old auth. > >> For a vast majority of users, there would be no change needed and it > >> will work for future MySQL/Maria versions. > >> We can provide a mysql40-check option for very old server to keep > >> running, and document it in "major 1.50 changes that could break your > >> app". > > > > I really disagree with this approach, as it will silently break for some > > setups. People will simply upgrade and will see after a while that their > > servers are down. If we had introduced this option in 1.5-dev, I would > > have agreed, but it's been there for 4 years now since version 1.4, so > > we should not silently break it. Also, till now we have always maintained > > compatibility since 1.1 for all valid configs. I don't have trouble with > > breaking some compatibility when opening 1.6-dev, but it's a bit late for > > 1.5. > > An alternative could be to modify how the check is done. During the > handshake, the server notifies the client which version is supported. > It has the advantage that it doesn't add any new option but the inconvenient > is that the mysql check may need to be completely reworked.
That's an interesting idea. In the past it was not possible, but now we are able to send multiple request/responses, so that might be workable. One possibility could be to "emulate" the check using tcp-check sequences. However it wouldn't support both versions. Thus, maybe we should keep Nenad's extra argument for now, and later improve the check to adapt to the server's version, and then simply ignore the extra argument. What do you think ? Willy

