celestiaorg / celestiaorg/rsmt2d

API to know if the square is repairable

Open
#107 1 comment 2 reactions 0 assignees View on GitHub
enhancement good first issue T:proposal
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.