mirror of
https://github.com/rustfs/rustfs.git
synced 2026-08-21 20:06:37 +00:00
test(ecstore): satisfy concurrent codec lint
Co-Authored-By: heihutu <heihutu@gmail.com>
This commit is contained in:
@@ -1454,25 +1454,22 @@ mod tests {
|
|||||||
let payloads = [vec![0x35; 257], vec![0xca; 1025]];
|
let payloads = [vec![0x35; 257], vec![0xca; 1025]];
|
||||||
|
|
||||||
std::thread::scope(|scope| {
|
std::thread::scope(|scope| {
|
||||||
let handles = payloads
|
let handles = payloads.each_ref().map(|payload| {
|
||||||
.iter()
|
let barrier = Arc::clone(&barrier);
|
||||||
.map(|payload| {
|
scope.spawn(move || {
|
||||||
let barrier = Arc::clone(&barrier);
|
let erasure = Erasure::new_with_options(6, 3, 2048, true);
|
||||||
scope.spawn(move || {
|
barrier.wait();
|
||||||
let erasure = Erasure::new_with_options(6, 3, 2048, true);
|
let encoded = erasure.encode_data(payload).expect("concurrent legacy encode should succeed");
|
||||||
barrier.wait();
|
barrier.wait();
|
||||||
let encoded = erasure.encode_data(payload).expect("concurrent legacy encode should succeed");
|
|
||||||
barrier.wait();
|
|
||||||
|
|
||||||
let mut shards = optional_shards(&encoded);
|
let mut shards = optional_shards(&encoded);
|
||||||
shards[0] = None;
|
shards[0] = None;
|
||||||
erasure
|
erasure
|
||||||
.decode_data(&mut shards)
|
.decode_data(&mut shards)
|
||||||
.expect("concurrent legacy decode should reconstruct the missing shard");
|
.expect("concurrent legacy decode should reconstruct the missing shard");
|
||||||
recover_data(&shards, erasure.data_shards, payload.len())
|
recover_data(&shards, erasure.data_shards, payload.len())
|
||||||
})
|
|
||||||
})
|
})
|
||||||
.collect::<Vec<_>>();
|
});
|
||||||
|
|
||||||
for (handle, payload) in handles.into_iter().zip(payloads.iter()) {
|
for (handle, payload) in handles.into_iter().zip(payloads.iter()) {
|
||||||
assert_eq!(handle.join().expect("concurrent legacy codec worker should not panic"), *payload);
|
assert_eq!(handle.join().expect("concurrent legacy codec worker should not panic"), *payload);
|
||||||
|
|||||||
Reference in New Issue
Block a user