[Varnish] #243: Missing errorhandling code in cnt_lookup(), cache_center.c line 543 when using restart
Varnish
varnish-bugs at projects.linpro.no
Fri Jun 6 23:32:43 CEST 2008
#243: Missing errorhandling code in cnt_lookup(), cache_center.c line 543 when
using restart
----------------------+-----------------------------------------------------
Reporter: drewr | Owner: phk
Type: defect | Status: closed
Priority: normal | Milestone:
Component: varnishd | Version: trunk
Severity: major | Resolution: worksforme
Keywords: |
----------------------+-----------------------------------------------------
Changes (by phk):
* status: new => closed
* resolution: => worksforme
Comment:
The short explanation:
You have run out of session workspace.
Try increasing the parameter sess_workspace, that should fix it.
The long explanation:
When you do a restart, we start all over again, and amongst other things,
that means rebuilding the hash string for the request, because in addition
to selecting a different backend, one could also imagine trying a
different hash strategy to find a matching object.
Unfortunately, the hash is often one of the major memory consumers, and
therefore this will put stress on the session workspace.
In theory, a really inteligent VCL compiler could tell if it was safe to
reuse the previously built hash, but that is not in the cards any time
soon.
The other relevant point is, if it is possible to release the memory used
during the attempt that restarted, rather than just keep piling more on
top of it.
This is more feasible, but still a bit of nasty work, but I'll put it on
the post-2 todo list.
And yes, running out of session memory should be handled more gracefully.
--
Ticket URL: <http://varnish.projects.linpro.no/ticket/243#comment:1>
Varnish <http://varnish.projects.linpro.no/>
The Varnish HTTP Accelerator
More information about the varnish-bugs
mailing list