haproxy/src
Bhaskar 98634f0c7b MEDIUM: backend: Enhance hash-type directive with an algorithm options
Summary:
In testing at tumblr, we found that using djb2 hashing instead of the
default sdbm hashing resulted is better workload distribution to our backends.

This commit implements a change, that allows the user to specify the hash
function they want to use. It does not limit itself to consistent hashing
scenarios.

The supported hash functions are sdbm (default), and djb2.

For a discussion of the feature and analysis, see mailing list thread
"Consistent hashing alternative to sdbm" :

      http://marc.info/?l=haproxy&m=138213693909219

Note: This change does NOT make changes to new features, for instance,
applying an avalance hashing always being performed before applying
consistent hashing.
2013-11-14 16:37:50 +01:00
..
acl.c BUG/MINOR: acl: remove patterns from the tree before freeing them 2013-11-14 16:37:50 +01:00
appsession.c MEDIUM: make the trash be a chunk instead of a char * 2012-10-29 16:57:30 +01:00
arg.c MAJOR: sample: maintain a per-proxy list of the fetch args to resolve 2013-04-03 02:13:02 +02:00
auth.c CLEANUP: auth: make the code build again with DEBUG_AUTH 2012-05-10 23:25:35 +02:00
backend.c MEDIUM: backend: Enhance hash-type directive with an algorithm options 2013-11-14 16:37:50 +01:00
base64.c [MINOR] add encode/decode function for 30-bit integers from/to base64 2010-10-30 19:04:33 +02:00
buffer.c MINOR: buffer: align the last output line of buffer_dump() 2013-11-14 08:23:26 +01:00
cfgparse.c MEDIUM: backend: Enhance hash-type directive with an algorithm options 2013-11-14 16:37:50 +01:00
channel.c OPTIM: channel: inline channel_forward's fast path 2012-10-26 01:08:01 +02:00
checks.c BUG/MINOR: fix forcing fastinter in "on-error" 2013-09-23 08:49:50 +02:00
chunk.c MINOR: chunks: centralize the trash chunk allocation 2012-12-23 21:46:07 +01:00
compression.c MEDIUM: sample: systematically pass the keyword pointer to the keyword 2013-08-01 21:17:13 +02:00
connection.c BUG/MEDIUM: fix broken send_proxy on FreeBSD 2013-09-03 09:08:31 +02:00
cttproxy.c CLEANUP: cttproxy: remove a warning on undeclared close() 2012-10-05 22:18:07 +02:00
dumpstats.c BUG/MINOR: cli: "clear table" must not kill entries that don't match condition 2013-08-13 16:50:32 +02:00
ev_epoll.c BUG/MINOR: epoll: use a fix maxevents argument in epoll_wait() 2013-01-18 15:31:03 +01:00
ev_kqueue.c BUG/MINOR: poll: the I/O handler was called twice for polled I/Os 2012-12-14 00:17:03 +01:00
ev_poll.c MEDIUM: poll: do not use FD_* macros anymore 2013-03-31 15:01:01 +02:00
ev_select.c BUG/MAJOR: ev_select: disable the select() poller if maxsock > FD_SETSIZE 2013-03-31 15:01:05 +02:00
fd.c BUG: polling: don't skip polled events in the spec list 2012-11-12 01:57:14 +01:00
freq_ctr.c BUG/MINOR: time: frequency counters are not totally accurate 2012-12-29 21:50:07 +01:00
frontend.c MEDIUM: sample: systematically pass the keyword pointer to the keyword 2013-08-01 21:17:13 +02:00
haproxy-systemd-wrapper.c BUILD: stdbool is not portable (again) 2013-05-01 10:09:30 +02:00
haproxy.c BUG/MINOR: deinit: free server map which is allocated in init_server_map() 2013-10-06 13:34:09 +02:00
hash.c MEDIUM: backend: Enhance hash-type directive with an algorithm options 2013-11-14 16:37:50 +01:00
hdr_idx.c OPTIM/MINOR: move the hdr_idx pools out of the proxy struct 2011-10-24 18:15:04 +02:00
i386-linux-vsys.c MEDIUM: listener: add support for linux's accept4() syscall 2012-10-08 20:11:03 +02:00
lb_chash.c BUG/MAJOR: backend: consistent hash can loop forever in certain circumstances 2013-04-12 14:46:51 +02:00
lb_fas.c CLEANUP: lb_first: add reference to a paper describing the original idea 2012-04-07 09:08:45 +02:00
lb_fwlc.c [MEDIUM] build: switch ebtree users to use new ebtree version 2009-10-26 21:10:04 +01:00
lb_fwrr.c BUG/MEDIUM: server: set the macro for server's max weight SRV_UWGHT_MAX to SRV_UWGHT_RANGE 2013-07-22 09:29:34 +02:00
lb_map.c BUG/MINOR: use the same check condition for server as other algorithms 2013-08-13 16:15:08 +02:00
listener.c MEDIUM: sample: systematically pass the keyword pointer to the keyword 2013-08-01 21:17:13 +02:00
log.c BUG/MINOR: log: junk at the end of syslog packet 2013-08-31 08:02:09 +02:00
memory.c MEDIUM: memory: add the ability to poison memory at run time 2012-05-08 21:28:16 +02:00
payload.c MINOR: payload: provide the "res.len" fetch method 2013-09-11 23:28:51 +02:00
peers.c BUG/MINOR: peers: set the accept date in outgoing connections 2013-10-30 08:12:26 +01:00
pipe.c BUILD/MINOR: silent a build warning in src/pipe.c (fcntl) 2011-10-24 17:09:22 +02:00
proto_http.c MINOR: http: change url_decode to return the size of the decoded string. 2013-10-23 12:26:50 +02:00
proto_tcp.c MINOR: tcp: don't use tick_add_ifset() when timeout is known to be set 2013-11-04 18:12:20 +01:00
proto_uxst.c MAJOR: listener: support inheriting a listening fd from the parent 2013-03-11 01:30:01 +01:00
protocol.c REORG: split "protocols" files into protocol and listener 2012-09-15 22:29:32 +02:00
proxy.c MEDIUM: stick-tables: flush old entries upon soft-stop 2013-09-04 17:54:01 +02:00
queue.c MAJOR: connection: replace struct target with a pointer to an enum 2012-11-12 00:42:33 +01:00
raw_sock.c BUG/MEDIUM: splicing: fix abnormal CPU usage with splicing 2013-07-22 09:31:55 +02:00
rbtree.c [MINOR] imported the rbtree function from Linux kernel 2007-01-07 02:12:57 +01:00
regex.c CLEANUP: regex: Create regex_comp function that compiles regex using compilation options 2013-10-14 14:42:50 +02:00
sample.c MEDIUM: sample: systematically pass the keyword pointer to the keyword 2013-08-01 21:17:13 +02:00
server.c MEDIUM: server: Tighten up parsing of weight string 2013-02-13 10:59:50 +01:00
session.c BUG/MEDIUM: session: risk of crash on out of memory conditions 2013-10-30 07:59:03 +01:00
sessionhash.c [PATCH] appsessions: cleanup DEBUG_HASH and initialize request_counter 2008-08-13 23:43:26 +02:00
shctx.c BUG/MEDIUM: shctx: makes the code independent on SSL runtime version. 2013-04-26 19:15:52 +02:00
signal.c BUG/MEDIUM: signal: signal handler does not properly check for signal bounds 2013-01-24 16:19:19 +01:00
ssl_sock.c BUG/MINOR: ssl: verifyhost does not match empty strings on wildcard. 2013-10-10 11:33:27 +02:00
standard.c MINOR: http: change url_decode to return the size of the decoded string. 2013-10-23 12:26:50 +02:00
stick_table.c MEDIUM: stick-tables: flush old entries upon soft-stop 2013-09-04 17:54:01 +02:00
stream_interface.c CLEANUP: stream_interface: cleanup loop information in si_conn_send_loop() 2013-10-12 07:53:33 +02:00
task.c [OPTIM] task: don't scan the run queue if we know it's empty 2011-09-10 20:08:49 +02:00
time.c BUG/MINOR: time: frequency counters are not totally accurate 2012-12-29 21:50:07 +01:00
trace.c MINOR: add a new function call tracer for debugging purposes 2012-05-26 00:12:37 +02:00
uri_auth.c BUG/MEDIUM: uri_auth: missing NULL check and memory leak on memory shortage 2013-01-24 16:19:19 +01:00