]> err.no Git - varnish/log
varnish
17 years agoActually, we cannot touch objects on deathrow, so just ignore
phk [Mon, 24 Sep 2007 13:00:33 +0000 (13:00 +0000)]
Actually, we cannot touch objects on deathrow, so just ignore
any object with heap_idx == 0.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2011 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoRemove an assert which isn't valid: we could try to LRU_Touch an
phk [Mon, 24 Sep 2007 12:58:14 +0000 (12:58 +0000)]
Remove an assert which isn't valid:  we could try to LRU_Touch an
object on deathrow.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2010 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoMake the cli_timeout a parameter. The master will wait this long
phk [Mon, 24 Sep 2007 12:27:54 +0000 (12:27 +0000)]
Make the cli_timeout a parameter.  The master will wait this long
for the client to reply on the internal CLI pipe.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2009 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoUpdate random and round-robin backends to use the new convenience functions.
cecilihf [Mon, 24 Sep 2007 12:06:20 +0000 (12:06 +0000)]
Update random and round-robin backends to use the new convenience functions.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2008 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoAdd code to VCC to output an identifier for each simple backend which
phk [Mon, 24 Sep 2007 11:25:15 +0000 (11:25 +0000)]
Add code to VCC to output an identifier for each simple backend which
varnishd can use to decide if a backend state can be shared between
multiple VCL programs.

Originally the idea was to calculate a strong hash over the tokens
which define the backend.

Considering the relatively short lengths of backend declarations
and the infrequency of comparisons, we have opted for an extremely
weak hash instead:  We simply output the space separted tokens as
a string.

The net change in code for simple backends is marginal, but for
complex backends this will be a lot simpler to implement.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2007 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoOur first cut at a LRU processing contained a three way race and can
phk [Mon, 24 Sep 2007 08:23:34 +0000 (08:23 +0000)]
Our first cut at a LRU processing contained a three way race and can
cause Really Weird Problems if you really provoke it.

+++ Redo from start +++

LRU processing is only relevant for objects which are in the cache and
on the EXP binary heap so we merge the LRU functionality with the EXP
code in order to share locks and object reference counts.

Another thing we overlooked in the first implementation is that the VCL
callout for LRU should be able to examine the client information for
the session which tries to push stuff out, so that QoS/DoS issues can be
considered:

sub vcl_dicard {
if (client.bandwidth > 10 mb/s) {
keep;
}
}

(which sort of indicates that "error" should be a legal action as well)

To enable this, pass the session into the stevedore when we try to
allocate space and temporarily substitute the target object for its
own object while we call vcl_discard().

The outcome of an attempt to make space can take three values, did,
didn't and couldn't.  In the latter case there is no point in trying
again and again, in particular if the cause is incurable, such as
the requested size being larger than the storage.   We still need to
handle failure to allocate storage for that case rather than core dump.

When looking for targets to nuke, we only consider objects on the
binheap which has reference count of 1, objects with higher reference
counts would not free space.

We take prospective targets off the binheap, but retain their
refcount, and tag them with a magic marker while we ponder their
destiny.

It is quite possible that another session could pick the object up
via the cache while we do so, and therefore attempts to update the
ttl or shift them in the lru chain must ignore objects which has
the magic marker.  If the object is kept, the updated ttl will
automatically take effect when we reinsert it in the binheap.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2006 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoAdd a couple of statistics counters for LRU
phk [Mon, 24 Sep 2007 08:01:07 +0000 (08:01 +0000)]
Add a couple of statistics counters for LRU

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2005 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoFix a NULL pointer dereference which cannot currently happen.
phk [Mon, 24 Sep 2007 07:37:40 +0000 (07:37 +0000)]
Fix a NULL pointer dereference which cannot currently happen.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2004 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoReverse the logic in r1997 from !is_get to is_head.
des [Sun, 23 Sep 2007 14:19:42 +0000 (14:19 +0000)]
Reverse the logic in r1997 from !is_get to is_head.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1998 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoFix another cornercase that fell out as part of the pass->fetch rewrite:
phk [Sun, 23 Sep 2007 13:46:43 +0000 (13:46 +0000)]
Fix another cornercase that fell out as part of the pass->fetch rewrite:

