Dates

Poul-Henning Kamp phk at phk.freebsd.dk
Sun Jul 23 00:15:19 CEST 2006


In message <ujrbqrhfi16.fsf at cat.linpro.no>, Dag-Erling =?iso-8859-1?Q?Sm=F8rgra
v?= writes:

>> We have passed this stage, and it is still not sane to release a Alpha.
>
>I agree.  The code is a lot more solid in many areas than I expected
>it to be at this stage, but there are still white spots on the map.

Here is a brain-dump status report in no particular order.

It should probably be in the wiki somewhere...

-----------------------------------------------------------------------
What:
	Error handling on backend connections
Situation:
	Right now we more or less panic on any sign of trouble.
What needs to be done:
	We need to decide how to tie this into VCL
	Errors must be handled, presumably by retry.
	Timeouts probably desirable as well.
Severity:
	alpha:	can live with
	beta:	must be improved
	1.0:	backend trouble SHALL not kill varnish

-----------------------------------------------------------------------
What:
	Move more policy to VCL
Situation:
	There seems to be no reason why we can't move more policy
	from C code to VCL code.
What needs to be done:
	Make sure VCL support the necessary operations
	Move policy to default VCL functions.
Severity:
	alpha:	can live with.
	beta:	can live with.
	1.0:	can live with.
-----------------------------------------------------------------------
What:
	VCL error implementation
Situation:
	The error keyword in VCL is not implemented
What needs to be done:
	Find out if this is really the right strategy, it looks
	more and more dubious to me.
	Maybe a redirect to an error document loaded with storage_tar
	would be more useful.
Severity:
	alpha:	can live with minimal improvement
	beta:	can live with minimal improvement
	1.0:	can live with minimal improvement
-----------------------------------------------------------------------
What:
	Vary header matching
Situation:
	We don't do it.
What needs to be done:
	Implement it.
	Now that we have the http munging facilities mostly
	in place this is possible.
	Test against www.cnn.com for instance.
Severity:
	alpha:	can live with
	beta:	can live with
	1.0:	can live with
-----------------------------------------------------------------------
What:
	Performance statistics
Situation:
	We have some
What needs to be done:
	We need to figure out what is relevant stats
	We need to collect it.
	We need to make (some of) it available in VCL
Severity:
	alpha:	can live with
	beta:	improvement desirable
	1.0:	TBD
-----------------------------------------------------------------------
What:
	CLI management interface
Situation:
	Only minimally functional.
What needs to be done:
	Reevaluate the list we created initially (ie: no unlisten)
	Implement TCP / SSH carried CLI port
Severity:
	alpha:	can live with
	beta:	improvement desirable
	1.0:	TCP/SSH mandatory
-----------------------------------------------------------------------
What:
	VCL completeness
Situation:
	VCL can't do much yet.
What needs to be done:
	Go through our list, implement in proritized order
Severity:
	alpha:	can live with
	beta:	HTTP header manipulation desirable
	1.0:	TBD
-----------------------------------------------------------------------
What:
	VCL compiler error checking
Situation:
	Errors from GCC and at load-time still happens.
	Failed loading of default/boot VCL is not currently fatal.
What needs to be done:
	Check conditions better, for instance do getaddrinfo() on
	ACL targets and warn if non () entries fail.
Severity:
	alpha:	can live with
	beta:	can live with
	1.0:	can live with
-----------------------------------------------------------------------
What:
	(regression-)testing
Situation:
	We need a way to build regression tests.
	"varnishtester" is maybe a beginning.
What needs to be done:
	1. (see above). 2. Think about problem 3. Write down code :-)
Severity:
	alpha:	can live with
	beta:	would rather not live with
	1.0:	serious limitation
-----------------------------------------------------------------------
What:
	Random memory corruption
Situation:
	Most live test runs have seen one or two core dumps
	that look like pointer fandango after en hour or so.
	FlexeLint does not spot anything.
What needs to be done:
	Run with debugging malloc of some kind, try to find.
Severity:
	alpha:	can live with if no choice
	beta:	would really hate to live with
	1.0:	showstopper, we should be able to run 24h
-----------------------------------------------------------------------
What:
	cache process restart
Situation:
	management process does not restart automatically
	(for debugging convenience)
What needs to be done:
	management process should restart cache process.
	Bonus: save snapshot of shmem and get traceback
	from gdb as well.
Severity:
	alpha:	can live with
	beta:	can live with
	1.0:	should have
-----------------------------------------------------------------------
What:
	RFC compliance audit
Situation:
	We don't know how many small details we are missing.
What needs to be done:
	Go through RFC(s) and sourcecode and mark up RFC(s)
	with "not relevant", "deliberate variance", "not implemented"
	and "OK".  (OK preferably listing relevant testcases)
Severity:
	alpha:	can live with
	beta:	can live with
	1.0:	can live with
-----------------------------------------------------------------------
What:
	storage_file.c allocation strategy
Situation:
	we have seen pessimisal allocation patterns with
	degenerate trafic patterns.
	Real World traffic looks basically OK, but no detailed
	analysis done.  Missing stats an issue.
What needs to be done:
	Carefully consider mitigation once we have analyzed
	the issue.
Severity:
	alpha:	no issue
	beta:	no issue
	1.0:	no issue
-----------------------------------------------------------------------
Nice to have:
	log-tailer which only shows entries which pertain to
	sessions from given IP# range.  (possibly generic
	log-tailer option ?)
-----------------------------------------------------------------------
Nice to have:
	"pigs" logtailer which shows top clients and their
	requests in usable format.
-----------------------------------------------------------------------
Nice to have:
	log-tailer which writes httpd format.
-----------------------------------------------------------------------
Nice to have:
	Better stats presentation on screen
-----------------------------------------------------------------------
Nice to have:
	Allow purging through HTTP interface.
	Doesn't take much actually
-----------------------------------------------------------------------
Nice to have:
	TAR storage method for loading static contents.

-- 
Poul-Henning Kamp       | UNIX since Zilog Zeus 3.20
phk at FreeBSD.ORG         | TCP/IP since RFC 956
FreeBSD committer       | BSD since 4.3-tahoe    
Never attribute to malice what can adequately be explained by incompetence.



More information about the varnish-dev mailing list