write a "unit" test for WindowLedger (it was working ;)

clear flags on fresh blobs, lest they sometimes impersonate coding blobs...

fix bug: advance *received whether the blob_index is in the window or not,
  failure to do so results in a stalled repair request pipeline
This commit is contained in:
Rob Walker
2018-08-08 04:16:27 -07:00
parent 38be61bd22
commit 9783d47fd1
4 changed files with 142 additions and 58 deletions

View File

@@ -1005,9 +1005,10 @@ impl Crdt {
return Some(out);
} else {
inc_new_counter_info!("crdt-window-request-outside", 1);
info!(
trace!(
"requested ix {} != blob_ix {}, outside window!",
ix, blob_ix
ix,
blob_ix
);
// falls through to checking window_ledger
}
@@ -1029,7 +1030,7 @@ impl Crdt {
}
inc_new_counter_info!("crdt-window-request-fail", 1);
info!(
trace!(
"{:x}: failed RequestWindowIndex {:x} {} {}",
me.debug_id(),
from.debug_id(),