If we pass a HEAD request, we should not rewrite it to GET and not expect
a body either.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1997 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoUnbreak header ordering.
des [Sun, 23 Sep 2007 13:18:50 +0000 (13:18 +0000)]
Unbreak header ordering.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1994 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoWhen a workerthread dies of old age, make sure to nuke the mutex it may
phk [Sun, 23 Sep 2007 13:11:51 +0000 (13:11 +0000)]
When a workerthread dies of old age, make sure to nuke the mutex it may
have in its cached nobjhead.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1991 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoPart of this commit sneaked into the previous #1985:
phk [Sun, 23 Sep 2007 13:09:56 +0000 (13:09 +0000)]
Part of this commit sneaked into the previous #1985:

Close a supposedly rare memory leak: when we loose the race to create
an objhead, we need to free the hash-string we created before our
second attempt.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1990 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoPartially revert previous optimization: it wasn't.
phk [Sun, 23 Sep 2007 13:04:20 +0000 (13:04 +0000)]
Partially revert previous optimization: it wasn't.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1985 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoPolish, including use of CHECK_OBJ_ORNULL()
phk [Sun, 23 Sep 2007 12:46:52 +0000 (12:46 +0000)]
Polish, including use of CHECK_OBJ_ORNULL()

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1983 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoUse CHECK_OBJ_ORNULL() macro
phk [Sun, 23 Sep 2007 12:46:19 +0000 (12:46 +0000)]
Use CHECK_OBJ_ORNULL() macro

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1982 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoAdd CHECK_OBJ_ORNULL() macro
phk [Sun, 23 Sep 2007 12:44:12 +0000 (12:44 +0000)]
Add CHECK_OBJ_ORNULL() macro

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1981 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoPolish while reading review.
phk [Sun, 23 Sep 2007 12:39:27 +0000 (12:39 +0000)]
Polish while reading review.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1980 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoAdd an experimental runtime parameter for the lru_timeout.
phk [Fri, 21 Sep 2007 13:18:10 +0000 (13:18 +0000)]
Add an experimental runtime parameter for the lru_timeout.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1979 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoA temporary work-around for #161
phk [Fri, 21 Sep 2007 10:38:01 +0000 (10:38 +0000)]
A temporary work-around for #161

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1978 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoDon't leak 50 bytes when creating the new Date: header.
phk [Fri, 21 Sep 2007 09:49:44 +0000 (09:49 +0000)]
Don't leak 50 bytes when creating the new Date: header.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1977 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoDon't copy the Date: header from the object to the reply
phk [Fri, 21 Sep 2007 09:49:05 +0000 (09:49 +0000)]
Don't copy the Date: header from the object to the reply

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1976 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoMove implicit reference to first backend to the xref code.
phk [Fri, 21 Sep 2007 08:16:02 +0000 (08:16 +0000)]
Move implicit reference to first backend to the xref code.

Don't panic if no backend.port is specified.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1975 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoFix an extremely fine C-standard point and remove the vcc_FreeToken()
phk [Thu, 20 Sep 2007 22:27:25 +0000 (22:27 +0000)]
Fix an extremely fine C-standard point and remove the vcc_FreeToken()
prototype

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1974 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agovcc_FreeToken() is no longer necessary
phk [Thu, 20 Sep 2007 22:26:53 +0000 (22:26 +0000)]
vcc_FreeToken() is no longer necessary

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1973 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoAvoid a double free when we encounter a 'include' directive.
phk [Thu, 20 Sep 2007 22:26:31 +0000 (22:26 +0000)]
Avoid a double free when we encounter a 'include' directive.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1972 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoDon't core dump if VCL tries to compare NULL pointers, just let the
phk [Thu, 20 Sep 2007 22:25:27 +0000 (22:25 +0000)]
Don't core dump if VCL tries to compare NULL pointers, just let the
comparison fail.  This typically happens if a paticular header is
not present.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1971 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoFix a brain-o in my last commit. "cls" is a flag for closing the fd,
phk [Thu, 20 Sep 2007 10:44:18 +0000 (10:44 +0000)]
Fix a brain-o in my last commit.  "cls" is a flag for closing the fd,
not for generating Content-Length: header.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1970 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoAdded some checks for NULL-pointers.
cecilihf [Thu, 20 Sep 2007 08:58:54 +0000 (08:58 +0000)]
Added some checks for NULL-pointers.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1969 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoAfter we moved pass to use the same code as fetch, we have run into
phk [Thu, 20 Sep 2007 08:46:25 +0000 (08:46 +0000)]
After we moved pass to use the same code as fetch, we have run into
a unnecessary connection timeout wait when the returned object does
not have a body.

