Print

Print


Hi Brian,

On Fri, Jan 28, 2011 at 3:20 AM, Brian Bockelman <[log in to unmask]> wrote:
> It appears Xrootd doesn't check the contents of its cache before issuing a readv operation.
>
> If it would, this would help a few CMS corner cases - there's at least one where a TTreeCache is filled twice with the same contents because two parts of the software don't share TTreeCache instances.  However, since the cache is managed by Xrootd, it should be able to notice that it's issuing a readv where a few of the offset:length pairs are already contained in the cache.
>
> Lukasz, is this reasonable for your TODO list?

   Well, it's always good to avoid redownloading stuff so I will
definitely have a look at this at some point, probably not very soon
though. In the short term I want to get rid of all this async stuff
from the TTreeCache code and use the protocol independent pre-fetching
code from Elvin. Elvin's stuff can cache some blocks on local disk, so
this should also minimize your redownloading  problem.

Cheers,
   Lukasz

BTW. your solution of yesterday should do the job just fine + I have
found another bug there, could you test the attached patch?
BTW2. have you managed to test the forking?