rousskov [Wed, 24 Mar 1999 11:16:08 +0000 (11:16 +0000)]
- added calculation of Content-Length for multi-range responses;
the implementation packs HTTP headers into a buffer to calculate
their length; not very efficient, but simple.
wessels [Sat, 30 Jan 1999 05:17:09 +0000 (05:17 +0000)]
reconfigure caused peer address lookups to take a long time because
we didn't queue another peerRefreshDNS event. instead we waited for
the current, pending event, no matter how far off it was.
wessels [Sat, 30 Jan 1999 04:01:06 +0000 (04:01 +0000)]
we need to lock entry in errorAppend(). our storeAppend (or rather
storeBufferFlush) call might result in the client-side unregistering
and aborting, and unlocking, and freeing the entry. This happened
for netdb exchange requests.
wessels [Sat, 30 Jan 1999 00:36:37 +0000 (00:36 +0000)]
storeSwapOutFileOpened: Unable to open swapfile:
/disk2/cache2/00/71/0000716C (13) Permission denied
* yuck. don't clear the filemap bit for some errors so that
* we don't try re-using it over and over
wessels [Sat, 30 Jan 1999 00:25:08 +0000 (00:25 +0000)]
From: "Erick C. Chang" <erick@mail.thu.edu.tw>
I've corrected some mistakes and make some changes
on the Traditional Chinese(Big5) error messages that
come with squid 2.2 pre1(the old one I create).
Maybe you should use this new one when the next
squid release. This one is better than last one :p
wessels [Fri, 22 Jan 1999 06:58:41 +0000 (06:58 +0000)]
From: Henrik Nordstrom <hno@hem.passagen.se>
Here is a patch that replaces persistent_client_posts all together.
Instead it uses a (fast) ACL to determine if this extra CRLF should be
appended to the body of the request or not.
wessels [Fri, 22 Jan 1999 06:15:35 +0000 (06:15 +0000)]
From: Henrik Nordstrom <hno@hem.passagen.se>
This patch removes the last traces of cache_mem high/low water marks.
Keep hot object store at cache_mem instead of cache_mem_high.
wessels [Fri, 22 Jan 1999 04:13:00 +0000 (04:13 +0000)]
From: Henrik Nordstrom <hno@hem.passagen.se>
* Changed async_io.c and aiops.c to use MemPool pools for their
"request" structures.
* Fix for a odd situation where I/O operations could get stuck in the
queue if there was no new I/O activity. Symptoms seen was: 1. The
shutdown code could trigger some assertions which seemed impossible. 2.
Some times a number of files could be kept open until the next swapout.
* Changed the log message shown when running low on I/O threads, and
also changed logging of this message to only occur if out of threads for
more than one second.
* Moved some aiops.c log messages to lower priorities.
* Removed that special low-priority queue for unlinks. I had some
strange effects from it, and the number of queued unlinks fluctuaded a
bit to much when under heavy load. If store maintaince is a problem then
this should it be corrected at a higher level, and not by delaying the
unlinks.
* Minor preparations for making NUMTHREADS a squid.conf tunable.
* moved memClean later in the shutdown procedure, to allow async-io to
use MemPool..
wessels [Fri, 22 Jan 1999 04:10:32 +0000 (04:10 +0000)]
changed open_disk_fd to store_open_disk_fd.
1) we want to track only STORE files, not necessarily log files. Log files
don't contribute much to disk load.
2) this accounting belongs in the "store filesystem" layer, not
the "fd layer". Mostly motivated by Henrik's addition of
Opening_FD counter in the async code.
wessels [Thu, 21 Jan 1999 02:27:08 +0000 (02:27 +0000)]
Fixed up *Timeout() functions. We might get fooTimeout() called
when the entry has been ENTRY_ABORTED because the abort callback
comes in an event, not immediately. Also, fooTimeout() now uses
fwdFail instead of building its own error page.
wessels [Wed, 20 Jan 1999 05:00:57 +0000 (05:00 +0000)]
From: Tony Finch <fanf@demon.net>
The patch below adds accelerator mode functionality to tcp-banger2. In
this mode it makes requests like
PURGE /path/to/file HTTP/1.0
Host: www.example.com
instead of
PURGE http://www.example.com/path/to/file HTTP/1.0
We use it for keeping our accelerators up-to-date with respect to
customer changes on their sites.
wessels [Wed, 20 Jan 1999 04:55:54 +0000 (04:55 +0000)]
From: Robert Side <rside@aiinc.bc.ca>
Date: Mon, 18 Jan 1999 17:48:00 GMT
To get squid version 2.1.Patch1 to compile and run on SCO Unix Version
3.2v4.2 you need to use this configure line (from a csh like shell)
env LIBS=-lintl ./configure --disable-poll
The env LIBS=-lintl is required so squid can find strftime. Should
configure check for the existence of strftime in the standard
libaries and if it can't find it, check libintl.a on SCO systems?
wessels [Wed, 20 Jan 1999 03:26:32 +0000 (03:26 +0000)]
We had false loop detections because "ee.lbl.gov" matched "ren.ee.lbl.gov".
Added variable (ThisCache2) that has a space prepended to the hostname
so we now search for " ee.lbl.gov".
wessels [Tue, 19 Jan 1999 13:31:42 +0000 (13:31 +0000)]
fwdStateFree will call storeComplete() if the entry is in
STORE_PENDING state. This can happen in the server-side just
chooses to close the server socket without setting up any
sort of failure information (fwdFail).
wessels [Tue, 19 Jan 1999 05:23:32 +0000 (05:23 +0000)]
sigh. Okay, this might work better.
To "decouple" storeAbort calling into the server side (fwdAbort) and
wreaking havoc, lets have the storeAbort callback done as an event,
thus outside of comm_select loop.
Hopefully this means we don't need the gross "flags.delayed_comm_close"
and current_hdl_fd crap.
Also, since we moved the abort callback to an event, we might end up
doing a server read after the entry has been aborted, but before
the event is called. Thus, the server modules need to check
for ENTRY_ABORTED before reading.
this commit also adds some (temp?) debugging to track open
disk FDs