Re: [squid-users] cache of 404 and redirects

From: Adrian Chadd <adrian@dont-contact.us>
Date: Thu, 8 May 2008 13:50:58 +0800

On Thu, May 08, 2008, Amos Jeffries wrote:
> > On Wed, May 07, 2008, Christian Seifert wrote:
> >> Or if you could merge 2.7 into 3.0, that would also help. Seems like 3.0
> >> currently doesnt have the storeurl_program options....
> >
> > When the 3.0 developers push out a stable tree which people can move
> > to, sure, I'll look at merging stuff of mine into -3.
> >
> > But right now I don't find -3 "fun" to work on,
>
> There you have the crux of the entire (5 year?) Squid-2 vs Squid-3 debate.
> Adrian doesn't find C++ code 'fun'.

Hey cool! Somehow it became about C++.

No, I don't find the development direction, the lack of meaningful pre-planning
except when commercial interests are involved, the lack of useful large-scale
user deployment feedback (and the lack of community participation in general is
another topic, but I digress) and the fact that the codebase combines the worst
bits of C and C++ in a monolithic, semi-structured mess "fun".

I find it "fun" that companies like Yahoo, last.fm and Wikipedia still run Squid-2
in large scale production, and that the improvements I make in whatever I choose
to work on in my spare time are involved in the day-to-day experiences of millions
of people, even though none of them know about it.

I find it "fun" that I can take a legacy bit of software and start to modernise
it, far past what current user expectations are. I know I'm reinventing the wheel
somewhat, but I find trying to reinvent the wheel whilst not reinventing the wheel
a "fun" challenge.

I started Xenion to try and turn some of that "fun" into something worthwhile,
so I could spend more of my time working on things which may make a bit of
a difference.

> > and commercial work
> > aside, I still hack on Squid for fun. Commercial work not aside,
> > I don't agree with the directions that -3 is currently taking, and
> > until there's a more sensible and stable codebase I can't justify
> > suggesting that {current, new} clients migrate to Squid-3.
>
> Come on, define 'sensible code' and stability for the readers please.
> 2.7 is less stable than 3.0 at present. The old roadmap from 2.7 to 2.8
> included sweeping core changes more destabilising than the 3.0->3.1 ones.

Weird! 2.7 is stable enough, and faster, and the few bugs introduced are being
ironed out. Just like in 3.0. Except, 3.0 -> 3.1 is a large jump, and 3.1 -> 3.2
is going to be an even larger jump. The last couple of 2.7 bugs have been due to
recent additions on contract; and Henrik's found and squished those.
I personally think 2.7.STABLE1 should've been released a couple of months ago.
As it stands right now, I think 2.7 is going to match and exceed stability and
performance expectations from Squid-2.6, and thats what I find "fun".

Study 2.7 to 2.HEAD; the changes aren't all that drastic. The biggest drastic
change is the elimination of the store -> client copy, which yes there are bugs,
but they're being worked out.

Insted of trying to squeeze more into Squid-2.HEAD (and Cacheboy, for that
matter), I've put a hold on any of my work that'll destabilise things further.
I spent time working in a sandbox to see exactly how far I could get with
sweeping changes; I took notes, I learnt from the experience, and the stuff
thats different between 2.HEAD and Cacheboy right now represents what I've
learnt from that experience.

Check out the Cacheboy stuff - that includes a lot of the changes which I
was going to make along the Squid-2.8 roadmap, and almost none of the changes
were dramatic. Code reorganisation, code tidyup, replace a FIFO implementation
with something slightly more sensible. Break out the code in preparation for
further development and testing work. All the stuff that we should've done years
ago, except the focus shifted to -3 and, and I'm going to really honest here,
it never delivered.

Sensible code: modular, well-defined APIs, try to remove legacy stuff whilst
maintaining stability. Squid-2 and Squid-3 haven't tackled the big issues
in the codebase, and it doesn't seem like Squid-3 will tackle any of those
issues any time soon.

So no Amos, I don't buy the "2.7 to 2.HEAD is just as destabilising as 3.0
to 3.1" line. I believe that anyone who bothers reading the code/changesets will
come to the same conclusion.

> >From the stats 12% of the squid users (on Linux with basic packages) are
> using 3.0 now over all versions of 2.x. _On_top_ of the 10% increase in
> total users 2.x (all versions) had over the period since 3.0 was released.

Origin please. I bet you can attribute a large part of that to people who
run the "latest" version of software, and Squid-3 probably runs fine for
them.

> > (This is why I forked off Squid-2 into Cacheboy, btw.)
>
> And why we concreted, tested, and fixed up squid-3 to released 3.0 full of
> the existing stable changes. Prior to adding much of the fancy new stuff
> from 2.6, 2.7, 2.8, and 2.9.

The stuff was added to 2.x because people wanted/coded it. You know, because
people are actively using it and stuff.

> We in squid-3 agree with you Christian. If only the 2.6 and 2.7 changes
> were also ported to 3.x when they had passed testing in 2.x there would be
> not quite such a mess of shifting goalposts and last-minute catchup
> features plugged on top of (de-stabilizing!) 3.1.

Hey, I'm really sorry that the stuff _I_ did for fun in a _stable_ codebase
weren't done in an _unstable_ codebase which I then couldn't really suggest
that people try out in production. I'm also sorry for those feature submissions
for Squid-2.6 and Squid-2.7 - obviously thats not what people want to use.

Its the Squid-3 developers' choice to throw stuff into 3.1 to try and become
feature-par with Squid-2. Hey, I'm all for that, but there's so much crap
in the Squid-ALL codebases which need tidying up before the codebase can really
shine, and I'm quite frankly fed up waiting for the right oppertunity to do it.

Its crap like this which makes me simply want to quit developing Squid again.

Adrian
Received on Thu May 08 2008 - 05:50:01 MDT

This archive was generated by hypermail 2.2.0 : Tue May 13 2008 - 12:00:03 MDT