-
- Downloads
cta/CTA#139 cta af ls --vid XXXXX command times out if there are many files on a tape
The CTA front-ends code for replying to requests is currently incompatible with streaming back large reply messages such as the contents of a tape. Executing the "cta" command-line tool results in the CTA front-end creating a temporary server side representation of a file. The XrdCtaFile class implements this server side representation of a file. The constructor of the XrdCtaFile class generates the entire contents of the file in one shot. The contents of the file are in fact the message a user of the "cta" command-line eventually sees on their screen (standard out). The entire single shot contents of the file are presented to the XRootD framework as a memory mapped file which is in fact a simple "one-shot" array of bytes. This memory mapped file approach is implemented by the XrdCtaFile::getMmap() method returning SFS_OK and setting the Addr and Size variables. This commit replaces the memory mapped file approach of XrdCtaFile::getMmap() with the stream interface approach of XrdCtaFile::read(). Please note that the CTA front-end is still not actually streaming the result of "cta af ls --vid XXXX". This commit is one step closer. The whole reply message is still generated in one shot by the constructor of XrdCtaFile. The contents are however now streamed off to the "cta" command-line tool via multiple calls to XrdCtaFile::read().
Loading
Please register or sign in to comment