Problems with varnishncsa and duplicated ReqEnd (tickets #633, #685 and #709) - Solaris 10

Jorge Díaz jdzstz at gmail.com
Mon May 31 21:31:31 CEST 2010


I am testing Varnish (r4576 <http://varnish-cache.org/changeset/4576>) in
Solaris 10 5.10 Generic_120011-14 sun4v sparc SUNW,Sun-Fire-T2000.
We are using now Apache with mod_cache and we are planning to switch to
Varnish, I have followed the instructions in
http://letsgetdugg.com/2009/12/04/varnish-on-solaris/<http://letsgetdugg.com/2009/12/04/varnish-on-solaris/>

After fixing the LINGER problem (ticket
#649<http://varnish-cache.org/ticket/649>), varnish seems to work ok,
we have also make some little tests in
production enviroment, switching to Varnish during 3 hours in one of our
eight Apache Servers.

The only problem that is stopping us to making the change are some strange
behaviour with varnishncsa.
Original varnishncsa.c version generate coredumps and fixed file with
#685<http://varnish-cache.org/ticket/685>workaround generates a lot of
bogus requests.

After some investigations I have found that the root of the problems is a
duplicated ReqEnd record when there is a SessionClose EOF, I have filled the
bug in new ticket #709 <http://varnish-cache.org/ticket/709>  The duplicated
ReqEnd has no XID

Tickets #633 <http://varnish-cache.org/ticket/633> and
#685<http://varnish-cache.org/ticket/685>
they are almost the same. I think it would be nice to control the bogus
requests:

   1. Get XID from ReqEnd
   2. If XID == 0 then ignore ReqEnd
   3. If XID != = but bogus == 1 then print bogus request in standard error.

I attach to the mail two varnishncsa.c fixes:

   1. using workaround of #685  and adding extra logging
   2. retrieving xid and testing "if (!lp->bogus && lp->xid > 0)" and adding
   extra logging

I have to change the extra logging to stderr.


*I need help with #709 <http://varnish-cache.org/ticket/709> , somebody has
any clue about SessionClose EOF problem?? This issue is reported also in
varnish-misc list:
http://lists.varnish-cache.org/pipermail/varnish-misc/2009-December/003395.html
*
I attach my preproduction logs (with a BOGUS error and a duplicated ReqEnd)
and my modified varnishncsa:

    7 TxHeader     c X-backend: prepro
    7 ReqEnd       c 1937859944 1275326684.354095459 1275326684.376112938
0.000319004 0.021736622 0.000280857
    7 SessionClose c EOF
    7 ReqEnd       c 0 1275326684.386904716 1275326684.386904716 0.010791779
0.000000000 0.000000000
    7 StatSess     c 212.170.156.253 31325 0 1 1 0 0 1 288 0

Thank you
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://www.varnish-cache.org/lists/pipermail/varnish-dev/attachments/20100531/dcf7abb8/attachment-0003.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: acc_20100531_190000.log
Type: application/octet-stream
Size: 74759 bytes
Desc: not available
URL: <https://www.varnish-cache.org/lists/pipermail/varnish-dev/attachments/20100531/dcf7abb8/attachment-0009.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: varnish_log.zip
Type: application/zip
Size: 289945 bytes
Desc: not available
URL: <https://www.varnish-cache.org/lists/pipermail/varnish-dev/attachments/20100531/dcf7abb8/attachment-0003.zip>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: varnishncsa_jdzst_fix.c
Type: application/octet-stream
Size: 14817 bytes
Desc: not available
URL: <https://www.varnish-cache.org/lists/pipermail/varnish-dev/attachments/20100531/dcf7abb8/attachment-0010.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: varnishncsa_jdzst_fix2.c
Type: application/octet-stream
Size: 14823 bytes
Desc: not available
URL: <https://www.varnish-cache.org/lists/pipermail/varnish-dev/attachments/20100531/dcf7abb8/attachment-0011.obj>


More information about the varnish-dev mailing list