[Varnish] #744: CLI repeats previous commands instead of executing the current one
Varnish
varnish-bugs at varnish-cache.org
Sat Aug 21 15:40:50 CEST 2010
#744: CLI repeats previous commands instead of executing the current one
----------------------+-----------------------------------------------------
Reporter: tgr | Owner: phk
Type: defect | Status: new
Priority: normal | Milestone:
Component: varnishd | Version: 2.1.2
Severity: major | Keywords: cli
----------------------+-----------------------------------------------------
Comment(by phk):
Ticket #754 was closed as duplicate of this ticket, it has a very useful
typesecript.
I think I can see how this could happen, but have not determined what the
correct fix is yet.
First, the "help" command output consists of two parts: the stuff
generated in the manager and the output from the same request when sent to
the child. This gives the impression that client responses are mixed up
when they actually are not.
What I suppose happen, is that we send a CLI command to the child which it
takes longer than the cli_timeout param to serve, so the manager abandons
the attempt to receive the response and returns CLIS_COMM.
Next time we send a CLI command to the child, the previously un-received
response is first in the pipeline, and we get the behaviour seen in the
#754 typescript.
The clean and easily understandable solution is to always treat CLI errors
from the child as fatal, and restart the child on all such failures.
This is somewhat draconian, and certainly will teach people to set the
cli_timeout properly.
I have not found any reasonable alternatives.
Input welcome, while I try to implement this fix.
--
Ticket URL: <http://www.varnish-cache.org/ticket/744#comment:3>
Varnish <http://varnish-cache.org/>
The Varnish HTTP Accelerator
More information about the varnish-bugs
mailing list