From 6147e546868a0beeef40e403498680339dc70ff9 Mon Sep 17 00:00:00 2001 From: sakridge Date: Thu, 23 Aug 2018 15:30:21 -0700 Subject: [PATCH] Cap repair requests timeout (#958) --- src/window.rs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/window.rs b/src/window.rs index fbf5f0d837..0cc51e0d01 100644 --- a/src/window.rs +++ b/src/window.rs @@ -108,6 +108,14 @@ fn repair_window( } *last = consumed; *times += 1; + + // Experiment with capping repair request duration. + // Once nodes are too far behind they can spend many + // seconds without asking for repair + if *times > 128 { + *times = 65; + } + //if times flips from all 1s 7 -> 8, 15 -> 16, we retry otherwise return Ok if *times & (*times - 1) != 0 { trace!("repair_window counter {} {} {}", *times, consumed, received);