-
Notifications
You must be signed in to change notification settings - Fork 32
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
Issue with CRC invalid blocks #298
Comments
https://github.com/martinsumner/leveled/tree/mas-i298-corruptedblocks This is going through the test cycles now |
EQC test run passed at 1000 tests. Needed to correct issue in eqc test, where it would not accept |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
To this end, when we de-serialise a block into a list of KV pairs, we return an empty list if the CRC check fails:
https://github.com/martinsumner/leveled/tree/5bef21d9719a561beeaf735e168bd140d9771e38/src/leveled_sst.erl#L1391-L1399
But when we have an indexed lookup on a block we look at the exact position in the block:
https://github.com/martinsumner/leveled/tree/5bef21d9719a561beeaf735e168bd140d9771e38/src/leveled_sst.erl#L1696-L1697
and this is crashing with the empty list.
Elsewhere in leveled_sst the functions
fetchfrom_rawblock/2
andfetchend_rawblock/2
are used to counter this issue.This issue will cause a database crash on an invalid block - which is not expected.
The text was updated successfully, but these errors were encountered: