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, view it on GitHub, or mute the thread.

{"api_version":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":{"external_key":"github/xrootd/xrootd","title":"xrootd/xrootd","subtitle":"GitHub repository","main_image_url":"https://assets-cdn.github.com/images/email/message_cards/header.png","avatar_image_url":"https://assets-cdn.github.com/images/email/message_cards/avatar.png","action":{"name":"Open in GitHub","url":"https://github.com/xrootd/xrootd"}},"updates":{"snippets":[{"icon":"PERSON","message":"@slithy in #775: 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.\r\n\r\nOn `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.\r\n\r\nIn 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."}],"action":{"name":"View Issue","url":"https://github.com/xrootd/xrootd/issues/775#issuecomment-414578561"}}} [ { "@context": "http://schema.org", "@type": "EmailMessage", "potentialAction": { "@type": "ViewAction", "target": "https://github.com/xrootd/xrootd/issues/775#issuecomment-414578561", "url": "https://github.com/xrootd/xrootd/issues/775#issuecomment-414578561", "name": "View Issue" }, "description": "View this Issue on GitHub", "publisher": { "@type": "Organization", "name": "GitHub", "url": "https://github.com" } }, { "@type": "MessageCard", "@context": "http://schema.org/extensions", "hideOriginalBody": "false", "originator": "AF6C5A86-E920-430C-9C59-A73278B5EFEB", "title": "Re: [xrootd/xrootd] [SSI] Memory leak when client loses connection to server (#775)", "sections": [ { "text": "", "activityTitle": "**Michael**", "activityImage": "https://assets-cdn.github.com/images/email/message_cards/avatar.png", "activitySubtitle": "@slithy", "facts": [ ] } ], "potentialAction": [ { "name": "Add a comment", "@type": "ActionCard", "inputs": [ { "isMultiLine": true, "@type": "TextInput", "id": "IssueComment", "isRequired": false } ], "actions": [ { "name": "Comment", "@type": "HttpPOST", "target": "https://api.github.com", "body": "{\n\"commandName\": \"IssueComment\",\n\"repositoryFullName\": \"xrootd/xrootd\",\n\"issueId\": 775,\n\"IssueComment\": \"{{IssueComment.value}}\"\n}" } ] }, { "name": "Close issue", "@type": "HttpPOST", "target": "https://api.github.com", "body": "{\n\"commandName\": \"IssueClose\",\n\"repositoryFullName\": \"xrootd/xrootd\",\n\"issueId\": 775\n}" }, { "targets": [ { "os": "default", "uri": "https://github.com/xrootd/xrootd/issues/775#issuecomment-414578561" } ], "@type": "OpenUri", "name": "View on GitHub" }, { "name": "Unsubscribe", "@type": "HttpPOST", "target": "https://api.github.com", "body": "{\n\"commandName\": \"MuteNotification\",\n\"threadId\": 360700809\n}" } ], "themeColor": "26292E" } ]

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