Print

Print


On Jan 28, 2011, at 10:51 AM, Lukasz Janyst wrote:

> 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.

I've asked a few times for Elvin's patches - do you know what it takes to get them?

> 
> 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?

I had to hold off on those tests until we upgraded versions of the XrdClient.  I now have those, and am trying to hunt down a few issues like this one.

Brian