Detach() is no longer supposed to be called multiple times. If it returns true, the cache IO object has been "stopped" and deleted. Otherwise it promises to call the passed callback when it was able to complete all outstanding IO (from prefetching) (https://github.com/xrootd/xrootd/blob/master/src/XrdPfc/XrdPfcIO.cc#L36).

Maybe the lost file was still in the process of being closed by the cache?

Detach() is never called when there is known outstanding IO requested from cache by the Posix layer itself -- at least it shouldn't be. Pfc does not check for this as at the time this mechanism was designed it wasn't really easy for Pfc to do so ... now that all reads are asynchronous it would be a trivial check to add.


Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.Message ID: <xrootd/xrootd/pull/1724/c1160578636@github.com>

[ { "@context": "http://schema.org", "@type": "EmailMessage", "potentialAction": { "@type": "ViewAction", "target": "https://github.com/xrootd/xrootd/pull/1724#issuecomment-1160578636", "url": "https://github.com/xrootd/xrootd/pull/1724#issuecomment-1160578636", "name": "View Pull Request" }, "description": "View this Pull Request on GitHub", "publisher": { "@type": "Organization", "name": "GitHub", "url": "https://github.com" } } ]

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