<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Exchange Server">
<!-- converted from rtf -->
<style><!-- .EmailQuote { margin-left: 1pt; padding-left: 4pt; border-left: #800000 2px solid; } --></style>
</head>
<body>
<font face="Courier New" size="2"><span style="font-size:10pt;">
<div>Hello,<br>
<br>
In both version 4.0 and 4.1 of Varnish and the v4 version of the Varnish-agent I have run across the problem where the Varnish-agent will terminate itself.</div>
<div> </div>
<div>This happens if I use the ‘-p’ flag to override or supply a value for a varnish parameter on startup.</div>
<div> </div>
<div>I am running Redhat v6 using Apache 2.2.</div>
<div> </div>
<div>The error in the log looks like this:</div>
<div style="padding-left:36pt;">Feb 16 10:43:06 ul2378 varnishd[17403]: CLI telnet 127.0.0.1 56983 127.0.0.1 6082 Rd param.show -l</div>
<div style="padding-left:36pt;">Feb 16 10:43:06 ul2378 varnishd[17403]: CLI telnet 127.0.0.1 56983 127.0.0.1 6082 Wr 200 accept_filter#012 Value is: off [bool] (default)#012#012 Enable kernel accept-filters (if available in the kernel).#012#012
NB: This parameter will not take any effect until the child#012 process has been restarted.#012#012acceptor_sleep_decay#012 Value is: 0.9 (default)#012 Minimum is: 0#012 Maximum is: 1#012#012 If we run out of resources, such
as file descriptors or worker#012 threads, the acceptor will sleep between accepts.#012 This parameter (multiplicatively) reduce the sleep duration for#012 each successful accept. (ie: 0.9 = reduce by 10%)#012#012 NB: We do not know
yet if it is a good idea to change this#012 parameter, or if the default value is even sensible. Caution#012 is advised, and feedback is most welcome.#012#012acceptor_sleep_incr#012 Value is: 0.000 [seconds] (default)#012 Minimum
is: 0.000#012 Maximum is: 1.000#012#012 If we run out of resources, such as file descriptors or worker#012 threads, the acceptor will sleep between accepts.#012 This parameter control how much longer we sleep, each time we#012
fail to accept a new connection.#012#012 NB: We do not know yet if it is a good idea to change this#012 parameter, or if the default value is even sensible. Caution#012 is advised, and feedback is most welcome.#012#012acceptor_sleep_max#012
Value is: 0.050 [seconds] (default)#012 Minimum is: 0.000#012 Maximum is: 10.000#012#012 If we run out of resources, such as file descriptors or worker#012 threads, the acceptor will sleep between accepts.#012 This parameter
limits how long it can sleep between attempts to#012 accept new connections.#012#012 NB: We do not know yet if it is a good idea to change this#012 parameter, or if the default value is even sensible. Caution#012</div>
<div style="padding-left:36pt;">Feb 16 10:43:06 ul2378 varnish-agent[29721]: modules/vparams.c:171: vparams_show_json: Assertion `term' failed. Aborting.</div>
<div><font face="Calibri" size="2"><span style="font-size:11pt;"> </span></font></div>
<div><font face="Calibri" size="2"><span style="font-size:11pt;"> </span></font></div>
<div>In this case the 3 params that I was overriding were:</div>
<div> -p thread_pool_min=${VARNISH_MIN_THREADS} \</div>
<div> -p thread_pool_max=${VARNISH_MAX_THREADS} \</div>
<div> -p thread_pool_timeout=${VARNISH_THREAD_TIMEOUT} \</div>
<div> </div>
<div>In my /etc/sysconfig/varnish file, I had:</div>
<div style="padding-left:36pt;"># # The minimum number of worker threads to start</div>
<div style="padding-left:36pt;">VARNISH_MIN_THREADS=50</div>
<div style="padding-left:36pt;">#</div>
<div style="padding-left:36pt;"># # The Maximum number of worker threads to start</div>
<div style="padding-left:36pt;">VARNISH_MAX_THREADS=1000</div>
<div style="padding-left:36pt;">#</div>
<div style="padding-left:36pt;"># # Idle timeout for worker threads</div>
<div style="padding-left:36pt;">VARNISH_THREAD_TIMEOUT=120</div>
<div style="padding-left:36pt;">...</div>
<div style="padding-left:36pt;"># # DAEMON_OPTS is used by the init script. If you add or remove options, make</div>
<div style="padding-left:36pt;"># # sure you update this section, too.</div>
<div style="padding-left:36pt;">DAEMON_OPTS="-a ${VARNISH_LISTEN_ADDRESS}:${VARNISH_LISTEN_PORT} \</div>
<div style="padding-left:36pt;"> -f ${VARNISH_VCL_CONF} \</div>
<div style="padding-left:36pt;"> -T ${VARNISH_ADMIN_LISTEN_ADDRESS}:${VARNISH_ADMIN_LISTEN_PORT} \</div>
<div style="padding-left:36pt;"> -t ${VARNISH_TTL} \</div>
<div style="padding-left:36pt;"> -p thread_pool_min=${VARNISH_MIN_THREADS} \</div>
<div style="padding-left:36pt;"> -p thread_pool_max=${VARNISH_MAX_THREADS} \</div>
<div style="padding-left:36pt;"> -p thread_pool_timeout=${VARNISH_THREAD_TIMEOUT} \</div>
<div style="padding-left:36pt;"> -n "varnish_pcom" \</div>
<div style="padding-left:36pt;"> -S ${VARNISH_SECRET_FILE} \</div>
<div style="padding-left:36pt;"> -s ${VARNISH_STORAGE}"</div>
<div><font face="Calibri" size="2"><span style="font-size:11pt;"> </span></font></div>
<div><font face="Calibri" size="2"><span style="font-size:11pt;"> </span></font></div>
<div>If I remove the 3 ‘-p’ lines, everything works just fine.</div>
<div> </div>
<div>I thought I would share this information.</div>
<div> </div>
<div>Thanks!</div>
<div> </div>
<div>A J Drew</div>
<div><font face="Calibri" size="2"><span style="font-size:11pt;"> </span></font></div>
<div><font face="Calibri" size="2"><span style="font-size:11pt;"> </span></font></div>
</span></font>
<p class="MsoNormal" style="margin-top:12.0pt;line-height:normal"><span style="font-size:9.0pt;font-family:"Arial","sans-serif"">-----Message
Disclaimer-----<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-top:12.0pt;line-height:normal"><span style="font-size:9.0pt;font-family:"Arial","sans-serif"">This e-mail message is
intended only for the use of the individual or entity to which it is addressed,
and may contain information that is privileged, confidential and exempt from
disclosure under applicable law. If you are not the intended recipient, any
dissemination, distribution or copying of this communication is strictly
prohibited. If you have received this communication in error, please notify us
immediately by reply email to Connect@principal.com and delete or destroy all
copies of the original message and attachments thereto. Email sent to or from
the Principal Financial Group or any of its member companies may be retained as
required by law or regulation.<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-top:12.0pt;line-height:normal"><span style="font-size:9.0pt;font-family:"Arial","sans-serif"">Nothing in this
message is intended to constitute an Electronic signature for purposes of the
Uniform Electronic Transactions Act (UETA) or the Electronic Signatures in
Global and National Commerce Act ("E-Sign") unless a specific
statement to the contrary is included in this message.<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-top:12.0pt;line-height:normal"><span style="font-size:9.0pt;font-family:"Arial","sans-serif"">If you no longer wish
to receive any further solicitation from the Principal Financial Group you may
unsubscribe at </span><a href="https://www.principal.com/do-not-contact-form"><span style="font-size:9.0pt;font-family:"Arial","sans-serif"">https://www.principal.com/do-not-contact-form</span></a><span style="font-size:9.0pt;font-family:"Arial","sans-serif""> any time.<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-top:12.0pt;line-height:normal"><span style="font-size:9.0pt;font-family:"Arial","sans-serif"">If you are a Canadian
resident and no longer wish to receive commercial electronic messages you may
unsubscribe at </span><a href="https://www.principal.com/do-not-email-request-canadian-residents"><span style="font-size:9.0pt;font-family:"Arial","sans-serif"">https://www.principal.com/do-not-email-request-canadian-residents</span></a><span style="font-size:9.0pt;font-family:"Arial","sans-serif""> any time.<br> <o:p></o:p></span></p></body>
</html>