-
Notifications
You must be signed in to change notification settings - Fork 14
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
ReedSolomon k+1 broken if parity buffer is not zero'ed #4
Comments
maximelubin
added a commit
to maximelubin/reed-solomon
that referenced
this issue
Aug 9, 2018
Signed-off-by: Maxime Lubin <maxime.lubin@scality.com>
maximelubin
added a commit
to maximelubin/reed-solomon
that referenced
this issue
Aug 9, 2018
Signed-off-by: Maxime Lubin <maxime.lubin@scality.com>
maximelubin
added a commit
to maximelubin/reed-solomon
that referenced
this issue
Aug 9, 2018
Encoding the single parity of k+1 code is XORing all data parts with the existing, potentially random and unitilized content of the parity buffer. Do a copy first, then XOR all the rest. Signed-off-by: Maxime Lubin <maxime.lubin@scality.com>
Created a pull request with aforementioned changes: #5 |
Thanks very much @maximelubin, well spotted! I made a few comments on your PR. |
maximelubin
added a commit
to scality/ecstream
that referenced
this issue
Aug 10, 2018
Until opened bugfix ronomon/reed-solomon#4 is merged, use fixed, forked version as npm dependency. Signed-off-by: Maxime Lubin <maxime.lubin@scality.com>
maximelubin
added a commit
to scality/ecstream
that referenced
this issue
Aug 10, 2018
Until opened bugfix ronomon/reed-solomon#4 is merged, use fixed, forked version as npm dependency. Signed-off-by: Maxime Lubin <maxime.lubin@scality.com>
Thanks again @maximelubin, fixed in 6f23d45 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Stumbled upon this one. Reproduced using the attached mocha test (renamed as .txt for github upload)
rononmon.test.txt
Execution gives out:
Handling of m=1 seems very special. Looking at binding.cc code I found the special code path which directly call dot_xor and do not start with a dot_cpy first:
Can be reproduced in your test by forcing random parity buffers in test.js:
The above patch fixes the issue, at least on the simple test I attached and your tests.
Cheers,
Maxime
The text was updated successfully, but these errors were encountered: