[Varnish] #438: varnish hangs upon hot reconfiguration
Varnish
varnish-bugs at projects.linpro.no
Sat Feb 7 18:14:57 CET 2009
#438: varnish hangs upon hot reconfiguration
----------------------+-----------------------------------------------------
Reporter: solatis | Owner: phk
Type: defect | Status: new
Priority: high | Milestone:
Component: varnishd | Version: trunk
Severity: critical | Resolution:
Keywords: |
----------------------+-----------------------------------------------------
Old description:
> Hello,
>
> I'm trying to deploy varnish, and when I'm trying to do a hot
> reconfiguration of the config files under a high load, it seems like the
> child processes hang at some point.
>
> Steps to reproduce:
> 1. Add or remove server to/from attached configuration file
> 2. varnishadm load new /config
> 3. varnishadm use new
> 4. Notice that, for a brief moment, the new configuration file is used
> (new server configuration is noticable)
> 5. Varnish stops responding (does accept socket), while backends still
> work fine
>
> To get varnish back in a working state, I have to 'varnishadm stop &&
> varnishadm start'.
>
> I've ran varnish under gdb and killed it while it was in the unresponsive
> state, but it wasn't really helpful:
>
> (gdb) bt
> #0 0x0000003bff2c8fdf in poll () from /lib64/libc.so.6
> #1 0x00002af806f67e91 in vev_schedule_one (evb=0x2af80760c540) at
> vev.c:478
> #2 0x00002af806f678c4 in vev_schedule (evb=0x2af80760c540) at vev.c:365
> #3 0x000000000043226e in mgt_run (dflag=0, T_arg=0x7fffa3b61c46
> "127.0.0.1:8081") at mgt_child.c:560
> #4 0x000000000043e0d2 in main (argc=0, argv=0x7fffa3b61588) at
> varnishd.c:639
> (gdb) thread 2
> Thread ID 2 not known.
>
> Please note that, as long as there is no load, nothing goes wrong.
>
> Also note that loading a new configuration file that is unchanged, works
> fine too.
>
> Other than that, the steps above always reproduce my problem.
>
> The version I'm running is trunk from a few hours ago.
New description:
Hello,
I'm trying to deploy varnish, and when I'm trying to do a hot
reconfiguration of the config files under a high load, it seems like the
child processes hang at some point.
Steps to reproduce:
1. Add or remove server to/from attached configuration file
2. varnishadm load new /config
3. varnishadm use new
4. Notice that, for a brief moment, the new configuration file is used
(new server configuration is noticable)
5. Varnish stops responding (does accept socket), while backends still
work fine
To get varnish back in a working state, I have to 'varnishadm stop &&
varnishadm start'.
I've ran varnish under gdb and killed it while it was in the unresponsive
state, but it wasn't really helpful:
{{{
(gdb) bt
#0 0x0000003bff2c8fdf in poll () from /lib64/libc.so.6
#1 0x00002af806f67e91 in vev_schedule_one (evb=0x2af80760c540) at
vev.c:478
#2 0x00002af806f678c4 in vev_schedule (evb=0x2af80760c540) at vev.c:365
#3 0x000000000043226e in mgt_run (dflag=0, T_arg=0x7fffa3b61c46
"127.0.0.1:8081") at mgt_child.c:560
#4 0x000000000043e0d2 in main (argc=0, argv=0x7fffa3b61588) at
varnishd.c:639
(gdb) thread 2
Thread ID 2 not known.
}}}
Please note that, as long as there is no load, nothing goes wrong.
Also note that loading a new configuration file that is unchanged, works
fine too.
Other than that, the steps above always reproduce my problem.
The version I'm running is trunk from a few hours ago.
Comment (by tfheen):
fix up summary markup.
--
Ticket URL: <http://varnish.projects.linpro.no/ticket/438#comment:1>
Varnish <http://varnish.projects.linpro.no/>
The Varnish HTTP Accelerator
More information about the varnish-bugs
mailing list