python-schema-registry-client
python-schema-registry-client copied to clipboard
AsyncSchemaRegistryClient is unable to handle concurrent requests
Describe the bug
Related to https://github.com/encode/httpx/issues/1478, I'm getting this exception while using the same instance of AsyncSchemaRegistryClient
in two different places, raising httpx.RemoteProtocolError: can't handle event type ConnectionClosed when role=SERVER and state=SEND_RESPONSE
. The source code of the client is similar to the example that shows how to reproduce the issue in httpx and the answer to this comment mentions using the context manager once at a time would be the fix to it.
I could manage to overcome this issue by creating one instance of the client for every class that depends on AsyncSchemaRegistryClient
To Reproduce Steps to reproduce the behavior:
I'll need some time to write a small snippet to reproduce it, so bear with me 😬
Expected behavior
The client is able to handle two (or more) concurrent calls to the schema registry
Hi @thiromi
I think after merging this PR https://github.com/marcosschroh/python-schema-registry-client/pull/117 the issue will be solved
@thiromi can you check whether with the latest version this issue is fixed?
@marcosschroh I'll try it and let you know 👍
@thiromi Did #117 fix your issue?
@marcosschroh sorry for the wait, but meh, I still face
httpx.RemoteProtocolError: can't handle event type ConnectionClosed when role=SERVER and state=SEND_RESPONSE
cc @bradydean
@thiromi Are you using the same client object from different threads or asyncio tasks? Just curious as I'm about to start development using this library.
@bradydean I'm using the same client from asyncio tasks
According to httpx
this error happens when Server closed without sending response.
In one of the latest versions of httpx
a warning was added related to this and the error message
was improved. Which httpx
version are you using?
@marcosschroh I'm using httpx==0.22.0