celestiaorg / celestiaorg/rsmt2d
API to know if the square is repairable
- Dominant language
- Go
- Stars
- 169
- Forks
- 87
- Avg merge
- 8h 9m
- Merged PRs (30d)
- 7
Description
Currently, users must count and assume that 1/4 of shares is enough to start repairing. Instead, a more precise API should be provided to tell the user if the square is repairable. This way, we would:
* Be able to measure the exact time it takes to repair the square
* Repair method, currently, does repairing for rows and cols silently on each call even when an error happens
* This spreads repairing over multiple tries with time gaps based between each try
* The gap is based on another network share being retrieved which kicks off another try
* Such gaps pollute the time results of each Repair try
>(no offense to `solveCrossword` method, really love how its written, besides `solveCrosswordRow/Col` being split instead of general code path)
* Lower the number of idle repairing tries
Contributor guide
Research direction
Start by reading the Repair method and the solveCrossword, solveCrosswordRow, and solveCrosswordCol paths mentioned in the issue. Trace when row and column repair attempts occur and how errors are handled. Done means an API can report whether the square is repairable and repair timing is not polluted by unnecessary retries.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- backend-api-design
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100