Rework the "does this response have a body" logic to be more in line
with the RFC.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1968 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoAdd a http_GetProto() function
phk [Thu, 20 Sep 2007 08:44:59 +0000 (08:44 +0000)]
Add a http_GetProto() function

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1967 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoUse VBE_CheckFd() convenience function
phk [Thu, 20 Sep 2007 08:23:21 +0000 (08:23 +0000)]
Use VBE_CheckFd() convenience function

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1966 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoAdd a convenience function more for backend methods:
phk [Thu, 20 Sep 2007 08:22:59 +0000 (08:22 +0000)]
Add a convenience function more for backend methods:

VBE_CheckFd(): Check that a filedescriptor is reusable.

Right now we simply poll it with a zero timeout, and if there are
any events, we can't reuse it.

This check may need refinement down the road.

One option would be to attempt to write a CRNL onto the fd and see
that it works.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1965 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoGo over the simple backend and make it more readable.
phk [Thu, 20 Sep 2007 08:16:01 +0000 (08:16 +0000)]
Go over the simple backend and make it more readable.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1964 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoAdd a VBE_TryConnect() which tries to connected to a given backend+addrinfo
phk [Thu, 20 Sep 2007 08:14:40 +0000 (08:14 +0000)]
Add a VBE_TryConnect() which tries to connected to a given backend+addrinfo
combination.  This will be necessary in most if not all backend methods,
so it should be generic.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1963 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoMake init an optional method for backends
phk [Thu, 20 Sep 2007 07:22:56 +0000 (07:22 +0000)]
Make init an optional method for backends

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1962 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoMake updatehealth an optional method for backends
phk [Thu, 20 Sep 2007 07:19:34 +0000 (07:19 +0000)]
Make updatehealth an optional method for backends

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1961 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoCall the init methods of all backend styles.
phk [Thu, 20 Sep 2007 07:14:40 +0000 (07:14 +0000)]
Call the init methods of all backend styles.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1960 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoUse FREE_OBJ() and REPLACE() macros
phk [Thu, 20 Sep 2007 07:09:53 +0000 (07:09 +0000)]
Use FREE_OBJ() and REPLACE() macros

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1959 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoUse REPLACE macro to manipulate malloc'ed string variables.
phk [Thu, 20 Sep 2007 07:03:09 +0000 (07:03 +0000)]
Use REPLACE macro to manipulate malloc'ed string variables.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1958 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoAdd a REPLACE() macro, for manipulating malloced string variables.
phk [Thu, 20 Sep 2007 07:02:35 +0000 (07:02 +0000)]
Add a REPLACE() macro, for manipulating malloced string variables.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1957 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoMake regular expressions case insensitive.
phk [Thu, 20 Sep 2007 06:26:17 +0000 (06:26 +0000)]
Make regular expressions case insensitive.

This is not optimal, but a better compromise than the alternative.

DNS names are case insensitive, but URLs are not.

However, URLs are very often filenames and having files which differ
only in case is already asking for trouble.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1956 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoFixes #157. Always replace Date with current time on varnish server.
cecilihf [Tue, 18 Sep 2007 11:40:44 +0000 (11:40 +0000)]
Fixes #157. Always replace Date with current time on varnish server.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1955 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoAdditional markup fixes, bump date
des [Wed, 12 Sep 2007 15:55:51 +0000 (15:55 +0000)]
Additional markup fixes, bump date

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1949 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoMan page fixes
ssm [Wed, 12 Sep 2007 15:21:12 +0000 (15:21 +0000)]
Man page fixes
* Close list in varnishreplay.1
* Remove macro after Cm, as this cancelled the effect of Cm

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1948 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoDebian package: Rename library and development packages to reflect soname
ssm [Wed, 12 Sep 2007 14:31:22 +0000 (14:31 +0000)]
Debian package: Rename library and development packages to reflect soname

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1946 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoDebian package: Fix lintian warnings
ssm [Wed, 12 Sep 2007 14:30:36 +0000 (14:30 +0000)]
Debian package: Fix lintian warnings
* Add magic tag in varnish.postinst for debhelper
* Remove old overrides, add two overrides for update-rc.d

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1945 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoBump debian version-revision to 1.1.2-1
ssm [Wed, 12 Sep 2007 13:19:27 +0000 (13:19 +0000)]
Bump debian version-revision to 1.1.2-1

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1944 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoInstall man pages into the correct directory.
des [Wed, 12 Sep 2007 08:37:42 +0000 (08:37 +0000)]
Install man pages into the correct directory.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1943 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoMake sure to initialize t_end if we drop sessions.
phk [Wed, 12 Sep 2007 06:12:18 +0000 (06:12 +0000)]
Make sure to initialize t_end if we drop sessions.

