From 3b1f587521385c0535f19728493a19a69bbacfdf Mon Sep 17 00:00:00 2001 From: Andreas Fackler Date: Wed, 11 Mar 2020 11:53:31 +0100 Subject: [PATCH] Fix QHB loop with 1 validator. --- src/queueing_honey_badger/mod.rs | 12 +++++++----- tests/queueing_honey_badger.rs | 2 +- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/queueing_honey_badger/mod.rs b/src/queueing_honey_badger/mod.rs index 38561aa..94602da 100644 --- a/src/queueing_honey_badger/mod.rs +++ b/src/queueing_honey_badger/mod.rs @@ -343,11 +343,13 @@ where while self.can_propose() { let amount = cmp::max(1, self.batch_size / self.dyn_hb.netinfo().num_nodes()); let proposal = self.queue.choose(rng, amount, self.batch_size); - step.extend( - self.dyn_hb - .handle_input(Input::User(proposal), rng) - .map_err(Error::Propose)?, - ); + let propose_step = self + .dyn_hb + .handle_input(Input::User(proposal), rng) + .map_err(Error::Propose)?; + self.queue + .remove_multiple(propose_step.output.iter().flat_map(Batch::iter)); + step.extend(propose_step); } Ok(step) } diff --git a/tests/queueing_honey_badger.rs b/tests/queueing_honey_badger.rs index c7b9346..2abe70c 100644 --- a/tests/queueing_honey_badger.rs +++ b/tests/queueing_honey_badger.rs @@ -251,7 +251,7 @@ fn test_queueing_honey_badger_different_sizes( let mut rng: TestRng = TestRng::from_seed(seed); - let sizes = vec![3, 5, rng.gen_range(6, 10)]; + let sizes = vec![2, 3, 5, rng.gen_range(6, 10)]; for size in sizes { // The test is removing one correct node, so we allow fewer faulty ones. let num_adv_nodes = util::max_faulty(size - 1);