-------- In message <cajv_h0bnbgul-p43_uyx8q_rfv06if1sjpho21y4g+h-me6...@mail.gmail.com> , Federico Schwindt writes:
>Regardless of the RR, any comments or guidelines to move this forward? Having read the thread again, I suggest: Before vcl_backend_response{} we point beresp->storage to the next stevedore RR-wise. (Today we do it later, because it is a hint). If at the end of v_b_r{} beresp->storage is non-NULL, we use that stevedore and only that stevedore. If at the end of v_b_r{} beresp->storage is NULL, we take it to mean storage failure and we 50x. That means you can still salvage inside v_b_r{}: beresp->stevedore = vmod.forklift(); if (!beresp->stevedore) { beresp->stevedore = Transient; beresp->uncacheable = True; } For compatibility, if VCL sets beresp->storage_hint, and the string is a stevedore name, we *also* set beresp->storage, but on failure we leave it alone. I belive that gives the semantics you desire in a POLA compliant fashion ? -- Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 p...@freebsd.org | TCP/IP since RFC 956 FreeBSD committer | BSD since 4.3-tahoe Never attribute to malice what can adequately be explained by incompetence. _______________________________________________ varnish-dev mailing list varnish-dev@varnish-cache.org https://www.varnish-cache.org/lists/mailman/listinfo/varnish-dev