Fixes #132

Many thanks to Janis Putrams for debugging this.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1942 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years ago* Added recognition of HEAD responses.
knutroy [Fri, 7 Sep 2007 11:31:18 +0000 (11:31 +0000)]
* Added recognition of HEAD responses.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1941 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoAdded health checks for individual servers within a balanced backend cluster.
cecilihf [Fri, 7 Sep 2007 09:22:30 +0000 (09:22 +0000)]
Added health checks for individual servers within a balanced backend cluster.
The health checks work the same as for a general backend. The worse the health of
an individual server within a balanced backend, the less likely it will be to get new
connections.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1940 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoLimit the width to a sensible value so text will still be readable when you
des [Thu, 6 Sep 2007 23:22:06 +0000 (23:22 +0000)]
Limit the width to a sensible value so text will still be readable when you
maximize your browser window.
Add formatting for <emphasis>.
Correct whitespace handling for <screen>.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1939 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoForgot to update MANIFEST.
knutroy [Wed, 5 Sep 2007 14:53:25 +0000 (14:53 +0000)]
Forgot to update MANIFEST.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1938 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years ago* Added POD.
knutroy [Wed, 5 Sep 2007 12:49:05 +0000 (12:49 +0000)]
* Added POD.
* Moved Varnish::Test::Server::Connection to its own module file.
* Removed TODO which was not too exciting anyway.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1937 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years ago* Added information about test framework to "Inside Varnish".
knutroy [Tue, 4 Sep 2007 14:00:13 +0000 (14:00 +0000)]
* Added information about test framework to "Inside Varnish".

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1936 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years ago* Set statedir to /var/lib, to conform to debian packaging standards.
ssm [Tue, 4 Sep 2007 10:55:25 +0000 (10:55 +0000)]
* Set statedir to /var/lib, to conform to debian packaging standards.

* Removed -n switch from varnish defaults file and varnishlog init script.
  Use the default instance name instead.  This makes sure varnish utilities work
  without having to use the -n switch for the default instance.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1935 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoMissing 0
cecilihf [Tue, 4 Sep 2007 08:04:48 +0000 (08:04 +0000)]
Missing 0

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1934 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoCopy-paste error.
cecilihf [Tue, 4 Sep 2007 08:03:43 +0000 (08:03 +0000)]
Copy-paste error.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1933 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years ago* Added Makefile.PL to test framework.
knutroy [Mon, 3 Sep 2007 10:12:29 +0000 (10:12 +0000)]
* Added Makefile.PL to test framework.
* Moved varnish-regress.pl to subdirectory "bin".
* Minor POD additions.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1932 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoAdded support for load balancing among backends in varnish. It is still experimental
cecilihf [Fri, 31 Aug 2007 12:14:06 +0000 (12:14 +0000)]
Added support for load balancing among backends in varnish. It is still experimental
and very basic, but it should be ready for testing. Two strategies for load balancing
are implemented: a simple round robin, and a simple weighted random. The following
is an example configuration in vcl. The weight parameter for random is optional. Default
is equal weight.

backend foo {
set backend.host = "foo.bar.com";
set backend.port = "http";
}

backend_round_robin rr {
set backend.set = {
{ "foo1.bar.com", "http" }
{ "foo2.bar.com", "http" }
{ "foo3.bar.com", "http" }
};
}

backend_random rrr {
set backend.set = {
{ "foo1.bar.com", "http", 0.3 }
{ "foo2.bar.com", "http", 0.6 }
{ "foo3.bar.com", "http", 0.1 }
};
}

