1. 01 Feb, 2024 1 commit
  2. 31 Jan, 2024 9 commits
    • Dridi Boukelmoune's avatar
      0959f355
    • Dridi Boukelmoune's avatar
      vrt_var: Expose bereq.task_deadline in vcl_pipe · 48170767
      Dridi Boukelmoune authored
      The [be]req.task_deadline should eventually be generalized to all
      subroutines with read-write access to [be]req. When that happens,
      bereq.task_deadline will inherit req.task_deadline during the pipe
      transition.
      
      Related tasks should otherwise have independent deadlines, except
      sub-request tasks like ESI where there is a hierarchical dependency.
      48170767
    • Dridi Boukelmoune's avatar
      doc: Succinctly describe parameters units · 490553b0
      Dridi Boukelmoune authored
      This takes care of documenting the meaning of a zero timeout value in
      a central location, since none of the timeout parameters have a mention
      for the effect it produces.
      
      This is written as if there was a separate varnish-param(7) manual,
      which should eventually be enacted. This manual extraction was initially
      implemented in the adjacent #3817 timeout nomenclature draft.
      490553b0
    • Dridi Boukelmoune's avatar
      bb644147
    • Dridi Boukelmoune's avatar
      32215660
    • Dridi Boukelmoune's avatar
      v1p: Refine stream_close_t outcome · 7eb20abe
      Dridi Boukelmoune authored
      7eb20abe
    • Dridi Boukelmoune's avatar
      660fedef
    • Nils Goroll's avatar
      Polish · e0b164f9
      Nils Goroll authored
      e0b164f9
    • Nils Goroll's avatar
      Fix surplus vcldir cleanup · c096659d
      Nils Goroll authored
      in VRT_AddDirector, we create the new vcldir with an initial
      reference, which we need to drop if we can not add it.
      
      Compare:
      
      	VRT_AddDirector()
      		...
      		vdir->refcnt++;
      
      	vcldir_free()
      		...
      		AZ(vdir->refcnt);
      
      Noticed when testing other experimental changes while working on
      https://github.com/nigoroll/libvmod-dynamic/issues/110
      
       #5  0x000055820c8cb845 in VAS_Fail (func=0x55820c904559 "vcldir_free", file=0x55820c903a47 "cache/cache_vrt_vcl.c",
           line=150, cond=0x55820c90459a "(vdir->refcnt) == 0", kind=VAS_ASSERT) at vas.c:67
       #6  0x000055820c83a442 in vcldir_free (vdir=0x7f662aa53140) at cache/cache_vrt_vcl.c:150
       #7  0x000055820c839fe1 in VRT_AddDirector (ctx=0x7f662befe250, m=0x55820c965260 <vbe_methods_noprobe>,
           priv=0x7f662aa20780, fmt=0x55820c900f7f "%s") at cache/cache_vrt_vcl.c:219
       #8  0x000055820c7c7c4d in VRT_new_backend_clustered (ctx=0x7f662befe250, vc=0x0, vrt=0x7f662befdd10, via=0x0)
          at cache/cache_backend.c:737
       #9  0x000055820c7c8632 in VRT_new_backend (ctx=0x7f662befe250, vrt=0x7f662befdd10, via=0x0)
           at cache/cache_backend.c:755
      c096659d
  3. 29 Jan, 2024 2 commits
  4. 26 Jan, 2024 6 commits
  5. 24 Jan, 2024 2 commits
  6. 22 Jan, 2024 2 commits
  7. 18 Jan, 2024 1 commit
  8. 15 Jan, 2024 6 commits
  9. 10 Jan, 2024 3 commits
  10. 09 Jan, 2024 1 commit
  11. 08 Jan, 2024 3 commits
  12. 02 Jan, 2024 2 commits
  13. 31 Dec, 2023 2 commits
    • Nils Goroll's avatar
      Fix use of objiterate_f in vrb_pull() · 08350519
      Nils Goroll authored
      The objiterate_f interface requires that OBJ_ITER_END be sent,
      preferrably with the last chunk of data, but at least after it.
      08350519
    • Nils Goroll's avatar
      Clarify and fix STV_NewObject() len/wsl argument use · 532e9c20
      Nils Goroll authored
      It was not documented explicitly anywhere, but the len/wsl argument to
      STV_NewObject() is the amount of space to allocate for all
      OBJ_VARATTRs combined which are going to be written to this
      object. For now, these are OA_HEADERS and OA_VARY only (see
      include/tbl/obj_attr.h).
      
      So for one, there is no reason to force this argument be greater than
      zero when we know that no OBJ_VARATTRs are going to be set.
      
      Secondly, this might actually represent a minor shortcoming of the
      stevedore API, because the amount of space which a stevedore
      implementation actually needs might be larger than what the simple
      stevedores use. So for now, the semantics of this argument are, more
      specifically, "the equivalent of space for OBJ_VARATTRs as for simple
      storage". In practice, this probably does not matter much...
      
      But even before this clarification, the API was not used consistently:
      
      For the call from vrb_pull(), the maximum request body size (to cache)
      was used as the wsl argument, yet it has nothing to do with the object
      body size, it specifies the amount of space to allocate for variable
      sized object attributes (see above).
      
      For the call from cnt_synth(), a somehow arbitrary value of 1KB was
      used.
      
      In both cases, the amount of space actually required is zero, because
      the only attribute used on the objects created is OA_LEN, which is
      fixed and thus always present.
      532e9c20