| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
|
Thanks for the quick response @ihrpr! Confirm this fixes both my test case and the original reported bug in the FastMCP repo 🎉 |
Sorry, something went wrong.
There was a problem hiding this comment.
Looks allgood to me - one non-blocking question around breaking/awaiting message handling in the client
Sorry, something went wrong.
| ), | ||
| ) | ||
| if is_complete: | ||
| break |
There was a problem hiding this comment.
why break here?
Sorry, something went wrong.
There was a problem hiding this comment.
_handle_sse_event returns true if there is a response/error. this means we are done and need to stop the stream
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
Thank you @jlowin for raising #680 🙏
The StreamableHTTP client was experiencing a deadlock when the server initiated sampling callbacks during request
processing. The issue occurred due to synchronous request handling in the client's post_writer function.
The Deadlock Scenario:
The circular dependency prevented the sampling response from ever reaching the server, causing the system to hang
indefinitely.
The Solution
Concurrent request handling in the StreamableHTTP client:
tasks using tg.start_soon(), while responses continue to be handled synchronously (notification need to be handled concurrently as we will have other issues like initialisation notifications )
The fix ensures that request handling doesn't block the message processing pipeline, allowing the client to:
Follow ups: