This removes problematic recursive invocations of the stream writes and fixes some multistream errors that caused too-high concurrency.

The underlying cause of the multistream issue was allowing partial writes of the buffers. The buffer occupancy is a feedback mechanism to the multistream code to not launch additional requests; the partial write optimization allowed a buffer to look empty when really there was more coming from the request.

Because we aren't allowing partial writes, this also had to allow partial accepts if the incoming curl buffer spanned two internal buffers. With this, multistream stays megabyte aligned and should still work on RAL's Echo.

Finally, this adds some error messages on conditions considered internal logic errors -- should help with future debugging.


You can view, comment on, or merge this pull request online at:

  https://github.com/xrootd/xrootd/pull/1391

Commit Summary

File Changes

Patch Links:


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

[ { "@context": "http://schema.org", "@type": "EmailMessage", "potentialAction": { "@type": "ViewAction", "target": "https://github.com/xrootd/xrootd/pull/1391", "url": "https://github.com/xrootd/xrootd/pull/1391", "name": "View Pull Request" }, "description": "View this Pull Request on GitHub", "publisher": { "@type": "Organization", "name": "GitHub", "url": "https://github.com" } } ]

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