+1 for committing the patch -1 for having this in the first release I think there needs to be more testing of the cache changes and the cache in general before these changes make it to a release branch. I am open for discussion on how we can better test the cache, so I would feel more confident in the changes.
This isn't specific to changes to cache alone, I alway feel nervous when making fundamental changes to traffic server. A couple weeks ago I spent some time trying to write a unit test for hostdb and just about went crazy trying to figure out the all the different libraries I needed to link in (I walked away from it before I went mad)... I have an interesting dependency graph for traffic server. I had to write a program to graph out all the dependencies, it was too much to do by hand. Cleaning up our dependency hierarchy (well make it a hierarchy by removing the circular dependencies) would go a long way to making unit tests able to be written by mere mortals. -Bryan On Dec 9, 2009, at 4:15 PM, John Plevyak wrote: > > I would like to ask for a vote on whether or not to commit the cache > partition size patch (+1, -1, 0). > > Background: > > In the current cache, the disk is broken up into 8GB partitions where > - objects are hashed to partitions > - an object must fit entirely in a partition effectively limiting object > size and > introducing potential competition > - each partition has it's own write pointer, resulting in lots of seeks on > large > disks to write in different places > > The patch adds: > - support of partitions up to .5PB (500TB) with the default 512 block size > - larger aggregation buffer: 2MB (since we have fewer we can have larger > ones) > - larger top fast IOBuffer size (64kB), this should probably be increased > but this > patch fixes bugs which prevent increasing this in the current code > - internal cache support for large objects (still requires VIO/IOBuffer > changes + HTTP changes) > - experimental support for do_io_pread > - new on disk format which will support do_io_pread as well as non-HTTP > header access > > Potential downsize: > This patch changes the on disk format which will require a cache wipe. > I have tried to include all the changes necessary to implement large object, > pread and pluggable-protocol header usage, but one can never be sure. > > The patch is available for under TS-46 in jira. > > Thank you, > john