sub vcl_recv {
if {req.http.host ~ "foo"} {
req.backend = foo;
} elseif {req.http.host ~ "bar"} {
req.backend = rr;
} else {
req.backend = rrr;
}
}

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1931 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoFix typo that made worker process panic whenever a request came in without
phk [Fri, 31 Aug 2007 07:03:32 +0000 (07:03 +0000)]
Fix typo that made worker process panic whenever a request came in without
a Host: header.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1930 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoReadability
des [Wed, 29 Aug 2007 15:25:58 +0000 (15:25 +0000)]
Readability

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1928 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoAdd missing files.
des [Wed, 29 Aug 2007 15:24:42 +0000 (15:24 +0000)]
Add missing files.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1927 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoTabify
des [Wed, 29 Aug 2007 15:23:52 +0000 (15:23 +0000)]
Tabify

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1926 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoImprove readability.
des [Wed, 29 Aug 2007 15:21:59 +0000 (15:21 +0000)]
Improve readability.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1925 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoAdd style information for <screen>, and fix marker placement for ordered
des [Sat, 25 Aug 2007 21:35:11 +0000 (21:35 +0000)]
Add style information for <screen>, and fix marker placement for ordered
lists.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1924 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoImprove the rendering of titles.
des [Sat, 25 Aug 2007 19:38:57 +0000 (19:38 +0000)]
Improve the rendering of titles.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1923 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoAdjust title sizes.
des [Sat, 25 Aug 2007 13:57:32 +0000 (13:57 +0000)]
Adjust title sizes.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1922 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoMinor fix to avoid some potential warnings.
knutroy [Fri, 24 Aug 2007 13:57:58 +0000 (13:57 +0000)]
Minor fix to avoid some potential warnings.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1921 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoAdded first release of automatic build and test utility.
knutroy [Fri, 24 Aug 2007 13:45:11 +0000 (13:45 +0000)]
Added first release of automatic build and test utility.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1920 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoAlmost total rewrite, but same functionality, hopefully less the races
phk [Tue, 21 Aug 2007 18:59:35 +0000 (18:59 +0000)]
Almost total rewrite, but same functionality, hopefully less the races
in ticket #144.

Use per backend mutex, do refcounts right, protect the address structures
with a sequence number.

Should close #144.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1919 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoMove the connection (data structure pool) into the generic backend
phk [Tue, 21 Aug 2007 18:57:14 +0000 (18:57 +0000)]
Move the connection (data structure pool) into the generic backend
handling.

Add more asserts.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1918 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoBe much more paranoid about backends, now that they can go away.
phk [Tue, 21 Aug 2007 16:48:00 +0000 (16:48 +0000)]
Be much more paranoid about backends, now that they can go away.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1917 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoSynchronize with bin/varnishd/mgt_vcc.c.
des [Tue, 21 Aug 2007 15:37:17 +0000 (15:37 +0000)]
Synchronize with bin/varnishd/mgt_vcc.c.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1916 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoTry to make this comment a little more visible.
des [Tue, 21 Aug 2007 15:36:59 +0000 (15:36 +0000)]
Try to make this comment a little more visible.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1915 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years ago* Connect to management socket after select-loop is started.
knutroy [Tue, 21 Aug 2007 11:48:57 +0000 (11:48 +0000)]
* Connect to management socket after select-loop is started.
* Removed Varnish::Test::Varnish::kill() which we do not use.
(Varnish::Test::Varnish::shutdown() does kill() and more.)

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1914 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoMake sure wrk->used is always set when we park on an object, we might be
phk [Tue, 21 Aug 2007 09:23:31 +0000 (09:23 +0000)]
Make sure wrk->used is always set when we park on an object, we might be
unlucky multiple times in which case the responsibility falls back to
cnt_lookup().

Fixes 144.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1913 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoAdd a stylesheet that does a pretty good job of generating Trac-compatible
des [Mon, 20 Aug 2007 21:11:15 +0000 (21:11 +0000)]
Add a stylesheet that does a pretty good job of generating Trac-compatible
WikiText from a change log.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1912 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoEven more files...
des [Mon, 20 Aug 2007 19:49:38 +0000 (19:49 +0000)]
Even more files...

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1909 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoDistribute all the files that are needed to recreate the change logs, and
des [Mon, 20 Aug 2007 19:27:08 +0000 (19:27 +0000)]
Distribute all the files that are needed to recreate the change logs, and
add an explicit dependency so the logs are regenerated if the stylesheet
changes.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1907 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoRewrap (no content changes)
des [Mon, 20 Aug 2007 19:20:25 +0000 (19:20 +0000)]
Rewrap (no content changes)

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1905 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoAt some point along the line, I forgot that these files aren't actually
des [Mon, 20 Aug 2007 19:17:49 +0000 (19:17 +0000)]
At some point along the line, I forgot that these files aren't actually
DocBook, and that I don't have <filename>, <literal>, <varname> etc. -
just <code>.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1904 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoReally render <code> elements correctly.
des [Mon, 20 Aug 2007 19:16:08 +0000 (19:16 +0000)]
Really render <code> elements correctly.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1903 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoRender <code> elements.
des [Mon, 20 Aug 2007 19:13:37 +0000 (19:13 +0000)]
Render <code> elements.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1902 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoCatch up with recent commits.
des [Mon, 20 Aug 2007 16:59:16 +0000 (16:59 +0000)]
Catch up with recent commits.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1898 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoCorrect the lock.l_type logic for platforms where O_RDONLY is 0.
des [Mon, 20 Aug 2007 15:18:49 +0000 (15:18 +0000)]
Correct the lock.l_type logic for platforms where O_RDONLY is 0.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1896 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoPrivatize the "simple" aspect of the simple backend.
phk [Mon, 20 Aug 2007 12:45:58 +0000 (12:45 +0000)]
Privatize the "simple" aspect of the simple backend.

