- 11 Jun, 2023 1 commit
-
-
Nils Goroll authored
Ever since the first release of vmod_pesi, we knew that this feature was probably not useful: As explained in the THREADS section of the vcc / man page, we can not push to VDPs, so the only case where this could work was when there are no VDPs. The only case pESI itself does not need any is non-esi, non-gzip uncacheable streaming. Also, the only case where it made a significant difference from pushing from the level 0 / front thread was when there are no threads available and the front thread runs the current include. Since then, we never encountered a situation where we would have needed this feature.
-
- 09 Jun, 2023 2 commits
-
-
Nils Goroll authored
Now we can keep references also to private leaf objects. For ESI objects, which we also need to inspect when building the delivery tree, we still need to make copies in pesi_buf_bytes because, if the final flag to ObjIterate() is set, the storage engine can (and usually will) free segments "behind" delivery.
-
Nils Goroll authored
-
- 10 May, 2023 2 commits
-
-
Nils Goroll authored
vmod_pesi works by saving the resulting data from a sub request to a tree structure, which gets delivered to the client in the top request's thread, once it is ready. For cacheable objects which do not require ESI processing, we simply keep the original request with an additional reference to the object. So basically we hand delivery from one worker to another. subreq_fixup() is responsible for converting the saved request to a state as if it was handled by the request handling the top level request, so one of the changes it applies is to change the wrk pointer to the worker of the top level request. Yet that change was incomplete and we missed an additional pointer in struct vdp_ctx. This should hopefully fix #14
-
Nils Goroll authored
-
- 08 Apr, 2023 1 commit
-
-
Nils Goroll authored
AM_CFLAGS are set by the recursive make, but it's CFLAGS which we need to carry over.
-
- 07 Apr, 2023 1 commit
-
-
Nils Goroll authored
A follow-up issue has been reported in #13: Assert error in Lck_Delete(), cache/cache_lck.c line 309: Condition((pthread_mutex_destroy(&ilck->mtx)) == 0) not true. triggered from Lck_Delete(&bytes_tree->nodes_lock) at the bottom of bytes_tree_fini(). Assuming everything else working correctly, the only scenario I can see the moment is that we see the node->subreq.done == 1 earlier than Lck_Unlock() returned in vped_task(). In this case, we could advance to destroying the lock while the other thread still holds it. The other use case of the shared lock is in fini_final(), where we already go through an explicit lock/unlock. Hopefully fixes #13 for real
-
- 06 Apr, 2023 4 commits
-
-
Nils Goroll authored
The BackendReuse tag no longer exists.
-
Nils Goroll authored
This looks like a trivial oversight in 3370a4c4, which was meant to fix #10: We need to use the corresponding lock to signal when a subreq node is done. Hopefully fixes #13
-
Nils Goroll authored
Avoids "Illegal :path pseudo-header" errors
-
Nils Goroll authored
-
- 27 Feb, 2023 1 commit
-
-
Geoff Simmons authored
-
- 24 Feb, 2023 2 commits
-
-
Nils Goroll authored
Ref: 7da66c9b03f82b97e2476d5d0af62e58e0419216
-
Nils Goroll authored
-
- 28 Jan, 2023 4 commits
-
-
-
Nils Goroll authored
-
Nils Goroll authored
-
Nils Goroll authored
-
- 26 Jan, 2023 11 commits
-
-
Nils Goroll authored
-
Nils Goroll authored
-
Nils Goroll authored
This brings it down from 120 to 112 bytes for me.
-
Nils Goroll authored
-
Nils Goroll authored
-
Nils Goroll authored
-
Nils Goroll authored
-
Nils Goroll authored
-
Nils Goroll authored
mostly to have it available in tree_free / tree_prune later
-
Nils Goroll authored
-
Nils Goroll authored
-
- 08 Dec, 2022 1 commit
-
-
Nils Goroll authored
-
- 01 Dec, 2022 1 commit
-
-
Nils Goroll authored
-
- 08 Nov, 2022 3 commits
-
-
Nils Goroll authored
We are agnostic to such changes from now on by unsetting the header.
-
Nils Goroll authored
Ref 58ea56b5bd22d22754a9c076ddafc16264d83494
-
Nils Goroll authored
Ref afbe6b648503687b1e9a2571a9e87ab089fc7bee
-
- 05 Jul, 2022 1 commit
-
-
Nils Goroll authored
The minimal version for master should never have been 7.0, but rather 7.1 There is a separate branch for 7.0 Fixes #8
-
- 28 Apr, 2022 2 commits
-
-
Nils Goroll authored
-
Nils Goroll authored
-
- 27 Apr, 2022 3 commits
-
-
Nils Goroll authored
This change does not do anything yet, it just saves the abort flag. Ref varnish-cache: - 26097fb091496f79ef9a38b22e3639735fb39280 - a8449faff23a3c29d19781998fa5f2ee7ce110af
-
Nils Goroll authored
see https://github.com/varnishcache/varnish-cache/pull/3804 for context The C compiler checks have been removed as they are already contained in VARNISH_PREREQ
-
Nils Goroll authored
-