Jens-G opened a new pull request, #3956: URL: https://github.com/apache/thrift/pull/3956
With `-mc` greater than 1, the netstd tutorial client ran all its clients over the one transport and protocol that `RunAsync()` created, so none of them completed its calls. The tutorial README's own sample, `Client -tr:tcp -pr:binary -mc:10`, is one of those cases. Over TCP the clients failed with errors such as "Cannot read, Remote side has closed", and one run hung. Each client now gets a transport and a protocol of its own, created inside the loop, as before 0d12832d. Test: no CI job builds or runs `tutorial/netstd`, so I checked it by hand with the .NET 10.0.401 SDK, server and client in one container. The server ran with the same `-tr`, `-bf` and `-multiplex` options. Clients that completed all their calls: | Client | master | this change | |---|---|---| | `-tr:tcp -mc:1` | 1/1 | 1/1 | | `-tr:tcp -mc:10` | 0/10 | 10/10 | | `-tr:tcp -mc:5 -multiplex` | 0/5 | 5/5 | | `-tr:tcp -mc:5 -bf:framed` | 0/5 | 5/5 | | `-tr:http -mc:10` | 0/10 | 10/10 | The HTTP runs used the server fix from #3955 (THRIFT-6374), because the tutorial's HTTP server does not start on master. That fix is not part of this change. JIRA: [THRIFT-6375](https://issues.apache.org/jira/browse/THRIFT-6375) - [x] Apache Jira ticket: THRIFT-6375 - [x] PR title follows "THRIFT-NNNN: describe my issue" - [x] Single commit - [x] No breaking change: tutorial code only. - [x] Code change, so the commit carries no CI-skip marker. 🤖 Generated with [Claude Code](https://claude.com/claude-code) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
