Test suite for dynamic backends

Dridi Boukelmoune dridi at varni.sh
Thu Jul 9 02:25:28 CEST 2015


On Wed, Jul 8, 2015 at 11:11 PM, Poul-Henning Kamp <phk at phk.freebsd.dk> wrote:
> --------
> In message <CABoVN9CP=YzV73D5vhu-5raCuuFSy1Ad18m-ZqAmhKjakVBetA at mail.gmail.com>, Dridi Boukelmoune writes:
>
>>>>Subject: [PATCH 2/5] Keep track of backends references and connections
>>>
>>> I've done this entirely differently.
>>>
>>> Fixes #1755
>>
>>Please revisit this one, my patch also fixes two panics I just got while
>>rebasing against the current trunk. See attached test logs.
>
> I tried releaseing the lock as we talked about on IRC and that solves
> the problem.  Committed.

Ack.

However, I see a flaw in the VBE_Poll implementation. If you have
deleted backends with a zero n_conn, but the first one is still being
used, nothing's deleted. It makes it less predictable than my
(convoluted) delete-when-deletable approach. It doesn't hurt the test
suite, which *should be* predictable anyway. And I have updated the
test suite to trigger a VBE_Poll before assertions on the n_backend
counter.

>>>> Subject: [PATCH 5/5] Add more information to a backend panic message
>>>
>>> This doesn't work with the way I did #2/5 above.
>>
>>Do I send a patch or simply commit?
>
> Just commit it.

Done.

I have attached a new patch set which would have been ready before
my rehearsal if it weren't for a last-minute phone call (let's call the
culprit Dave). I have rearranged the patches against the current
master hoping that they'll be reviewed this week.

The first patch is my initial fix for 1755 and dynamic-backends-related
issues, reworked after the recent changes in master (probe "deleted"
and VBE_Poll). I rely on refcount to avoid dangling struct backend
pointers, which can now happen with dynamic backends.

The second patch is the actual test suite.

The last two bonus patches are a first stab at a DNS director for 4.1,
but requests fail with IPv6 backends.

Cheers,
Dridi
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Keep-track-of-backends-references-and-connections.patch
Type: text/x-patch
Size: 4768 bytes
Desc: not available
URL: <https://www.varnish-cache.org/lists/pipermail/varnish-dev/attachments/20150709/98a6fac5/attachment-0004.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0002-Add-a-test-suite-for-dynamic-backends.patch
Type: text/x-patch
Size: 16382 bytes
Desc: not available
URL: <https://www.varnish-cache.org/lists/pipermail/varnish-dev/attachments/20150709/98a6fac5/attachment-0005.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0003-Resurrect-VSA_Len.patch
Type: text/x-patch
Size: 1489 bytes
Desc: not available
URL: <https://www.varnish-cache.org/lists/pipermail/varnish-dev/attachments/20150709/98a6fac5/attachment-0006.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0004-Resurrect-the-DNS-director.patch
Type: text/x-patch
Size: 12080 bytes
Desc: not available
URL: <https://www.varnish-cache.org/lists/pipermail/varnish-dev/attachments/20150709/98a6fac5/attachment-0007.bin>


More information about the varnish-dev mailing list