JasonAlt / GridFTP-DSI-for-HPSS

GridFTP module that allows the Globus server to work with HPSS
Other
6 stars 2 forks source link

Timeout on stor of zero length files #37

Closed JasonAlt closed 5 years ago

JasonAlt commented 5 years ago

DSI version 2.6 (pre 2.7) e080b9eedeee37b5c7b940c22b07dff5e6dad7e1. Transfer of many zero length files between NCSA and ANL causes frequent timeout. GridFTP processes hang around and accumulate and must be manually reaped. Stack traces show that stor() has two simultaneous calls, both stuck in stor_wait_for_gridftp().

Theory is that calling globus_gridftp_server_finished_transfer() before the registered read returns is causing undefined behavior. An earlier fix noted that you must register the read for EOF on zero length files or the next transfer is trounced. This theory suggests that that fix just kicked the issue farther down the road, shortening the window for it to occur. Reading EOF should eliminate the window.

JasonAlt commented 5 years ago

Reading EOF fixed this issue. Fixed in c174a770cc463bddf4bfd98f831ffa4be75fde8d