Skip to content

Websocket client goes to deadlock #118

@BubaVV

Description

@BubaVV

Websocket client locks the whole task manager when consume sync stream as input, it reaches end or input waiting, and server disconnects stream during this wait

Reproduce
Check the PR: #117

TL,DR:

  1. Create ws client and pass stream with synchronous read() to it
  2. Exhaust read() method, leaving it waiting for input. It imitates transloading from another data source, which can delay sometimes
  3. Disconnect the stream from server. IRL it was idle timeout event, test do the same, but faster

Expected behavior
Also in PR. Async stream works as expected - not locking and handles disconnect event

I added modification for disconnect from server mocking disconnect by idle timeout. It works correctly with the all other tests

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions