+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


Reply via email to