haproxy/src
Willy Tarreau c9bd34c7e0 BUG/MEDIUM: cache: replace old object on store
Currently the cache aborts a store operation if the object to store
already exists in the cache. This is used to avoid storing multiple
copies at the same time on concurrent accesses. It causes an issue
though, which is that existing unexpired objects cannot be updated.
This happens when any request criterion disables the retrieval from
the cache (eg: with max-age or any other cache-control condition).

For now, let's simply replace the previous existing entry by unlinking
it from the index. This could possibly be improved in the future if
needed.

This fix needs to be backported to 1.8.
2017-12-22 17:56:18 +01:00
..
51d.c CLEANUP: log: Rename Alert/Warning in ha_alert/ha_warning 2017-11-24 17:19:12 +01:00
acl.c CLEANUP: log: Rename Alert/Warning in ha_alert/ha_warning 2017-11-24 17:19:12 +01:00
action.c MINOR: action: Add function to check rules using an action ACT_ACTION_TRK_* 2017-10-31 11:36:12 +01:00
applet.c MEDIUM: applets: Don't process more than 200 active applets at once 2017-11-16 11:19:46 +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: log: Rename Alert/Warning in ha_alert/ha_warning 2017-11-24 17:19:12 +01:00
backend.c CLEANUP: log: Rename Alert/Warning in ha_alert/ha_warning 2017-11-24 17:19:12 +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: buffers: cache-align buffer_wq_lock 2017-11-26 11:10:51 +01:00
cache.c BUG/MEDIUM: cache: replace old object on store 2017-12-22 17:56:18 +01:00
cfgparse.c MINOR: mworker: Update messages referencing exit-on-failure 2017-12-07 19:21:14 +01:00
channel.c MINOR: channel: make the channel be a const in all {ci,co}_get* functions 2017-10-19 15:01:08 +02:00
checks.c BUG/MEDIUM: email-alert: don't set server check status from a email-alert task 2017-12-08 05:58:56 +01:00
chunk.c CLEANUP: pools: rename all pool functions and pointers to remove this "2" 2017-11-24 17:49:53 +01:00
cli.c MINOR/CLEANUP: proxy: rename "proxy" to "proxies_list" 2017-11-24 17:21:27 +01:00
compression.c CLEANUP: pools: rename all pool functions and pointers to remove this "2" 2017-11-24 17:49:53 +01:00
connection.c MEDIUM: netscaler: add support for standard NetScaler CIP protocol 2017-12-20 07:04:07 +01:00
da.c BUILD/MINOR: deviceatlas: enable thread support 2017-11-27 14:22:21 +01:00
dns.c CLEANUP: pools: rename all pool functions and pointers to remove this "2" 2017-11-24 17:49:53 +01:00
ev_epoll.c BUILD: threads: Rename SPIN/RWLOCK macros using HA_ prefix 2017-11-07 11:10:24 +01:00
ev_kqueue.c BUG/MEDIUM: kqueue: Don't bother closing the kqueue after fork. 2017-11-26 20:10:58 +01:00
ev_poll.c BUILD: threads: Rename SPIN/RWLOCK macros using HA_ prefix 2017-11-07 11:10:24 +01:00
ev_select.c BUILD: threads: Rename SPIN/RWLOCK macros using HA_ prefix 2017-11-07 11:10:24 +01:00
fd.c MINOR: threads: Use __decl_hathreads to declare locks 2017-11-13 11:38:17 +01:00
filters.c CLEANUP: pools: rename all pool functions and pointers to remove this "2" 2017-11-24 17:49:53 +01:00
flt_http_comp.c CLEANUP: pools: rename all pool functions and pointers to remove this "2" 2017-11-24 17:49:53 +01:00
flt_spoe.c MINOR: spoe: add force-set-var option in spoe-agent configuration 2017-12-20 08:55:18 +01:00
flt_trace.c MINOR: threads/filters: Update trace filter to add _per_thread callbacks 2017-10-31 13:58:32 +01:00
freq_ctr.c BUG/MAJOR: threads/freq_ctr: use a memory barrier to detect changes 2017-10-31 18:01:18 +01:00
frontend.c CLEANUP: pools: rename all pool functions and pointers to remove this "2" 2017-11-24 17:49:53 +01:00
h1.c BUG/MINOR: h1: the HTTP/1 make status code parser check for digits 2017-11-09 11:15:45 +01:00
h2.c BUG/MEDIUM: h2: do not accept upper case letters in request header names 2017-12-03 21:09:38 +01:00
haproxy.c MINOR: mworker: Improve wording in void mworker_wait() 2017-12-07 19:21:25 +01:00
hash.c MINOR: hash: add new function hash_crc32 2015-01-20 19:48:05 +01:00
hathreads.c BUG/MAJOR: thread: Be sure to request a sync between threads only once at a time 2017-12-02 14:31:01 +01:00
hdr_idx.c CLEANUP: pools: rename all pool functions and pointers to remove this "2" 2017-11-24 17:49:53 +01:00
hlua.c BUG/MEDIUM: lua: fix crash when using bogus mode in register_service() 2017-12-22 14:34:54 +01:00
hlua_fcn.c MINOR/CLEANUP: proxy: rename "proxy" to "proxies_list" 2017-11-24 17:21:27 +01:00
hpack-dec.c BUG/MINOR: hpack: dynamic table size updates are only allowed before headers 2017-12-03 21:08:40 +01:00
hpack-enc.c MEDIUM: hpack: implement basic hpack encoding 2017-10-31 18:03:24 +01:00
hpack-huff.c BUG/MINOR: hpack: must reject huffman literals padded with more than 7 bits 2017-12-03 21:08:39 +01:00
hpack-tbl.c BUG/MAJOR: hpack: don't pretend large headers fit in empty table 2017-12-04 18:06:51 +01: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 BUILD: threads: Rename SPIN/RWLOCK macros using HA_ prefix 2017-11-07 11:10:24 +01:00
lb_fas.c BUILD: threads: Rename SPIN/RWLOCK macros using HA_ prefix 2017-11-07 11:10:24 +01:00
lb_fwlc.c BUILD: threads: Rename SPIN/RWLOCK macros using HA_ prefix 2017-11-07 11:10:24 +01:00
lb_fwrr.c BUILD: threads: Rename SPIN/RWLOCK macros using HA_ prefix 2017-11-07 11:10:24 +01:00
lb_map.c BUG: MAJOR: lb_map: server map calculation broken 2017-12-14 17:36:39 +01:00
listener.c CLEANUP: log: Rename Alert/Warning in ha_alert/ha_warning 2017-11-24 17:19:12 +01:00
log.c BUG/MEDIUM: mworker: Set FD_CLOEXEC flag on log fd 2017-12-19 14:03:30 +01:00
lru.c MINOR: lru: new function to delete <nb> least recently used keys 2016-01-11 07:31:35 +01:00
mailers.c MEDIUM: Add parsing of mailers section 2015-02-03 00:24:16 +01:00
map.c BUILD: threads: Rename SPIN/RWLOCK macros using HA_ prefix 2017-11-07 11:10:24 +01:00
memory.c CLEANUP: pools: rename all pool functions and pointers to remove this "2" 2017-11-24 17:49:53 +01:00
mux_h2.c MINOR: mux: add flags to describe a mux's capabilities 2017-12-20 16:31:30 +01:00
mux_pt.c MINOR: mux: add flags to describe a mux's capabilities 2017-12-20 16:31:30 +01:00
namespace.c CLEANUP: log: Rename Alert/Warning in ha_alert/ha_warning 2017-11-24 17:19:12 +01:00
pattern.c MINOR: threads: Use __decl_hathreads to declare locks 2017-11-13 11:38:17 +01:00
payload.c MINOR: payload: add new sample fetch functions to process distcc protocol 2017-10-13 11:47:19 +02:00
peers.c BUG/MEDIUM: peers: set NOLINGER on the outgoing stream interface 2017-12-06 17:48:36 +01:00
pipe.c CLEANUP: pools: rename all pool functions and pointers to remove this "2" 2017-11-24 17:49:53 +01:00
proto_http.c MINOR: http: add a function to check request's cache-control header field 2017-12-22 17:56:17 +01:00
proto_tcp.c MINOR/CLEANUP: proxy: rename "proxy" to "proxies_list" 2017-11-24 17:21:27 +01:00
proto_udp.c CLEANUP: fix inconsistency between fd->iocb, proto->accept and accept() 2016-04-14 11:18:22 +02:00
proto_uxst.c CLEANUP: log: Rename Alert/Warning in ha_alert/ha_warning 2017-11-24 17:19:12 +01:00
protocol.c BUILD: protocol: fix some build errors on OpenBSD 2016-08-10 19:31:58 +02:00
proxy.c CLEANUP: pools: rename all pool functions and pointers to remove this "2" 2017-11-24 17:49:53 +01:00
queue.c BUG/MAJOR: threads/queue: avoid recursive locking in pendconn_get_next_strm() 2017-11-26 18:50:30 +01:00
raw_sock.c BUG/MINOR: threads: Add missing THREAD_LOCAL on static here and there 2017-10-31 13:58:33 +01:00
rbtree.c [MINOR] imported the rbtree function from Linux kernel 2007-01-07 02:12:57 +01:00
regex.c CLEANUP: log: Rename Alert/Warning in ha_alert/ha_warning 2017-11-24 17:19:12 +01:00
sample.c MINOR: sample: rename the "len" converter to "length" 2017-12-15 07:13:48 +01:00
server.c BUG/MEDIUM: checks: a server passed in maint state was not forced down. 2017-12-21 15:23:55 +01:00
session.c CLEANUP: pools: rename all pool functions and pointers to remove this "2" 2017-11-24 17:49:53 +01:00
sha1.c IMPORT: sha1: import SHA1 functions 2017-10-25 04:45:48 +02:00
shctx.c BUILD: shctx: do not depend on openssl anymore 2017-11-08 14:33:36 +01:00
signal.c CLEANUP: pools: rename all pool functions and pointers to remove this "2" 2017-11-24 17:49:53 +01:00
ssl_sock.c BUG/MEDIUM: ssl engines: Fix async engines fds were not considered to fix fd limit automatically. 2017-12-06 14:17:41 +01:00
standard.c MINOR: tools: emphasize the node being worked on in the tree dump 2017-11-15 19:43:05 +01:00
stats.c MINOR/CLEANUP: proxy: rename "proxy" to "proxies_list" 2017-11-24 17:21:27 +01:00
stick_table.c CLEANUP: pools: rename all pool functions and pointers to remove this "2" 2017-11-24 17:49:53 +01:00
stream.c BUG/MEDIUM: stream: don't consider abortonclose on muxes which close cleanly 2017-12-20 17:01:24 +01:00
stream_interface.c BUG/MINOR: stream-int: don't try to receive again after receiving an EOS 2017-12-14 13:43:52 +01:00
task.c MINOR: task: align the rq and wq locks 2017-11-26 11:10:51 +01:00
tcp_rules.c CLEANUP: pools: rename all pool functions and pointers to remove this "2" 2017-11-24 17:49:53 +01:00
time.c BUG/MEDIUM: threads/time: maintain a common time reference between all threads 2017-11-23 16:32:32 +01:00
trace.c CONTRIB: trace: try to display the function's return value on exit 2017-10-24 19:54:25 +02:00
uri_auth.c CLEANUP: log: Rename Alert/Warning in ha_alert/ha_warning 2017-11-24 17:19:12 +01:00
vars.c BUG/MEDIUM: threads/vars: Fix deadlock in register_name 2017-12-08 10:37:24 +01:00
wurfl.c CLEANUP: log: Rename Alert/Warning in ha_alert/ha_warning 2017-11-24 17:19:12 +01:00
xxhash.c CLEANUP: remove unneeded casts 2016-04-03 14:17:42 +02:00