Skip to content

EventStream Initial Request Response handling can lead to hangs #4435

@rcoh

Description

@rcoh

Currently, we always do try_recv_initial in event streams on both the server and the client. However, this is the wrong behavior because it can cause the server/client to hang until a message is received and that can easily cause deadlock.

The right fix is actually filter out the initial messages in the recv() method and only surface them when you try to read them explicitly. That way we can only attempt to read the messages when they are required and otherwise, we will ignore them.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions