Just checking back if the suggestion of setting lower timeouts worked for you.

As for Stop(), the docs explicitly say that Stop() is ineffective if there are active requests. You need to call Finished() for each such request and then do a Stop(). SSI employs a Java-like system by keeping reference counts to all objects and an object can't get deleted if its reference count is not zero for obvious reasons. A false return from Stop() simply is saying there are still outstanding references to the object. I suppose we could mark it for deletion but that would be hiding reality as the object might never get deleted. Unbeknownst to you, Java happily hides deletion from you and objects continue to occupy memory but you aren't told that's the case. SSI Stop() at least tells you what you think is going to happen won't be the case.

Now, I do recognize that under the circumstances it would take a long time for things to clean themselves out and we are looking at speeding it along by using a new client feature to forcibly terminate requests in such circumstances. Even then, someone has to call Finished() in the end to unhook the reference. However, setting the connection timeout to a lower value should also speed things along and may be sufficient for now until we get a faster system in place.


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":"@abh3 in #775: Just checking back if the suggestion of setting lower timeouts worked for you.\r\n\r\nAs for Stop(), the docs explicitly say that Stop() is ineffective if there are active requests. You need to call Finished() for each such request and then do a Stop(). SSI employs a Java-like system by keeping reference counts to all objects and an object can't get deleted if its reference count is not zero for obvious reasons. A false return from Stop() simply is saying there are still outstanding references to the object. I suppose we could mark it for deletion but that would be hiding reality as the object might never get deleted. Unbeknownst to you, Java happily hides deletion from you and objects continue to occupy memory but you aren't told that's the case. SSI Stop() at least tells you what you think is going to happen won't be the case.\r\n\r\nNow, I do recognize that under the circumstances it would take a long time for things to clean themselves out and we are looking at speeding it along by using a new client feature to forcibly terminate requests in such circumstances. Even then, someone has to call Finished() in the end to unhook the reference. However, setting the connection timeout to a lower value should also speed things along and may be sufficient for now until we get a faster system in place."}],"action":{"name":"View Issue","url":"https://github.com/xrootd/xrootd/issues/775#issuecomment-414571584"}}} [ { "@context": "http://schema.org", "@type": "EmailMessage", "potentialAction": { "@type": "ViewAction", "target": "https://github.com/xrootd/xrootd/issues/775#issuecomment-414571584", "url": "https://github.com/xrootd/xrootd/issues/775#issuecomment-414571584", "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": "**Andrew Hanushevsky**", "activityImage": "https://assets-cdn.github.com/images/email/message_cards/avatar.png", "activitySubtitle": "@abh3", "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-414571584" } ], "@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