- 25 Mar, 2024 3 commits
-
-
AlveElde authored
When a stale object is soft-purged, the time until the object expires should not be reset, as repeated soft-purges could keep the object around indefinitely.
-
AlveElde authored
This commit introduces EXP_Reduce(), a function to reduce object timers. The goal is to provide a function better suited to soft-purging objects, as EXP_Rearm() has some non-obvious disadvantages when used or this purpose. When EXP_Rearm() is used to soft-purge an object by setting its TTL to 0, the expiry is effectively reset to the start of the objects grace period. This happens because the object TTL includes a time delta between object insertion time (oc->t_origin) and now. The result is that a soft-purge extends the lifetime of an already stale object, and repeated soft-purges can keep the object away from expiry indefinitely. The EXP_Reduce() function is better suited for soft-purging, as it only updates an objects TTL if it would reduce the objects lifetime. The function also has facilities for reducing grace and keep.
-
Dridi Boukelmoune authored
-
- 20 Mar, 2024 1 commit
-
-
Walid Boudebouda authored
If a format never matches anything, the 4294967296th transaction proccessed by varnishncsa will wrap its generation around to zero, be considered a match, and let vsb_fcat() pass a null string to VSB_quote().
-
- 19 Mar, 2024 1 commit
-
-
Dridi Boukelmoune authored
Better diff with the --word-diff --word-diff-regex=. options.
-
- 18 Mar, 2024 26 commits
-
-
Dridi Boukelmoune authored
-
Simon Stridsberg authored
Releasing 7.5.0
-
Simon Stridsberg authored
-
Dridi Boukelmoune authored
-
Dridi Boukelmoune authored
Before the h2 frame dispatch we only need to check that coming from a HEADERS frame the very next frame is a CONTINUATION, when the HPACK block didn't fit in the former. The CONTINUATION dispatch will then make the stream consistency check.
-
Dridi Boukelmoune authored
-
Dridi Boukelmoune authored
-
Dridi Boukelmoune authored
When a stream times out waiting for window credits, and all the other streams are broke, declare the whole connection bankrupt.
-
Dridi Boukelmoune authored
-
Dridi Boukelmoune authored
-
Dridi Boukelmoune authored
It replaces idle_send_timeout when the stream is waiting for window credits before sending more DATA frames. The idle_send_timeout will still apply to individual writes to the socket, but triggering it is considered a failure condition (this was already the case). The two loops are merged into a single one to better deal with the lack of ordering guarantees of request vs connection stream control flow window crediting. Refs #2980
-
Dridi Boukelmoune authored
-
Dridi Boukelmoune authored
This parameter needs to be somewhat high because web browsers may for example only credit streams for image resources just enough to parse metadata like width and height of a picture in order to perform layout computations and fetch resources more sensitive to latency before the effective image payloads.
-
Dridi Boukelmoune authored
-
Dridi Boukelmoune authored
The new meaning for h2->sess->t_idle is now the time since the last complete frame, except before the first frame where it corresponds to the creation of the session.
-
Dridi Boukelmoune authored
And after issuing or receiving a goaway, stop processing frames when there are no streams left. Initially submitted as part of listen sockets management. Refs #3959
-
Dridi Boukelmoune authored
-
Dridi Boukelmoune authored
-
Dridi Boukelmoune authored
-
Dridi Boukelmoune authored
-
Dridi Boukelmoune authored
Reverting "retrieving" to "processing" is motivated by the fact that we process ESI on the client side and we don't know whether we are in fact retrieving an object from a backend, or just reusing one from the cache. Even if the word "processing" appears again in the sentence, I think it is more accurate here. Better diff with the --word-diff option.
-
Nils Goroll authored
-
Nils Goroll authored
- before coffee + after coffee
-
Nils Goroll authored
-
Dridi Boukelmoune authored
Spotted by Nils.
-
Dridi Boukelmoune authored
All paths to EXP_Remove() raise the OC_F_DYING flag to dismiss the objcore in HSH_Lookup(). A regular purge used to EXP_Rearm() an oc for immediate (yet delayed) expiry, leaving it to the expiry thread to apply this flag and call EXP_Remove(). When the regular purge went from EXP_Rearm() to EXP_Remove() in order to avoid counting purged objects as expired, the OC_F_DYING flag was overlooked. Refs 709f71ab
-
- 15 Mar, 2024 9 commits
-
-
Dridi Boukelmoune authored
-
Dridi Boukelmoune authored
-
Dridi Boukelmoune authored
-
Dridi Boukelmoune authored
-
Simon Stridsberg authored
Ubuntu noble tries to use `fchmodat2` (new syscall) and gets permission denied instead of ENOSYS. This is a small security risk but it's running inside of circleci containers anyway so i think its acceptable.
-
AlveElde authored
-
Dridi Boukelmoune authored
-
Dridi Boukelmoune authored
See previous commit.
-
Dridi Boukelmoune authored
But spread the actual changes in their respective sections.
-