Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Additional checks required when recovering sectors in checkNextRecoveries #4634

Open
Stebalien opened this issue Oct 29, 2020 · 0 comments
Open
Labels
area/proving Area: Proving kind/bug Kind: Bug

Comments

@Stebalien
Copy link
Member

Currently, we call faultTracker.CheckProvable before declaring a sector recovered. However, this will pass as long as the sector is on-disk and is the correct size, even if it's actually corrupted.

Unfortunately, this means that, for corrupted sectors that still exist, we'll:

  1. Declare them "recovering".
  2. Try to prove them.
  3. Fail, skip them, and retry the proof.

Unfortunately, at step 3, we only re-try 5 times at the moment (fixed in #4633). This is usually sufficient, but not when there are many corrupted sectors.

We don't usually checksum sectors before attempting to prove them because this would force us to read every sector from disk (proving a sector only requires reading part of it). However, in this case, we know that the sector is more likely faulty than not so we should perform a more expensive check.

@Stebalien Stebalien added the kind/bug Kind: Bug label Oct 29, 2020
@Stebalien Stebalien changed the title Additional checks required before invoking checkNextRecoveries Additional checks required when recovering sectors in checkNextRecoveries Oct 29, 2020
@jennijuju jennijuju added the area/proving Area: Proving label Oct 29, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/proving Area: Proving kind/bug Kind: Bug
Projects
None yet
Development

No branches or pull requests

2 participants