Use Rust erasure library and turn on erasure (#3768)

* split out erasure into new crate; add implementation using rust reed-solomon-library

* Track erasures with a &[bool] instead of indexes

* fix bug that reported the number of erasures incorrectly

* Introduce erasure `Session` for consistent config

* Increase test coverage; fix bugs

* Add ability to remove blobs from erasure meta tracking. test added

* Track deletion of coding blobs in blocktree via ErasureMeta. Added to
test

* Remove unused functions in blocktree

* add randomness to recovery thread to exercise recovery due to either new
data or coding blobs

* Add unit test for ErasureMeta index handling

* Re-enable test in broadcast stage
This commit is contained in:
Mark E. Sinclair
2019-04-16 23:00:24 -05:00
committed by GitHub
parent 1e20d449ce
commit b9bb5af4a5
12 changed files with 638 additions and 765 deletions

View File

@ -31,7 +31,6 @@ pub mod cluster;
pub mod cluster_info;
pub mod cluster_tests;
pub mod entry;
#[cfg(feature = "erasure")]
pub mod erasure;
pub mod fetch_stage;
pub mod fullnode;