a couple of questions about -spersistent

Ken Brownfield kb+varnish at slide.com
Thu Jun 17 20:56:46 CEST 2010

Even with a graceful stop via the CLI, I've never had any data retained after a parent restart.  And even after a day of operation (which should result in many closed segments, though I don't know what the "max segment size" is) and a graceful shut, nothing is preserved.

Every restart of the parent shows:

CHK(0x7f520fa2b080 SILO 0x7f51cf3e0000 SILO) = 3

Which means the silo is reinitialized from scratch.  From my cursory scan of storage_persistent.c (long ago) I didn't see code to do a reload of the relevant data structures.

Is it possible to create a unit test for this, where the child is shut down in a way that properly flushes non-full segments?  I'd be willing to write one as a starting point.

On Jun 17, 2010, at 11:22 AM, Poul-Henning Kamp wrote:

> In message <4C1A26A0.2090001 at gmail.com>, Rob S writes:
>> Can someone who knows more about this feature add some comment here?
> Sorry about being somewhat offline-ish.
> -spersistent is still experimental.
> It should work and keep objects *in closed segments* across both
> child and parent process restarts.
> The first requirement for this to work, is that it actuall finds
> the same file on the disk again when you start.
> The second is that the segments must be closed, that means that
> either the segment is full or a orderly shutdown of the child
> process must happen.
> If you start varnish, do one requst, kill -9' it, it will not
> work, as the segment is not closed.
> -- 
> Poul-Henning Kamp       | UNIX since Zilog Zeus 3.20
> phk at 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-misc mailing list
> varnish-misc at varnish-cache.org
> http://lists.varnish-cache.org/mailman/listinfo/varnish-misc

More information about the varnish-misc mailing list