]>
err.no Git - varnish/log
phk [Sat, 28 Feb 2009 21:56:49 +0000 (21:56 +0000)]
Postpone allocating the actual object until we have received the
headers and vcl_fetch{} has told os what to do with it.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3845
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Sat, 28 Feb 2009 21:21:14 +0000 (21:21 +0000)]
Use the right workspace for beresp.status
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3844
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Sat, 28 Feb 2009 19:00:00 +0000 (19:00 +0000)]
When we know that an object will not make it into the hash
table permanently, use malloc(3) as backing store.
This affects mainly pass'ed requests.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3843
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Sat, 28 Feb 2009 18:34:07 +0000 (18:34 +0000)]
Now that we do not need the new object while holding the highly trafficed
objhead lock, don't preallocate objects.
One unfortunate effect of this preallocation, only recently identified:
On systems with high number of worker threads and high hitrates, considerable
time could elapse between the preallocation of an object to a worker
thread and the use of that object.
This could make cache-misses use a much larger working set size than
really necessary.
I do not have access to any benchmarks that show a credible performance
difference, but reports are most welcome.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3842
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Sat, 28 Feb 2009 18:18:23 +0000 (18:18 +0000)]
On a cache-miss, insert only the (busy) objcore, leave the actual
object allocation and insertion for later in cache_center.c
For now, do it right away in cache_center, before going to STP_MISS.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3841
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Sat, 28 Feb 2009 17:20:19 +0000 (17:20 +0000)]
Eliminate the parent-child linkage between objects involved in grace.
The original thinking was that only objects being prefetched were
relevant, but we take a more expansive view now.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3840
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Fri, 27 Feb 2009 16:09:03 +0000 (16:09 +0000)]
Now that ESI parsing is not done while we execute vcl_fetch{}, the
majority of the cache_vrt_esi.c file is no longer "VRT" relevant.
Move the one function which is VRT to cache_vrt.c and rename
cache_vrt_esi.c to cache_esi.c
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3839
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Fri, 27 Feb 2009 15:20:57 +0000 (15:20 +0000)]
TIMBER!
Move the vcl_fetch{} execution up between fetching the headers and the
body of the backend response.
This makes obj.* unavailable in vcl_fetch{} and replaces it with a
new beresp.* family of variables.
This paves the way for a lot of good stuff, such as streaming pass,
on-the-fly delivery of misses, storage selection based on headers
etc.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3838
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Fri, 27 Feb 2009 13:29:58 +0000 (13:29 +0000)]
Change assert to error
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3837
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Fri, 27 Feb 2009 12:17:52 +0000 (12:17 +0000)]
Move the http_conn into the bereq.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3836
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Fri, 27 Feb 2009 12:10:01 +0000 (12:10 +0000)]
move object twiddling from FetchHdr() to cache_center.c
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3835
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Fri, 27 Feb 2009 12:02:50 +0000 (12:02 +0000)]
Add a beresp.* variable family, which contains the backend response
before filtering.
Cut Fetch() into two, FetchHdr() and FetchBody(), for now, just call
them sequentially from cache_center.c
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3834
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Fri, 27 Feb 2009 11:36:16 +0000 (11:36 +0000)]
Don't pollute bereq.* in vcl_fetch{} with the reply
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3833
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Fri, 27 Feb 2009 10:06:49 +0000 (10:06 +0000)]
Sorry, forgot to commit this file.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3832
d4fa192b -c00b-0410-8231-
f00ffab90ce4
petter [Thu, 26 Feb 2009 13:36:44 +0000 (13:36 +0000)]
$delta_time should never be 0, but just in case...
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3831
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Thu, 26 Feb 2009 12:53:28 +0000 (12:53 +0000)]
Add the two new stevedore entrypoints:
->object() is (to be) called when a cached object is ready
->close() is (to be) called on orderly stops of the worker.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3830
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Thu, 26 Feb 2009 12:22:50 +0000 (12:22 +0000)]
Add a alloc/free function.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3829
d4fa192b -c00b-0410-8231-
f00ffab90ce4
tfheen [Thu, 26 Feb 2009 08:36:28 +0000 (08:36 +0000)]
Fix compilation problem on Solaris - missing include
Solaris appears to need #include <sys/wait.h> for WEXITSTATUS to be defined.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3828
d4fa192b -c00b-0410-8231-
f00ffab90ce4
tfheen [Wed, 25 Feb 2009 11:40:39 +0000 (11:40 +0000)]
Replace __inline with inline
C99 standardised "inline" and the Sun compiler doesn't like __inline,
so change to using inline consistently.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3827
d4fa192b -c00b-0410-8231-
f00ffab90ce4
tfheen [Wed, 25 Feb 2009 10:50:49 +0000 (10:50 +0000)]
Make sure system "..." returns successfully
We didn't check the return status of system, making failures in a00009
go unnoticed. Fix this and fix a00009 to not fail when run
uninstalled.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3826
d4fa192b -c00b-0410-8231-
f00ffab90ce4
tfheen [Wed, 25 Feb 2009 10:25:43 +0000 (10:25 +0000)]
Stop segfaulting when trying to set a nonexistant waiter
We failed to properly check for the end of the list of waiters.
Handle this correctly and add a test case
Fixes #428
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3825
d4fa192b -c00b-0410-8231-
f00ffab90ce4
petter [Wed, 25 Feb 2009 07:46:42 +0000 (07:46 +0000)]
Added -x option to get XML output. As with the -1 option, it prints it once and quits, and you can choose what fields to include with the -f option. Example XML output is
<?xml version="1.0"?>
<varnishstat timestamp="2009-02-25T08:45:02">
<stat>
<name>client_req</name>
<value>
2656016 </value>
<description>Client requests received</description>
</stat>
</varnishstat>
varnishstat.xsd contains the XML schema for the output.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3824
d4fa192b -c00b-0410-8231-
f00ffab90ce4
tfheen [Tue, 24 Feb 2009 12:00:05 +0000 (12:00 +0000)]
Clean default.vcl on distclean
Distclean (in the build directory) should clean out default.vcl in the
build directory. This fixes a strange FTBFS on FreeBSD.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3823
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Mon, 23 Feb 2009 15:58:39 +0000 (15:58 +0000)]
Explain what functions do.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3822
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Mon, 23 Feb 2009 15:48:33 +0000 (15:48 +0000)]
Read and Write the segment list.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3821
d4fa192b -c00b-0410-8231-
f00ffab90ce4
tfheen [Mon, 23 Feb 2009 15:10:35 +0000 (15:10 +0000)]
Make sure we ship persistent.h too
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3819
d4fa192b -c00b-0410-8231-
f00ffab90ce4
tfheen [Mon, 23 Feb 2009 15:10:33 +0000 (15:10 +0000)]
Add defines for MAP_NOCORE / MAP_NOSYNC so this compiles on Linux
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3818
d4fa192b -c00b-0410-8231-
f00ffab90ce4
petter [Mon, 23 Feb 2009 14:51:43 +0000 (14:51 +0000)]
Don't use a 500 status as a hint to quit the data collector thread. Tell it by a shared variable.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3816
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Mon, 23 Feb 2009 14:12:33 +0000 (14:12 +0000)]
get close to reading segment table
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3815
d4fa192b -c00b-0410-8231-
f00ffab90ce4
petter [Mon, 23 Feb 2009 13:43:06 +0000 (13:43 +0000)]
Minor HTML-clean ups
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3814
d4fa192b -c00b-0410-8231-
f00ffab90ce4
petter [Mon, 23 Feb 2009 13:42:32 +0000 (13:42 +0000)]
Fixed issue with response not containing correct headers. CSS was sent as text/plain, causing firefox to ignore it.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3813
d4fa192b -c00b-0410-8231-
f00ffab90ce4
petter [Mon, 23 Feb 2009 12:44:13 +0000 (12:44 +0000)]
Fetching ALL the columns when generating graphs is stupid and time consuming. Now we only fetch the required fields.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3812
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Mon, 23 Feb 2009 11:31:08 +0000 (11:31 +0000)]
Move on to the worker process side of persistent storage
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3811
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Mon, 23 Feb 2009 11:07:06 +0000 (11:07 +0000)]
The SHA256 is outside the signature struct
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3810
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Mon, 23 Feb 2009 11:04:19 +0000 (11:04 +0000)]
A bit of FlexeLint nitpicking
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3809
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Mon, 23 Feb 2009 10:46:50 +0000 (10:46 +0000)]
Create/validate the three signed tables (ban1+2, segments)
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3808
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Mon, 23 Feb 2009 10:46:07 +0000 (10:46 +0000)]
Add symbolic SHA256_LEN for the size of the digest.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3807
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Mon, 23 Feb 2009 10:07:51 +0000 (10:07 +0000)]
Code to create, map and ident the storage silo
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3806
d4fa192b -c00b-0410-8231-
f00ffab90ce4
petter [Mon, 23 Feb 2009 07:17:20 +0000 (07:17 +0000)]
Gain some speed by at least creating index on the stat table
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3805
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Sun, 22 Feb 2009 17:48:24 +0000 (17:48 +0000)]
Bring in the first inkling of the persistent storage module
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3804
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Sun, 22 Feb 2009 16:36:37 +0000 (16:36 +0000)]
Move the catalogs of storage and hash modules closer to home.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3803
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Fri, 20 Feb 2009 19:06:07 +0000 (19:06 +0000)]
Some constifications
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3802
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Fri, 20 Feb 2009 18:41:57 +0000 (18:41 +0000)]
Handle worker thread on subrequests correctly
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3801
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Fri, 20 Feb 2009 18:13:42 +0000 (18:13 +0000)]
Don't clean on every request, that was for debugging only.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3800
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Fri, 20 Feb 2009 18:05:34 +0000 (18:05 +0000)]
Don't try to rush waiting sessions of refcount is zero, there cannot be
any (they would hold a reference).
Should be merged to 2.0.3
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3799
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Fri, 20 Feb 2009 18:00:06 +0000 (18:00 +0000)]
Add a lot more paranoia asserts
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3798
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Fri, 20 Feb 2009 17:21:30 +0000 (17:21 +0000)]
Put the cleanup next to the preallocation and remember to release
the preallocated objcore
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3797
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Fri, 20 Feb 2009 15:25:06 +0000 (15:25 +0000)]
Add a delta-stats structure to worker threads and keep
track of n_object and n_objecthead in them.
Accumulate into global stats after work is done if the lock is
free and always before going idle.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3796
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Fri, 20 Feb 2009 15:18:46 +0000 (15:18 +0000)]
Make "hcb.dump" a CLI command
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3795
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Fri, 20 Feb 2009 14:00:16 +0000 (14:00 +0000)]
Add a argument to the stat_field macro, to be used with locking evilness
shortly.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3794
d4fa192b -c00b-0410-8231-
f00ffab90ce4
petter [Fri, 20 Feb 2009 13:45:35 +0000 (13:45 +0000)]
Open the socket non-blocking so we can time out if the management console doesn't print a banner
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3793
d4fa192b -c00b-0410-8231-
f00ffab90ce4
petter [Fri, 20 Feb 2009 11:45:30 +0000 (11:45 +0000)]
Added possibility to add nodes to a group without have the settings of the group or node altered, which can be usefull to group node logically if the web GUI is used as a monitoring tool. Also fixed a logical bug in the settings inheritance code.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3792
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Fri, 20 Feb 2009 11:05:14 +0000 (11:05 +0000)]
Be more defensive around objhead retirement.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3791
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Fri, 20 Feb 2009 09:56:49 +0000 (09:56 +0000)]
Remove unused hoh_digest
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3790
d4fa192b -c00b-0410-8231-
f00ffab90ce4
petter [Fri, 20 Feb 2009 06:53:55 +0000 (06:53 +0000)]
Forgot to escape \ when sending VCL to management port
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3789
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Thu, 19 Feb 2009 16:00:22 +0000 (16:00 +0000)]
Split a couple of generally useful routines out of storage_file
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3788
d4fa192b -c00b-0410-8231-
f00ffab90ce4
petter [Thu, 19 Feb 2009 14:10:35 +0000 (14:10 +0000)]
Some minor cosmetics and bugs discovered during documentation writing.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3787
d4fa192b -c00b-0410-8231-
f00ffab90ce4
petter [Wed, 18 Feb 2009 15:36:25 +0000 (15:36 +0000)]
A mojor update to the web GUI, unfortunately all done in one go. Nevertheless, here it is, and has many improvements to the christmas edition commited in december:
- the GUI now uses a sqlite3 database for storage, so all configuratons are stored
- aggregated statistics for groups
- graphs on demand for raw data
- CSV export of stat data
- 'Restricted mode' to get a web GUI which prevent you from doing changes
- logging of changes performed in the GUI
- generall minor improvements in the GUI
Additional perl module dependencies are Algorithm::Diff and DBD::Sqlite3
A proper documentation will appear on the wiki in a couple of days to describe all that can be done with the web GUI.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3786
d4fa192b -c00b-0410-8231-
f00ffab90ce4
tfheen [Wed, 18 Feb 2009 08:15:44 +0000 (08:15 +0000)]
Make sure we have a C99 compiler
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3785
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Tue, 17 Feb 2009 17:10:29 +0000 (17:10 +0000)]
Correct and complete description of -a.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3784
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Tue, 17 Feb 2009 11:11:57 +0000 (11:11 +0000)]
with the prefetch timer out of the way, we do not need the ttl
in objcore, only when the timer fires.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3783
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Tue, 17 Feb 2009 10:50:42 +0000 (10:50 +0000)]
Now that we only have one timer firing, remove stuff to deal with
different events.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3782
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Tue, 17 Feb 2009 10:29:20 +0000 (10:29 +0000)]
Eliminate prefetch, grace was a much better idea.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3781
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Tue, 17 Feb 2009 10:12:21 +0000 (10:12 +0000)]
Assert that we got an objcore
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3780
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Tue, 17 Feb 2009 10:06:19 +0000 (10:06 +0000)]
Move the ttl from object up to the objcore
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3779
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Tue, 17 Feb 2009 09:50:05 +0000 (09:50 +0000)]
Move the pass flag from the object to the objcore.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3778
d4fa192b -c00b-0410-8231-
f00ffab90ce4
tfheen [Tue, 17 Feb 2009 09:48:10 +0000 (09:48 +0000)]
Remove __BEGIN_DECLS and __END_DECLS as those do not exist on Solaris (and we do not need them)
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3777
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Tue, 17 Feb 2009 09:46:33 +0000 (09:46 +0000)]
Convert assert to error report
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3776
d4fa192b -c00b-0410-8231-
f00ffab90ce4
tfheen [Tue, 17 Feb 2009 09:09:08 +0000 (09:09 +0000)]
Add documentation for cli_banner
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3775
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Mon, 16 Feb 2009 15:34:00 +0000 (15:34 +0000)]
Allow for pass opbjects not having a objcore
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3774
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Mon, 16 Feb 2009 15:06:18 +0000 (15:06 +0000)]
Move the object busy flag up to the objcore.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3773
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Mon, 16 Feb 2009 14:22:00 +0000 (14:22 +0000)]
Compress objcore a bit more by squezing 32 bit fields to 8 bit, still
leaving plenty of space.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3772
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Mon, 16 Feb 2009 13:40:29 +0000 (13:40 +0000)]
Correct copyright and attribution.
Approved by: phk, ssm
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3771
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Mon, 16 Feb 2009 13:38:39 +0000 (13:38 +0000)]
Reduce objhead size by overloading.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3770
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Fri, 13 Feb 2009 13:43:30 +0000 (13:43 +0000)]
To prevent masking bugs, disable auto_restart by default.
Enable it explicitly in the one testcase where we check that it works.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3769
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Fri, 13 Feb 2009 13:42:44 +0000 (13:42 +0000)]
Make sure to clean the VBE properly before releasing it.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3768
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Fri, 13 Feb 2009 12:16:34 +0000 (12:16 +0000)]
Add two hidden CLI commands for panic'ing the master and worker process.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3767
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Fri, 13 Feb 2009 11:10:37 +0000 (11:10 +0000)]
Use semaphores instead of delays
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3766
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Fri, 13 Feb 2009 10:46:14 +0000 (10:46 +0000)]
Don't copy the debug flag around, make it a global instead.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3765
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Fri, 13 Feb 2009 10:38:22 +0000 (10:38 +0000)]
vi(1) 'x' key misfire.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3764
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Fri, 13 Feb 2009 10:35:46 +0000 (10:35 +0000)]
Disable CLI banner when running tests.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3763
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Fri, 13 Feb 2009 10:13:27 +0000 (10:13 +0000)]
Add a "banner" command to the CLI interface.
Add a parameter "cli_banner" (default on) which injects an implicit
"banner" CLI command on all cli connections when opened.
The net result is that you get a CLI response when you connect to
the CLI ports:
200 193
-----------------------------
Varnish HTTP accelerator CLI.
-----------------------------
Type 'help' for command list.
Type 'quit' to close CLI session.
Type 'start' to launch worker process.
Presently the contents of the CLI response is "undefined", in the
sense that you should not programatically depend on anything besides
the "200" reply code.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3762
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Fri, 13 Feb 2009 09:49:11 +0000 (09:49 +0000)]
Update copyright year
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3761
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Fri, 13 Feb 2009 09:38:57 +0000 (09:38 +0000)]
Add VLU_Data() function for injecting input
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3760
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Fri, 13 Feb 2009 09:25:33 +0000 (09:25 +0000)]
parameter name change "acceptor" -> "waiter"
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3759
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Fri, 13 Feb 2009 09:19:50 +0000 (09:19 +0000)]
Due to lack og foresight,the threads that keep an eye on client connections
to see if they get reused ended up being named "acceptors", which is a bad
name because we have another thread which accepts new connections.
Rename the "fake" acceptors to "waiters"
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3758
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Thu, 12 Feb 2009 22:26:44 +0000 (22:26 +0000)]
Move the LRU timestamp from the objcore to the object, we only access
it when we have used the object anyway.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3757
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Thu, 12 Feb 2009 17:23:16 +0000 (17:23 +0000)]
Move objcore over objects, so that objhead has a list of objcore
which point to the objects.
Preallocate objcore with obj+objhead before we enter locked
hash sections.
Rename objcore.list to objcore.lru_list.
Eliminate obj.list and objhead.hashlen
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3756
d4fa192b -c00b-0410-8231-
f00ffab90ce4
tfheen [Wed, 11 Feb 2009 14:55:26 +0000 (14:55 +0000)]
Merge r3752: Added som changelog changes from fedora package
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3754
d4fa192b -c00b-0410-8231-
f00ffab90ce4
tfheen [Wed, 11 Feb 2009 14:55:02 +0000 (14:55 +0000)]
Merge r3751 into trunk: Packaging fixes
- Changelog item to specfile for the rpm package
- Added html doc to the rpm package
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3753
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Wed, 11 Feb 2009 11:24:12 +0000 (11:24 +0000)]
Pull struct objexp out of the closet and call it objcore.
In the future, this will be the bits of a cached object we cannot
realistically expect to stay paged out for any period of time.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3750
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Fri, 6 Feb 2009 21:21:50 +0000 (21:21 +0000)]
Fix backslashes.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3693
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Fri, 6 Feb 2009 21:12:46 +0000 (21:12 +0000)]
Whitespace cleanup
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3692
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Tue, 3 Feb 2009 21:49:47 +0000 (21:49 +0000)]
Regression testcase for #433
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3576
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Tue, 3 Feb 2009 21:49:26 +0000 (21:49 +0000)]
Overhaul the ESI parser in light of #433 and the prospect of future
addition of features to the ESI code.
The particular situation in #433 arises because a XML comment is not
bounded in length, the same way as an <esi:include...> element naturally
is. This opens the window for trouble when large sections of XML is
commented out for some reason or another.
Bite the bullet and create a "storage-pointer" consisting of a pointer
to a storage segment and a pointer into that segment.
Add a main-loop which uses these pointers to walks over the entire
object, looking for stuff we care about, and handle each appropriately.
In addition to coping properly with the situation in #433, this code is
also close to 100 lines shorter and has a more logical structure.
The downside is that it is isn't quite as memory-access-alergic as the
previous version. (I challenge anybody to measure the effect of this.)
Fixes: #433
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3575
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Tue, 3 Feb 2009 21:22:52 +0000 (21:22 +0000)]
Add line numbers to this test, so we can see where it croaks, when it does.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3574
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Tue, 3 Feb 2009 18:44:21 +0000 (18:44 +0000)]
Add a counter for esi parse errors and test it in all ESI related
tests cases.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3573
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Tue, 3 Feb 2009 17:34:08 +0000 (17:34 +0000)]
Add bodylen expects to the ESI test cases
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3572
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Tue, 3 Feb 2009 12:59:13 +0000 (12:59 +0000)]
Update this test to actually test what it should.
I suspect a white-space cleanup got it at some point.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3571
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Tue, 3 Feb 2009 12:45:06 +0000 (12:45 +0000)]
Make it possible (at great performance loss) to force straight
time sequencing of shmlog records for debugging purposes.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3570
d4fa192b -c00b-0410-8231-
f00ffab90ce4