Print

Print


If a client requested a single byte range which was less than the filesize, then the file handle was never explicitly closed.

When the TCP connection was closed, all open file handles on the bridge are automatically closed too.  Hence, it seems like this is a moot point - a transient "leak".  However, we have observed some clients (particularly: CVMFS) that hold open TCP connections for hours or days, resulting in the "leak" of a file handle per read operation.  In some cases, the number of file handles leaked was in the tens-of-thousands.

In addition to the obvious memory issues, this was observable in the f-stream monitoring as the near-simultaneous closing of 10k file handles caused UDP buffer overflows and dropped monitoring packets.
You can view, comment on, or merge this pull request online at:

  https://github.com/xrootd/xrootd/pull/664

-- Commit Summary --

  * Close file handle for simple HTTP reads.

-- File Changes --

    M src/XrdHttp/XrdHttpReq.cc (15)
    M src/XrdHttp/XrdHttpReq.hh (2)

-- Patch Links --

https://github.com/xrootd/xrootd/pull/664.patch
https://github.com/xrootd/xrootd/pull/664.diff

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/xrootd/xrootd/pull/664

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