Skip to content

Conversation

lucas-angeli-gimenes
Copy link

Previously, when an exception was thrown during the execution of the doOpen method, the coroutine responsible for traces dispatch (loop method) was destroyed. This resulted in the indefinite suspension of all calls to $this->chan->push(), causing the coroutines involved to “freeze”.

With this change, the push coroutine is maintained even with exceptions, ensuring that the flow is not interrupted. In addition, a timeout has been introduced for calls to $this->chan->push() to avoid indefinite blockages and ensure that the coroutines are properly released in the event of transmission failures.

Copy link

@luizmanhani luizmanhani left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lgtm

@lucas-angeli-gimenes lucas-angeli-gimenes merged commit 5d014bc into main Dec 30, 2024
@lucas-angeli-gimenes lucas-angeli-gimenes deleted the fix-thrift-udp-transport branch December 30, 2024 11:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
6 participants