On Thu, Oct 05, 2017 at 04:09:09PM +0000, Ben Shillito wrote:
> Hi Willy,
> 
> I have pulled the latest master, but I only see two commits from today. I 
> assume I'm in the right place " http://git.haproxy.org/git/haproxy";?

Argh! Sorry, my fault, I forgot to push :-(

And as stupid as I am I did it to verify so now it's pushed (I could have made
the changes in place otherwise).

> Using 3.2.10 in 1.7 is fine for Pattern, my only concern is that the old Trie
> source is not available to for users to compile in 3.2.10.

I understood after the latest changes resulting in the public repository
being erased that what was put back on the download site precisely was
everything including the Trie that some people were using, but that only
the database was not updated anymore for the Trie algo (ie: what was running
in field would not prevent haproxy from being updated and rebuilt). And I
thought we even got confirmations that it fixed the build issue for them.

> All method signatures in 3.2.12 are unchanged from 3.2.10, so using that
> in 1.7 will not be a problem. If you are more comfortable keeping that
> locked to the fixed 3.2.10, then that is fine,

The principle for our stable versions has always been the same for more
than a decade : once a new version is released and put into stable state,
we don't remove features so that users have exactly zero excuse for not
updating their code within the branch they're using. So if they spent one
month validating that haproxy 1.7 works and writing deployment scripts to
keep it up to date, this process shall never fail during all the 1.7
maintenance cycle. This is why it's important to maintain the compatibility
for something that was emitted. However :

  1) it is not a guarantee that it will become better over time (ie in your
     case you provide a database that may or may not be updated, they're
     free to use an outdated one if that suits their needs),

  2) we should always ensure to limit the number of upgrade cycles for our
     users, which means that new adopters who have not yet settled on a
     choice should always be encouraged to pick the most future-proof one.

So in summary, deployments that used to work with 3.2.10 must continue to
work with it when users simply upgrade their haproxy sources, but those
not using it yet should prefer 3.2.12.

> but the line of Dragan's statement should  then read something like
> "either use the proven stable but frozen 3.2.10 version which supports
> the Pattern algorithm".

That's the part that's confusing me, because based on our previous
discussions that was started by Thierry's report of build breakage, I
understood that what you've put in place ensured it was now OK for them
but that they wouldn't benefit anymore from updates on the Trie database.
Could you please double-check ?

> Or, if it makes things easier for you, I can backport the trie/51Degrees.c/h
> files to 3.2.10, meaning Trie can be used in that version (the Hash Trie
> files we now distribute will be needed instead of the deprecated Trie).

But as we discussed in July, doing this will mean that many end users
will stop upgrading haproxy because it will not work anymore for them
without modifying their download/packaging/deployment processes. That's
why we ended up with two different versions in 1.7 and 1.8.

Thanks,
Willy

Reply via email to