Hi Willy, Don't worry, it's an easy mistake.
Yeah, you're absolutely right, my mistake. I assumed that both the URLs were "github.com/51degrees", however as the first one is "git.51degrees.com" which does indeed contain the deprecated Trie source, you can carry on using 3.2.10 on this URL. I have attached a patch on top of Dragan's which updates the branch name for 3.2.12 and adds instructions for obtaining a free Hash Trie data file. Whilst Trie is still available, I think it is important to make it clear to users that, as it uses a lot of memory and was not an optimal solution, the new hash based acyclic graph solution (Hash Trie) is the preferred solution. The new solution uses 20% of the memory and is 300% faster whilst offering tuning options such as difference and drift to avoid over fitting results to the training data. The source code folder continues to be named "trie" to maintain backwards compatibility in build processes, and source code is public interface compatible with prior versions (as implied by Dragan's statement in the readme). 51Degrees are suggesting the small number of Trie users migrate to the new version with HAProxy. Any feedback from the HAProxy community would be very useful to gauge demand for further updates to the prior Trie data files. Just to summarise, 3.2.10 on git.51degrees.com/device-detection should be used for the old Trie source, and 3.2.12 on github.com/51degrees/device-detection should be used for the new Hash Trie source. Apologies for any confusion. Regards, Ben Shillito Developer O: +44 1183 287152 E: [email protected] T: @51Degrees -----Original Message----- From: Willy TARREAU [mailto:[email protected]] Sent: 05 October 2017 17:39 To: Ben Shillito <[email protected]> Cc: Dragan Dosen <[email protected]>; [email protected] Subject: Re: [PATCHES] 51d: fix warning when building with 51Degrees release version 3.2.12.12 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 This email and any attachments are confidential and may also be privileged. If you are not the named recipient, please notify the sender immediately and do not disclose, use, store or copy the information contained herein. This is an email from 51Degrees.mobi Limited, 5 Charlotte Close, Reading. RG47BY. T: +44 118 328 7152; E: [email protected]; 51Degrees.mobi Limited t/as 51Degrees.
0001-DOC-51d-Updated-git-URL-and-instructions-for-getting.patch
Description: 0001-DOC-51d-Updated-git-URL-and-instructions-for-getting.patch

