Print

Print


On the suggestion of setting of lower timeouts: the XRD_CONNECTIONWINDOW setting is controlling two separate things: (1) the amount of time taken to establish a connection, and (2) the amount of time to wait after a failure before attempting to reestablish a connection. We don't want to set these things to the same value. I discussed with Michal and he is taking a look to see if he can come up with a better solution.

On `Stop()`, it is not possible to call `Finished()` on each request because the active requests are not exposed through the API. Ownership is passed to the framework when we call ProcessRequest(), but then there is no way to get back a list of in-flight requests or query which requests have or have not been processed. You need to provide a way for the user of the framework to cancel in-flight requests.

In any case, I don't think that this is the problem in our test case. It is not active **Requests** which are blocking `Stop()` in this case, but active **Sessions**. The private method `XrdSsiServReal::Recycle` decrements `actvSes`, which would allow `Stop()` to work, but again this is not exposed through the API. So even if there are no active requests, an active session will prevent deletion of the service object.

-- 
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/issues/775#issuecomment-414578561

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