On Wed, Nov 13, 2013 at 03:59:20PM +0100, Willy Tarreau wrote: > On Wed, Nov 13, 2013 at 09:41:31AM -0500, Bhaskar Maddala wrote: > > > 2/4 : > > > - I really like your principle of keeping the default settings > > compatible > > > with current implementations. That said, I still think that since 1.4 > > > does not have the full avalanche with consistent hashing, we should > > > probably not enable it by default anymore. In fact, 1.4 is the only > > > stable version right now (and it's the same as the one you're using). > > > People who use 1.5-dev are used to be careful in their upgrades. So I > > > think that it would be better to remove the avalanche by default even > > > when doing a consistent hash. That way it will not change anything for > > > people migrating from 1.4 to 1.5. And the current 1.5-dev users will > > be > > > able to get the same behaviour as today by explicitly adding > > "avalanche" > > > on the hash-type line. It will also make the directive behave in a > > much > > > more consistent way. > > > > I have no concerns over this. I might have misunderstood one of our > > conversations as implying that backward compatibility was a requirement. > > If anything the code in cfgparse is a little more confusing to understand > > when attempting to maintain backwards compatibility. > > I think I have not been very clear in fact. My concern is about backwards > compatibility between *stable* versions. Since 1.4 and 1.5-dev do not work > the same way, I'd rather keep 1.4's behaviour as the standard one than 1.5's > which is still in development and subject to change.
I just found that I was wrong on this point. 1.4 and 1.5 *do* apply a full avalanche hash after the first algorithm. In 1.4 it was named differently : chash_hash(). So I'll keep what you did in fact, so that "hash-type consistent" defaults to using sdbm+avalanche. Regards, Willy

