Re: client_side and comm_close

From: Adrian Chadd <adrian@dont-contact.us>
Date: Sat, 19 Apr 2008 10:50:53 +0800

On Fri, Apr 18, 2008, Alex Rousskov wrote:

> > I'd suggest another option - roll back all of the async calls changes to the
> > comm code, stabilise the codebase without it and re-evaluate what should
> > occur (in smaller chunks, rather than dropping in a new comm manager)
> > before reintroducing it.
>
> If the client_side's main problem was a few coding bugs caused by async
> call changes, you may have been right. Unfortunately, our main problem
> here is the client_side design flaws. Removing async calls from comm
> will not undo those flaws.

I know this.

> The changes needed on the client-side are pretty much unrelated to async
> calls. Async calls just make the design problems more obvious and help
> in solving them. Removing async calls from comm will fix a few bugs, but
> will be a step backwards and will make ongoing code cleanup more
> difficult.

But now you have a better understanding of the bugs that are introduced
with AsyncCalls. You can then plan design changes to the client-side code
to work around these.

> Another way to look at it is to note that client_side was already pretty
> stable before async calls (i.e., Squid 3.0). Thus, we have already been
> where you are proposing to go.

Yes, then you left it by introducing something which exposed the bugs.
Its great that we now know about the bugs - but now you've got a codebase
that you're trying to stabilise and you can't guarantee you understand
all of the possible ways its going to break in the future.
If you back out the async related changes then you'll have a stable codebase
again - you can then make smaller incremental changes to the codebase
and test them to make sure you haven't broken anything, rather than spending
possibly 6 + months finding more surprises.

Remember, the initial idea was to use 3.1 to tidy up the codebase to stabilise
it, not tidy up the codebase to unstabilise it. Redesigning chunks of the
comm codebase -was- on my todo list for 3.1, but then people dumped stuff into
3 to make it less stable again.

Adrian

-- 
- Xenion - http://www.xenion.com.au/ - VPS Hosting - Commercial Squid Support -
- $25/pm entry-level VPSes w/ capped bandwidth charges available in WA -
Received on Tue Apr 22 2008 - 14:34:00 MDT

This archive was generated by hypermail 2.2.0 : Wed Apr 30 2008 - 12:00:07 MDT