Some progress on large response headers

From: Henrik Nordstrom <henrik@dont-contact.us>
Date: Sun, 16 Mar 2008 02:55:44 +0100

Have finally been making some significant progress on handing of large
response headers in Squid-3. After some consideration the approach taken
is to simply seek over the response headers in the data stream clone the
response from the store instead of parsing it again. This is similar to
what Adrian did in Squid-2 for other reasons.

Some work still remains to fix up the various code paths accessing /
creating objects, only tested for cache misses so far.

- IMS processing
- Vary
- Cache hits
- Error responses

The change is a good step forward towards separating headers from data,
but the headers is still seen in the raw data flow and not yet using any
sane StoreClient API to access the headers but direct access to the
StoreEntry.

Pros:
- In line with the long-term goal of separating headers from content.
- Avoids double-parse of the headers
- A lot of cruft in client_side_reply simply goes away.

Cons:
- Not entirely sure how ICAP and ESI fits into the reply processing. But
I hope there is no problem..

The bzr branch can be found at
http://www.henriknordstrom.net/bzr/squid3/hno/largeresp/
(bzr only, no online viewer installed, sorry)

Regards
Henrik
Received on Sat Mar 15 2008 - 19:56:22 MDT

This archive was generated by hypermail pre-2.1.9 : Tue Apr 01 2008 - 13:00:10 MDT