MarketSquare / MarketSquare/Rammbock

Long timeout in receiving can prevent the background handling from other message streams

Open
#41 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
Python
Stars
64
Forks
48
PR merge metrics
No merged PRs in 30d

Description

Receiving with timeout goes to a synchronized block. If the timeout is longer than the poll interval for background handlers, this can cause the other message streams to not get the lock during this time and they can not handle their background messages.

The receiving of protocol headers in MessageStream should be done so that other message streams either can operate at the same time, or can get the lock periodically.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the MessageStream implementation and the receiving path for protocol headers. Examine how the synchronized block holds the lock during a timeout and how background handlers use the poll interval. Done means other message streams can operate during a long receive or can periodically acquire the lock without losing background messages.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
networking
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.