-
Notifications
You must be signed in to change notification settings - Fork 604
lack of async code / sync over async #947
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
See #83. This client has over a decade of history and making it entirely async is not going to work, although to some extent this has been done (e.g. there's an async consumer operation dispatcher). We have concluded that an "everything async" client should be a separate library. |
@michaelklishin, I got the clear impression from #869 that 7.0 is going to be full async. What am I misunderstanding? |
I asked the same question. |
@asbjornu thx for pointing me to that pr looks promising |
The comments in #869 make it pretty clear that there are many open-ended questions and we don't want to change the API of the client entirely as very few would upgrade. |
@michaelklishin in #869 you are talking about a call. Did that happpen / what was the conclusion?
is this the conclusion? If so is this project started already? Can I start it? @stebet are you going to rebase #706 any time soon? I would be willing to help if that is ok for you. |
There is a lot of stuff that could be reused between the sync/async libraries (most of the (de)serialization among other things). Let's see if I can take some of the async work I've made and start something this week. I'll keep y'all in the loop for feedback/ideas :) Sound good? |
@michaelklishin, true. But the pull request is both merged and assigned to the milestone 7.0.0, giving the impression that not only is async incoming, it will arrive in version 7 of
I beg to differ. As a consumer of
That sounds great, @stebet! 👍 |
Im having some deadlocks in my Unittests during shutdown. it is certainly related to #874.
Im not using a sync task completion source but something else that leads to the test executing in the context of receiving a message.
I know that it would be a big impact breaking change but are there any considerations to make more operations async?
there seem to be some async code paths in the implementation but as long as they use sync over async they are prone to cause deadlocks / use more resources (threads) than actually needed...
https://github.com/rabbitmq/rabbitmq-dotnet-client/search?q=getawaiter%28%29.getresult
I really like the project bedrock stuff @davidfowl came up with but the rabbitmq bits in there are early prototype / id rather like to use the official package..
https://github.com/davidfowl/BedrockFramework/tree/master/src/Bedrock.Framework.Experimental/Protocols/RabbitMQ
The text was updated successfully, but these errors were encountered: