haproxy/src
Andrew Rodland 18330ab17f BUG/MINOR: hash-balance-factor isn't effective in certain circumstances
in chash_get_server_hash, we find the nearest server entries both
before and after the request hash. If the next and prev entries both
point to the same server, the function would exit early and return that
server, to save work.

Before hash-balance-factor this was a valid optimization -- one of nsrv
and psrv would definitely be chosen, so if they are the same there's no
need to choose between them. But with hash-balance-factor it's possible
that adding another request to that server would overload it
(chash_server_is_eligible returns false) and we go further around the
ring. So it's not valid to return before checking for that.

This commit simply removes the early return, as it provides a minimal
savings even when it's correct.
2017-04-26 15:45:27 +02:00
..
51d.c CLEANUP: 51d: move global settings out of the global section 2016-12-21 21:30:54 +01:00
acl.c BUG/MEDIUM: acl: proprely release unused args in prune_acl_expr() 2017-04-19 11:31:44 +02:00
applet.c BUG/MAJOR: Fix how the list of entities waiting for a buffer is handled 2016-12-12 19:11:04 +01:00
arg.c BUG/MEDIUM: arg: ensure that we properly unlink unresolved arguments on error 2017-04-13 12:20:52 +02:00
auth.c CLEANUP: auth: use the build options list to report its support 2016-12-21 21:30:54 +01:00
backend.c CLEANUP: Replace repeated code to count usable servers with be_usable_srv() 2017-03-13 18:26:05 +01:00
base64.c
buffer.c CLEANUP: buffers: Remove buffer_bounce_realign function 2017-03-31 14:38:22 +02:00
cfgparse.c MINOR: server: Add 'server-template' new keyword supported in backend sections. 2017-04-21 15:42:10 +02:00
channel.c BUG/MEDIUM: buffers: Fix how input/output data are injected into buffers 2017-03-31 14:36:04 +02:00
checks.c MINOR: server: Add 'no-agent-check' server keyword. 2017-03-27 14:37:01 +02:00
chunk.c MINOR: chunks: implement a simple dynamic allocator for trash buffers 2017-02-08 11:16:29 +01:00
cli.c MINOR: socket transfer: Set a timeout on the socket. 2017-04-13 19:15:17 +02:00
compression.c MINOR: compression: fix -vv output without zlib/slz 2017-01-11 16:11:11 +01:00
connection.c MEDIUM: connection: don't test for CO_FL_WAKE_DATA 2017-03-19 12:17:35 +01:00
da.c CLEANUP: da: move global settings out of the global section 2016-12-21 21:30:54 +01:00
dns.c BUG/MINOR: dns: Wrong address family used when creating IPv6 sockets. 2017-04-11 20:02:21 +02:00
ev_epoll.c MINOR: fd: add a new flag HAP_POLL_F_RDHUP to struct poller 2017-03-21 16:30:35 +01:00
ev_kqueue.c MEDIUM: kqueue: only set FD_POLL_IN when there are pending data 2017-03-21 16:35:17 +01:00
ev_poll.c OPTIM: poll: enable support for POLLRDHUP 2017-03-21 16:30:44 +01:00
ev_select.c MINOR: fd: add a new flag HAP_POLL_F_RDHUP to struct poller 2017-03-21 16:30:35 +01:00
fd.c MINOR: proxy: Don't close FDs if not our proxy. 2017-04-13 19:15:17 +02:00
filters.c BUG/MINOR: filters: Don't force the stream's wakeup when we wait in flt_end_analyze 2017-03-31 14:40:45 +02:00
flt_http_comp.c OPTIM: http: move all http character classs tables into a single one 2016-11-05 15:58:08 +01:00
flt_spoe.c MINOR: spoe: Add "max-frame-size" statement in spoe-agent section 2017-03-09 15:32:56 +01:00
flt_trace.c MINOR: filters: Add check_timeouts callback to handle timers expiration on streams 2016-11-21 15:29:58 +01:00
freq_ctr.c
frontend.c MINOR: proxy: Add fe_name/be_name fetchers next to existing fe_id/be_id 2016-12-12 15:10:43 +01:00
haproxy-systemd-wrapper.c MINOR: systemd wrapper: add support for passing the -x option. 2017-04-13 19:15:17 +02:00
haproxy.c MEDIUM: config: don't check config validity when there are fatal errors 2017-04-19 11:49:11 +02:00
hash.c
hdr_idx.c
hlua_fcn.c BUILD: lua: build failed on FreeBSD. 2016-12-23 18:03:43 +01:00
hlua.c CLEANUP: lua: remove test 2017-04-26 15:13:18 +02:00
i386-linux-vsys.c
lb_chash.c BUG/MINOR: hash-balance-factor isn't effective in certain circumstances 2017-04-26 15:45:27 +02:00
lb_fas.c
lb_fwlc.c
lb_fwrr.c
lb_map.c
listener.c MINOR: proxy: Don't close FDs if not our proxy. 2017-04-13 19:15:17 +02:00
log.c CLEANUP: logs: typo: simgle => single 2017-04-18 14:52:07 +02:00
lru.c
mailers.c
map.c BUG/MINOR: Fix "get map <map> <value>" CLI command 2017-03-13 18:25:53 +01:00
memory.c CLEANUP: memory: remove the now unused cli_parse_show_pools() function 2016-12-16 19:40:13 +01:00
namespace.c CLEANUP: namespaces: use the build options list to report it 2016-12-21 21:30:54 +01:00
pattern.c
payload.c BUG: payload: fix payload not retrieving arbitrary lengths 2017-03-20 07:25:37 +01:00
peers.c BUG/MEDIUM: peers: fix buffer overflow control in intdecode. 2017-03-30 12:12:46 +02:00
pipe.c
proto_http.c BUG/MEDIUM: http: Drop the connection establishment when a redirect is performed 2017-04-21 07:37:45 +02:00
proto_tcp.c MINOR: tcp: When binding socket, attempt to reuse one from the old proc. 2017-04-13 19:15:17 +02:00
proto_udp.c
proto_uxst.c MINOR: cli: Add a command to send listening sockets. 2017-04-13 19:15:17 +02:00
protocol.c BUILD: protocol: fix some build errors on OpenBSD 2016-08-10 19:31:58 +02:00
proxy.c MINOR: proxy: Don't close FDs if not our proxy. 2017-04-13 19:15:17 +02:00
queue.c MINOR: proxy: add 'served' field to proxy, equal to total of all servers' 2016-10-25 20:21:32 +02:00
raw_sock.c BUG/MINOR: raw_sock: always perfom the last recv if RDHUP is not available 2017-03-21 16:30:44 +01:00
rbtree.c
regex.c MEDIUM: regex: pcre2 support 2016-12-28 12:51:51 +01:00
sample.c CLEANUP: Remove comment that's no longer valid 2017-03-13 18:26:05 +01:00
server.c MINOR: server: Add server_template_init() function to initialize servers from a templates. 2017-04-21 15:42:10 +02:00
session.c CLEANUP: connection: completely remove CO_FL_WAKE_DATA 2017-03-19 12:18:27 +01:00
shctx.c MEDIUM: ssl: Add support for OpenSSL 1.1.0 2016-11-08 20:54:41 +01:00
signal.c
ssl_sock.c MINOR: server: Make 'default-server' support 'sni' keyword. 2017-03-27 14:37:01 +02:00
standard.c MINOR: server: Add 'server-template' new keyword supported in backend sections. 2017-04-21 15:42:10 +02:00
stats.c BUILD/MINOR: stats: remove unexpected argument to stats_dump_json_header() 2017-04-11 07:54:45 +02:00
stick_table.c BUG/MINOR: sample-fetches/stick-tables: bad type for the sample fetches sc*_get_gpt0 2017-01-05 16:04:05 +01:00
stream_interface.c BUG/MEDIUM: stream: fix client-fin/server-fin handling 2017-03-21 15:04:43 +01:00
stream.c BUG/MINOR: http: Fix conditions to clean up a txn and to handle the next request 2017-03-31 14:36:20 +02:00
task.c MINOR: task: Rename run_queue and run_queue_cur counters 2016-12-12 19:10:54 +01:00
tcp_rules.c MINOR: tcp-rules: check that the listener exists before updating its counters 2016-12-22 23:26:37 +01:00
time.c CLEANUP: time: curr_sec_ms doesn't need to be exported 2017-03-29 15:24:33 +02:00
trace.c
uri_auth.c
vars.c BUG/MEDIUM: variables: some variable name can hide another ones 2016-12-12 14:34:56 +01:00
wurfl.c CLEANUP: wurfl: move global settings out of the global section 2016-12-21 21:30:54 +01:00
xxhash.c