Deprecate --gfe2_reloadable_flag_quic_bbr2_fix_spurious_loss_bytes_counting. PiperOrigin-RevId: 616843446
diff --git a/quiche/common/quiche_feature_flags_list.h b/quiche/common/quiche_feature_flags_list.h index 344acc9..3011ae0 100755 --- a/quiche/common/quiche_feature_flags_list.h +++ b/quiche/common/quiche_feature_flags_list.h
@@ -15,7 +15,6 @@ QUICHE_FLAG(bool, quiche_reloadable_flag_quic_add_stream_info_to_idle_close_detail, false, "If true, include stream information in idle timeout connection close detail.") QUICHE_FLAG(bool, quiche_reloadable_flag_quic_allow_client_enabled_bbr_v2, true, "If true, allow client to enable BBRv2 on server via connection option 'B2ON'.") QUICHE_FLAG(bool, quiche_reloadable_flag_quic_bbr2_extra_acked_window, false, "When true, the BBR4 copt sets the extra_acked window to 20 RTTs and BBR5 sets it to 40 RTTs.") -QUICHE_FLAG(bool, quiche_reloadable_flag_quic_bbr2_fix_spurious_loss_bytes_counting, true, "If true, fix a QUIC BBR2 bytes counting issue caused by spurious losses.") QUICHE_FLAG(bool, quiche_reloadable_flag_quic_bbr2_probe_two_rounds, true, "When true, the BB2U copt causes BBR2 to wait two rounds with out draining the queue before exiting PROBE_UP and BB2S has the same effect in STARTUP.") QUICHE_FLAG(bool, quiche_reloadable_flag_quic_bbr2_simplify_inflight_hi, true, "When true, the BBHI copt causes QUIC BBRv2 to use a simpler algorithm for raising inflight_hi in PROBE_UP.") QUICHE_FLAG(bool, quiche_reloadable_flag_quic_block_until_settings_received_copt, true, "If enabled and a BSUS connection is received, blocks server connections until SETTINGS frame is received.")
diff --git a/quiche/quic/core/congestion_control/bandwidth_sampler.cc b/quiche/quic/core/congestion_control/bandwidth_sampler.cc index e79a106..05687d7 100644 --- a/quiche/quic/core/congestion_control/bandwidth_sampler.cc +++ b/quiche/quic/core/congestion_control/bandwidth_sampler.cc
@@ -301,9 +301,7 @@ SendTimeState last_acked_packet_send_state; QuicBandwidth max_send_rate = QuicBandwidth::Zero(); for (const auto& packet : acked_packets) { - if (GetQuicReloadableFlag(quic_bbr2_fix_spurious_loss_bytes_counting) && - packet.spurious_loss) { - QUIC_RELOADABLE_FLAG_COUNT(quic_bbr2_fix_spurious_loss_bytes_counting); + if (packet.spurious_loss) { // If the packet has been detected as lost before, QuicSentPacketManager // should set the AckedPacket.bytes_acked to 0 before passing the packet // to the congestion controller.
diff --git a/quiche/quic/core/congestion_control/bbr2_misc.cc b/quiche/quic/core/congestion_control/bbr2_misc.cc index 75be707..ff614ab 100644 --- a/quiche/quic/core/congestion_control/bbr2_misc.cc +++ b/quiche/quic/core/congestion_control/bbr2_misc.cc
@@ -153,19 +153,11 @@ congestion_event->prior_bytes_in_flight - congestion_event->bytes_acked - congestion_event->bytes_lost; } else { - if (GetQuicReloadableFlag(quic_bbr2_fix_spurious_loss_bytes_counting)) { - QUIC_BUG(quic_bbr2_prior_in_flight_too_small) - << "prior_bytes_in_flight:" << congestion_event->prior_bytes_in_flight - << " is smaller than the sum of bytes_acked:" - << congestion_event->bytes_acked - << " and bytes_lost:" << congestion_event->bytes_lost; - } else { - QUIC_LOG_FIRST_N(ERROR, 1) - << "prior_bytes_in_flight:" << congestion_event->prior_bytes_in_flight - << " is smaller than the sum of bytes_acked:" - << congestion_event->bytes_acked - << " and bytes_lost:" << congestion_event->bytes_lost; - } + QUIC_BUG(quic_bbr2_prior_in_flight_too_small) + << "prior_bytes_in_flight:" << congestion_event->prior_bytes_in_flight + << " is smaller than the sum of bytes_acked:" + << congestion_event->bytes_acked + << " and bytes_lost:" << congestion_event->bytes_lost; congestion_event->bytes_in_flight = 0; }
diff --git a/quiche/quic/core/congestion_control/bbr2_simulator_test.cc b/quiche/quic/core/congestion_control/bbr2_simulator_test.cc index f9bc24a..76bd106 100644 --- a/quiche/quic/core/congestion_control/bbr2_simulator_test.cc +++ b/quiche/quic/core/congestion_control/bbr2_simulator_test.cc
@@ -1888,16 +1888,9 @@ sender_->OnCongestionEvent(false, sender_unacked_map()->bytes_in_flight(), now, acked_packets, {}, 0, 0); - if (GetQuicReloadableFlag(quic_bbr2_fix_spurious_loss_bytes_counting)) { - EXPECT_EQ(sender_->GetNetworkModel().total_bytes_sent(), - sender_->GetNetworkModel().total_bytes_acked() + - sender_->GetNetworkModel().total_bytes_lost()); - } else { - // This is the bug fixed by the flag. - EXPECT_LT(sender_->GetNetworkModel().total_bytes_sent(), - sender_->GetNetworkModel().total_bytes_acked() + - sender_->GetNetworkModel().total_bytes_lost()); - } + EXPECT_EQ(sender_->GetNetworkModel().total_bytes_sent(), + sender_->GetNetworkModel().total_bytes_acked() + + sender_->GetNetworkModel().total_bytes_lost()); } // After quiescence, if the sender is in PROBE_RTT, it should transition to
diff --git a/quiche/quic/core/quic_flags_list.h b/quiche/quic/core/quic_flags_list.h index d2b1864..5b7ab92 100644 --- a/quiche/quic/core/quic_flags_list.h +++ b/quiche/quic/core/quic_flags_list.h
@@ -75,8 +75,6 @@ QUIC_FLAG(quic_reloadable_flag_quic_new_error_code_when_packets_buffered_too_long, true) // If true, enable server retransmittable on wire PING. QUIC_FLAG(quic_reloadable_flag_quic_enable_server_on_wire_ping, true) -// If true, fix a QUIC BBR2 bytes counting issue caused by spurious losses. -QUIC_FLAG(quic_reloadable_flag_quic_bbr2_fix_spurious_loss_bytes_counting, true) // If true, include stream information in idle timeout connection close detail. QUIC_FLAG(quic_reloadable_flag_quic_add_stream_info_to_idle_close_detail, true) // If true, reject or send error response code upon receiving invalid request or response headers.