Ok, found the culprit. It's here:

https://github.com/xrootd/xrootd/blob/master/src/XrdXrootd/XrdXrootdTransit.cc#L418

If a stall occurs (you can tweak the XrdOfsHandle::WaitLock code to never wait and this causes a stall easily), then the XrdXrootdProtocol object is scheduled to re-run at a later point. It's re-run in that function.

However, it doesn't appear to invoke the appropriate callback for realProt->Process as in the other overload of XrdXrootdTransit::Process, meaning the callback doesn't get pushed until the client itself causes activity (such as disconnecting).


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":"@bbockelm in #810: Ok, found the culprit. It's here:\r\n\r\nhttps://github.com/xrootd/xrootd/blob/master/src/XrdXrootd/XrdXrootdTransit.cc#L418\r\n\r\n*If* a stall occurs (you can tweak the `XrdOfsHandle::WaitLock` code to never wait and this causes a stall easily), then the XrdXrootdProtocol object is scheduled to re-run at a later point. It's re-run in that function.\r\n\r\nHowever, it doesn't appear to invoke the appropriate callback for `realProt-\u003eProcess` as in the other overload of `XrdXrootdTransit::Process`, meaning the callback doesn't get pushed until the client itself causes activity (such as disconnecting)."}],"action":{"name":"View Issue","url":"https://github.com/xrootd/xrootd/issues/810#issuecomment-416820467"}}} [ { "@context": "http://schema.org", "@type": "EmailMessage", "potentialAction": { "@type": "ViewAction", "target": "https://github.com/xrootd/xrootd/issues/810#issuecomment-416820467", "url": "https://github.com/xrootd/xrootd/issues/810#issuecomment-416820467", "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] XrdHttp loses requests under modest concurrency (#810)", "sections": [ { "text": "", "activityTitle": "**Brian Bockelman**", "activityImage": "https://assets-cdn.github.com/images/email/message_cards/avatar.png", "activitySubtitle": "@bbockelm", "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\": 810,\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\": 810\n}" }, { "targets": [ { "os": "default", "uri": "https://github.com/xrootd/xrootd/issues/810#issuecomment-416820467" } ], "@type": "OpenUri", "name": "View on GitHub" }, { "name": "Unsubscribe", "@type": "HttpPOST", "target": "https://api.github.com", "body": "{\n\"commandName\": \"MuteNotification\",\n\"threadId\": 373455461\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