gfe-relnote: In QUIC, ignore bad bandwidth samples from CMS in cwnd bootstrapping experiment. PiperOrigin-RevId: 248755156 Change-Id: I5bb39a8b5a5a31c7bc034241a89eed8e854f830c
diff --git a/quic/core/congestion_control/bbr_sender.cc b/quic/core/congestion_control/bbr_sender.cc index 3369876..98b9145 100644 --- a/quic/core/congestion_control/bbr_sender.cc +++ b/quic/core/congestion_control/bbr_sender.cc
@@ -350,6 +350,12 @@ } if (GetQuicReloadableFlag(quic_fix_bbr_cwnd_in_bandwidth_resumption) && mode_ == STARTUP) { + if (bandwidth.IsZero()) { + // Ignore bad bandwidth samples. + QUIC_RELOADABLE_FLAG_COUNT_N(quic_fix_bbr_cwnd_in_bandwidth_resumption, 3, + 3); + return; + } const QuicByteCount new_cwnd = std::max(kMinInitialCongestionWindow * kDefaultTCPMSS, std::min(kMaxInitialCongestionWindow * kDefaultTCPMSS, @@ -360,15 +366,13 @@ set_high_cwnd_gain(kDerivedHighCWNDGain); if (new_cwnd > congestion_window_) { QUIC_RELOADABLE_FLAG_COUNT_N(quic_fix_bbr_cwnd_in_bandwidth_resumption, 1, - 2); + 3); } else { QUIC_RELOADABLE_FLAG_COUNT_N(quic_fix_bbr_cwnd_in_bandwidth_resumption, 2, - 2); + 3); } - if (bandwidth.IsZero() || - (new_cwnd < congestion_window_ && !allow_cwnd_to_decrease)) { - // Ignore bad bandwidth samples. Only decrease cwnd if - // allow_cwnd_to_decrease is true. + if (new_cwnd < congestion_window_ && !allow_cwnd_to_decrease) { + // Only decrease cwnd if allow_cwnd_to_decrease is true. return; } congestion_window_ = new_cwnd;