Print

Print


Hi Adrian,

Correct, if there are outstanding request on a channel but no response has been seen for more than 60s (the stream t/o) the connection will be dropped and a recovery will be attempted.

Now, this is bit more complicated for reads and writes because they are stateful requests, meaning it is not enough to retry sending the request when the connection is recovered.
Beforehand, the file needs to be reopened - this should happen automatically unless you disabled it (XRD_READRECOVERY / XRD_WRITERECOVERY).

If the read recovery is enabled I will need the logs to figure out what’s happing ;-)

Cheers,
Michal

On 19 Oct 2021, at 12:21, Adrian Sevcenco <[log in to unmask]> wrote:

On 10/19/21 12:07, Michal Simon wrote:
Hi Adrian,
Hi Michal!

Most likely it’s the stream timeout (XRD_STREAMTIMEOUT).
oh! i see that the default is 60 ..

also i understand this:
connection error is declared (and a recovery attempted)
if ( there are unfulfilled requests AND there is NO (socket activity or a registered wait timeout))

did i get this right? so if the transfer begun and then paused for 60s, the copy will be dropped?

now, on the main question (as i do not remember where are the conditions implemented):
is this missed from the conditions of fallback in a metalink?

i ask because from the report the copy fails completely on this source instead of trying the second source.

Thanks a lot!
Adrian


Cheers,
Michal
On 19 Oct 2021, at 09:53, Adrian Sevcenco <[log in to unmask]> wrote:

Hi! I have a report (and a dump log) on a download operation with:
ERRNO/CODE/XRDSTAT 0/206/1
[ERROR] Operation expired:  (source)

the client settings are these:
Env: overriding entry: timeoutresolution=15 with 1
Env: overriding entry: connectionretry=5 with 3
Env: overriding entry: connectionwindow=120 with 10
Env: overriding entry: requesttimeout=1800 with 30
Env: overriding entry: cpinittimeout=600 with 30
Env: overriding entry: dataserverttl=300 with 20
Env: overriding entry: loadbalancerttl=1200 with 30
Env: overriding entry: preferipv4=0 with 1
Env: overriding entry: cpretrypolicy="force" with "force"
Env: overriding entry: substreamsperchannel=1 with 1
Env: overriding entry: cpretry=0 with 0

and i see from the client log that the copy job took 117s to expire..
any idea on what timeout actually this expire?
the client is 5.3.1 python bindings

Thanks a lot!
Adrian



















########################################################################
Use REPLY-ALL to reply to list

To unsubscribe from the XROOTD-L list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=XROOTD-L&A=1


-- 
----------------------------------------------
Adrian Sevcenco, Ph.D.                       |
Institute of Space Science - ISS, Romania    |
adrian.sevcenco at {cern.ch,spacescience.ro} |
----------------------------------------------



Use REPLY-ALL to reply to list

To unsubscribe from the XROOTD-L list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=XROOTD-L&A=1