Move the VRT initializer for simple backends home.

Add a backend method to get hostname.  This may be a hack.

Move fields private to "simple" to its private structure.

Add cleanup method to backend, so we can collect the garbage.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1895 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoGive backends a reference count and reuse any existing identical backend
phk [Mon, 20 Aug 2007 12:19:16 +0000 (12:19 +0000)]
Give backends a reference count and reuse any existing identical backend
when a new VCL instantiates a backend.

Drop backends when their reference count goes to zero.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1894 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoprefix change vbe -> bes
phk [Mon, 20 Aug 2007 12:18:15 +0000 (12:18 +0000)]
prefix change vbe -> bes

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1893 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoSeparate the generic backend handling from the backend "method".
phk [Mon, 20 Aug 2007 11:46:26 +0000 (11:46 +0000)]
Separate the generic backend handling from the backend "method".

For now all we have is a "simple" method, but we want more complex
methods later on, round-robin, least-busy and so on.

For now, fall into the other ditch and move everything to
cache_backend_simple.c, we will move bits back as the gain generality.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1892 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoWait longer for Varnish to start.
des [Mon, 20 Aug 2007 11:08:07 +0000 (11:08 +0000)]
Wait longer for Varnish to start.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1890 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoRemove the unnecessary third argument to VBE_ClosedFd() and remove
phk [Mon, 20 Aug 2007 11:05:48 +0000 (11:05 +0000)]
Remove the unnecessary third argument to VBE_ClosedFd() and remove
a couple of now pointless debugging messages in pipe mode.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1889 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoFix a long-standing bug in pipe-mode: We must pass the protocol version
phk [Mon, 20 Aug 2007 11:05:07 +0000 (11:05 +0000)]
Fix a long-standing bug in pipe-mode:  We must pass the protocol version
across unchanged, otherwise the semantics of the Connection: header cannot
be interpreted correctly by the server.

wget(1) could trigger this problem and would have to wait for the server
to close the (seemingly idle) connection before continuing.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1888 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agopolish
phk [Mon, 20 Aug 2007 10:52:59 +0000 (10:52 +0000)]
polish

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1886 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoGet number of '%' signs right in param.show message for cc_command.
phk [Mon, 20 Aug 2007 10:41:17 +0000 (10:41 +0000)]
Get number of '%' signs right in param.show message for cc_command.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1885 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoremove debugging message
phk [Mon, 20 Aug 2007 10:39:05 +0000 (10:39 +0000)]
remove debugging message

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1884 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoMake the new FlexeLint 8.00w happy again.
phk [Mon, 20 Aug 2007 10:36:16 +0000 (10:36 +0000)]
Make the new FlexeLint 8.00w happy again.

It's a fine point of C-linguistics, but I have to admit that in
certain universes it would have a point.  Not this one though.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1883 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoMake the C-compiler command a paramter, and generally clean up the
phk [Mon, 20 Aug 2007 10:21:07 +0000 (10:21 +0000)]
Make the C-compiler command a paramter, and generally clean up the
code that invokes it.

If fmtcheck(3) is available, we refuse pedal target practice.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1882 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoLook for fmtcheck(3) function.
phk [Mon, 20 Aug 2007 10:20:09 +0000 (10:20 +0000)]
Look for fmtcheck(3) function.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1881 d4fa192b-c00b-0410-8231-f00ffab90ce4