Hi Andy, > I was wondering if there was a way to structure this so that a thread > is run to destroy the file object only if a file cache is being used. > I'd rather not add the thread overhead to things like fuse and a > non-caching proxy server. As for reusung a worker thread, while a good > idea, we really don't have access to them. Something to think about. > I'll see how difficult it would be. In any case, even if I could > provide access to the thread pool, there won't be one if the posix > interface is being used outside of xrootd, so the code would have to > have two paths in any case. > How about adding a new virtual XrdOucCacheIO function that checks if destruction of XrdPosixFile needs to be delayed (e.g. InitiateClose(), RequiresDelayedClose(), TryClose() ...)? The return value of this function determines if a new thread is needed to run the real Close(). In this function I will prevent issuing any new read requests so it has to be guaranteed that the real Close() is called immediately after that. Alja > On Fri, 21 Mar 2014, Alja Mrak-Tadel wrote: > >> Hi Andy, >> >> I had to move destruction of XrdPosixFile into separate task to avoid >> long lock in XrdOfsHandle::Alloc() and XrdOfsHandle::Retire(). This >> is the change which fixed the problem: >> https://github.com/alja/xrootd/compare/pd >> You might want to reuse existing worker threads instead. One of the >> XrdClFile::Close() calls is also removed. >> >> We also made improvements in XrdFileCache module. We need a day or >> two to close up changes and test them. >> >> Alja >> >> >> >> On 03/20/14 13:33, Andrew Hanushevsky wrote: >>> Hi Matevz, >>> >>> Hmmmm, ok you need to give me specific details on what you want done. >>> >>> Andy >>> >>> On Thu, 20 Mar 2014, Matevz Tadel wrote: >>> >>>> Hi, >>>> >>>> Alja and I would like to push in some changes for the XrdFileCache. We >>>> have our own workaround for destruction of XrdPosixFile / >>>> XrdOucCacheIO in a special thread ... Andy will probably want to >>>> implement this for us so he stays on top of things. >>>> >>>> We should be good to go early next week. >>>> >>>> Cheers, >>>> Matevz >>>> >>>> >>>> On 03/20/14 10:04, Lukasz Janyst wrote: >>>>> Hello everyone, >>>>> >>>>> I have done all the coding that was on my list. I have two items >>>>> left: >>>>> >>>>> 1) packaging - in the process of being done - consulting with >>>>> Mattias to >>>>> integrate with EPEL. I have some draft specfiles, but probably need >>>>> two or three >>>>> more iterations. >>>>> >>>>> 2) the server is broken when compiled in C++11 mode. It didn't seem >>>>> to respond >>>>> when I tested it three months ago, so perhaps the issue is fixed now, >>>>> needs >>>>> testing. Andy, can you please check whether this is still the case? >>>>> You can use >>>>> my testing cluster. >>>>> >>>>> Cheers, >>>>> Lukasz >>>>> >>>>> ######################################################################## >>>>> >>>>> Use REPLY-ALL to reply to list >>>>> >>>>> To unsubscribe from the XROOTD-DEV list, click the following link: >>>>> https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=XROOTD-DEV&A >>>> >>>> ######################################################################## >>>> >>>> Use REPLY-ALL to reply to list >>>> >>>> To unsubscribe from the XROOTD-DEV list, click the following link: >>>> https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=XROOTD-DEV&A=1 >>>> >>> >>> ######################################################################## >>> >>> Use REPLY-ALL to reply to list >>> >>> To unsubscribe from the XROOTD-DEV list, click the following link: >>> https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=XROOTD-DEV&A=1 >> >> ######################################################################## >> Use REPLY-ALL to reply to list >> >> To unsubscribe from the XROOTD-DEV list, click the following link: >> https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=XROOTD-DEV&A=1 >> > > ######################################################################## > Use REPLY-ALL to reply to list > > To unsubscribe from the XROOTD-DEV list, click the following link: > https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=XROOTD-DEV&A=1 ######################################################################## Use REPLY-ALL to reply to list To unsubscribe from the XROOTD-DEV list, click the following link: https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=XROOTD-DEV&A=1