getlantern / getlantern/unbounded
Ensure that the balancer is using Broflake in the way that Broflake ought to be used
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 57
- Forks
- 1
- Avg merge
- 20h 26m
- Merged PRs (30d)
- 13
Description
Once a transport starts failing, the balancer won't use it again unless all the other transports are failing.
This makes it difficult (impossible?) to measure whether Broflake is working or not, since Broflake, as a p2p system subject to network churn, is expected to fail intermittently all the time.
I suspect what will happen in most cases is that the balancer will try to dial using Broflake for the first time -- the dial will fail, because the Broflake client hasn't yet acquired a peer connection -- and the balancer will never attempt to use Broflake again.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing how the balancer selects transports after a dial failure, then inspect how Broflake reports or recovers from its initial lack of a peer connection. The issue provides no file or test names. Done should mean intermittent Broflake failures do not permanently exclude it, so its behavior can be measured under network churn.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- distributed-systems, networking
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100