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

Implement Syndrome-based decoding for EC #345

Closed
xhernandez opened this issue Oct 27, 2017 · 4 comments
Closed

Implement Syndrome-based decoding for EC #345

xhernandez opened this issue Oct 27, 2017 · 4 comments

Comments

@xhernandez
Copy link
Contributor

Reed-Solomon (the algorithm used in EC) supports a way to not only detect errors but to also know where they are and how to recover them. This part of the algorithm has some requirements in the encoding part to be able to use it. Currently EC doesn't support it.

A change in EC would be needed to implement this decoding algorithm.

@xhernandez xhernandez changed the title Implement Syndrome based decoding fro EC Implement Syndrome-based decoding for EC Oct 27, 2017
@mchangir
Copy link
Contributor

would this feature interact with or need to interact with bit-rot by any chance ?
would bit-rot need to be implemented differently for EC volumes using the EC specific error-detection and recovery mechanism ?

@xhernandez
Copy link
Contributor Author

The recovery information is implicit in the encoded data. It doesn't need extra storage for any checksum, but it needs to have the data, even if it's invalid because most probably only a small portion of it will be invalid and this decoding algorithm can identify and correct it.

So it would be interesting to have a way to force bit-rot to return the read data even if it detects corruption (though with some mark to identify it). This is not strictly necessary but it would be very useful to increase recovery chances when multiple corruptions happen.

Basically the algorithm is able to correctly detect up to R errors (being R the redundancy level of the volume) and revcover up to R/2 errors if it's position is not known (i.e. we don't know which bricks have inconsistent data). If we do know which bricks are bad, we can recover up to R errors. So in this case bit-rot could help to improve recovery capabilities for ec.

@stale
Copy link

stale bot commented Jun 30, 2020

Thank you for your contributions.
Noticed that this issue is not having any activity in last ~6 months! We are marking this issue as stale because it has not had recent activity.
It will be closed in 2 weeks if no one responds with a comment here.

@stale stale bot added the wontfix Managed by stale[bot] label Jun 30, 2020
@stale
Copy link

stale bot commented Jul 15, 2020

Closing this issue as there was no update since my last update on issue. If this is an issue which is still valid, feel free to open it.

@stale stale bot closed this as completed Jul 15, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants