[Varnish] #1500: Possible bug in 4.0.0 with Range+do_stream=true
Varnish
varnish-bugs at varnish-cache.org
Mon May 12 23:42:01 CEST 2014
#1500: Possible bug in 4.0.0 with Range+do_stream=true
-------------------------+--------------------
Reporter: moseleymark | Owner:
Type: defect | Status: new
Priority: normal | Milestone:
Component: build | Version: 4.0.0
Severity: normal | Resolution:
Keywords: |
-------------------------+--------------------
Comment (by moseleymark):
Yup, I could see how the combo of Streaming + Ranges could be a seriously
tangled issue.
Though I was initially thrown by streaming being on by default. I've not
seen anything in the docs that indicate that that was the case.
Workaround-wise, I think the easy solution is just to set do_stream=false
if the Range header is set.
I've been playing around with that, but I've run into one thing that's
come up a few times as I port my varnish 3 vcl to 4: the narrower scope in
4.0 of where you can use the req/bereq/resp/beresp vars makes it hard to
communicate between the different vcl_* subroutines. I've typically used
headers to communicate between the subs.
For example, to do this workaround, I can set (in vcl_recv) a new header
on 'req'. But I can't seem to set 'do_stream' until vcl_backend_response,
so I can't remove the header before it gets sent to the backend.
Do you have any recommendations on how to better communicate between the
various vcl_* subroutines? I've been trying to avoid (for easy of
packaging-sake) adding new compiled vmod modules.
--
Ticket URL: <https://www.varnish-cache.org/trac/ticket/1500#comment:2>
Varnish <https://varnish-cache.org/>
The Varnish HTTP Accelerator
More information about the varnish-bugs
mailing list