]> git.ipfire.org Git - thirdparty/haproxy.git/commit
MEDIUM: backend: Implement avalanche as a modifier of the hashing functions.
authorBhaskar Maddala <bhaskar@tumblr.com>
Tue, 5 Nov 2013 16:54:02 +0000 (11:54 -0500)
committerWilly Tarreau <w@1wt.eu>
Thu, 14 Nov 2013 15:37:50 +0000 (16:37 +0100)
commitb6c0ac94a444be5f965f14492bf447ba0910daf1
treed1f9ba70fb97a4c5658450ed8ad1e076f3fc08cd
parent98634f0c7b8d6aff0086fef9fedd90ffc79abcc2
MEDIUM: backend: Implement avalanche as a modifier of the hashing functions.

Summary:
Avalanche is supported not as a native hashing choice, but a modifier
on the hashing function. Note that this means that possible configs
written after 1.5-dev4 using "hash-type avalanche" will get an informative
error instead. But as discussed on the mailing list it seems nobody ever
used it anyway, so let's fix it before the final 1.5 release.

The default values were selected for backward compatibility with previous
releases, as discussed on the mailing list, which means that the consistent
hashing will still apply the avalanche hash by default when no explicit
algorithm is specified.

Examples
  (default) hash-type map-based
Map based hashing using sdbm without avalanche

  (default) hash-type consistent
Consistent hashing using sdbm with avalanche

Additional Examples:

  (a) hash-type map-based sdbm
Same as default for map-based above
  (b) hash-type map-based sdbm avalanche
Map based hashing using sdbm with avalanche
  (c) hash-type map-based djb2
Map based hashing using djb2 without avalanche
  (d) hash-type map-based djb2 avalanche
Map based hashing using djb2 with avalanche
  (e) hash-type consistent sdbm avalanche
Same as default for consistent above
  (f) hash-type consistent sdbm
Consistent hashing using sdbm without avalanche
  (g) hash-type consistent djb2
Consistent hashing using djb2 without avalanche
  (h) hash-type consistent djb2 avalanche
Consistent hashing using djb2 with avalanche
doc/configuration.txt
include/types/backend.h
src/backend.c
src/cfgparse.c