Deprecate gfe2_reloadable_flag_quic_fix_out_of_order_sending2. PiperOrigin-RevId: 345687577 Change-Id: If13e55d238db2a5af53d58ee2a63e6d7c6495c03
diff --git a/quic/core/http/end_to_end_test.cc b/quic/core/http/end_to_end_test.cc index 433ae3b..e850aad 100644 --- a/quic/core/http/end_to_end_test.cc +++ b/quic/core/http/end_to_end_test.cc
@@ -200,7 +200,6 @@ AddToCache("/bar", 200, kBarResponseBody); // Enable fixes for bugs found in tests and prod. SetQuicRestartFlag(quic_enable_zero_rtt_for_tls_v2, true); - SetQuicReloadableFlag(quic_fix_out_of_order_sending2, true); } ~EndToEndTest() override { QuicRecyclePort(server_address_.port()); }
diff --git a/quic/core/quic_connection.cc b/quic/core/quic_connection.cc index 27b2664..3b7eb17 100644 --- a/quic/core/quic_connection.cc +++ b/quic/core/quic_connection.cc
@@ -2904,8 +2904,7 @@ ++stats_.packets_discarded; return true; case COALESCE: - QUIC_BUG_IF(!version().CanSendCoalescedPackets()); - QUIC_BUG_IF(fix_out_of_order_sending_ && coalescing_done_); + QUIC_BUG_IF(!version().CanSendCoalescedPackets() || coalescing_done_); if (!coalesced_packet_.MaybeCoalescePacket( *packet, self_address(), send_to_address, helper_->GetStreamSendBufferAllocator(), @@ -2953,10 +2952,8 @@ buffered_packets_.emplace_back(*packet, self_address(), send_to_address); break; case SEND_TO_WRITER: - if (fix_out_of_order_sending_ && !coalescing_done_) { - // Stop using coalsecer from now on. - coalescing_done_ = true; - } + // Stop using coalescer from now on. + coalescing_done_ = true; // At this point, packet->release_encrypted_buffer is either nullptr, // meaning |packet->encrypted_buffer| is a stack buffer, or not-nullptr, /// meaning it's a writer-allocated buffer. Note that connectivity probing @@ -3403,16 +3400,9 @@ } QuicPacketBuffer QuicConnection::GetPacketBuffer() { - if (fix_out_of_order_sending_) { - if (version().CanSendCoalescedPackets() && !coalescing_done_) { - // Do not use writer's packet buffer for coalesced packets which may - // contain - // multiple QUIC packets. - return {nullptr, nullptr}; - } - } else if (version().CanSendCoalescedPackets() && !IsHandshakeConfirmed()) { - // Do not use writer's packet buffer for coalesced packets which may contain - // multiple QUIC packets. + if (version().CanSendCoalescedPackets() && !coalescing_done_) { + // Do not use writer's packet buffer for coalesced packets which may + // contain multiple QUIC packets. return {nullptr, nullptr}; } return writer_->GetNextWriteLocation(self_address().host(), peer_address()); @@ -5291,13 +5281,10 @@ // packet (except MTU discovery packet). return COALESCE; } - if (fix_out_of_order_sending_) { - QUIC_RELOADABLE_FLAG_COUNT(quic_fix_out_of_order_sending2); - if (coalesced_packet_.length() > 0) { - // If the coalescer is not empty, let this packet go through coalescer - // to avoid potential out of order sending. - return COALESCE; - } + if (coalesced_packet_.length() > 0) { + // If the coalescer is not empty, let this packet go through coalescer + // to avoid potential out of order sending. + return COALESCE; } } if (!buffered_packets_.empty() || HandleWriteBlocked()) {
diff --git a/quic/core/quic_connection.h b/quic/core/quic_connection.h index bd29005..b2ce39f 100644 --- a/quic/core/quic_connection.h +++ b/quic/core/quic_connection.h
@@ -1966,9 +1966,6 @@ const bool fix_missing_initial_keys_ = GetQuicReloadableFlag(quic_fix_missing_initial_keys2); - const bool fix_out_of_order_sending_ = - GetQuicReloadableFlag(quic_fix_out_of_order_sending2); - const bool encrypted_control_frames_; const bool use_encryption_level_context_;
diff --git a/quic/core/quic_flags_list.h b/quic/core/quic_flags_list.h index 0a3a97f..4814f41 100644 --- a/quic/core/quic_flags_list.h +++ b/quic/core/quic_flags_list.h
@@ -38,7 +38,6 @@ QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_encrypted_control_frames, false) QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_extract_x509_subject_using_certificate_view, true) QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_fix_missing_initial_keys2, true) -QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_fix_out_of_order_sending2, true) QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_fix_pto_pending_timer_count, true) QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_fix_undecryptable_packets2, true) QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_fix_willing_and_able_to_write2, true)