Deprecate --gfe2_reloadable_flag_quic_close_connection_if_fail_to_serialzie_coalesced_packet2.
PiperOrigin-RevId: 447535292
diff --git a/quiche/quic/core/quic_connection.cc b/quiche/quic/core/quic_connection.cc
index 1d134b5..73f5763 100644
--- a/quiche/quic/core/quic_connection.cc
+++ b/quiche/quic/core/quic_connection.cc
@@ -6025,11 +6025,7 @@
const size_t length = packet_creator_.SerializeCoalescedPacket(
coalesced_packet_, buffer, coalesced_packet_.max_packet_length());
if (length == 0) {
- if (packet_creator_
- .close_connection_if_fail_to_serialzie_coalesced_packet() &&
- connected_) {
- QUIC_RELOADABLE_FLAG_COUNT_N(
- quic_close_connection_if_fail_to_serialzie_coalesced_packet2, 2, 2);
+ if (connected_) {
CloseConnection(QUIC_FAILED_TO_SERIALIZE_PACKET,
"Failed to serialize coalesced packet.",
ConnectionCloseBehavior::SILENT_CLOSE);
diff --git a/quiche/quic/core/quic_connection_test.cc b/quiche/quic/core/quic_connection_test.cc
index 4a0db07..0da0673 100644
--- a/quiche/quic/core/quic_connection_test.cc
+++ b/quiche/quic/core/quic_connection_test.cc
@@ -9919,12 +9919,8 @@
EXPECT_CALL(visitor_, OnHandshakePacketSent());
- if (GetQuicReloadableFlag(
- quic_close_connection_if_fail_to_serialzie_coalesced_packet2)) {
- EXPECT_CALL(visitor_,
- OnConnectionClosed(_, ConnectionCloseSource::FROM_SELF))
- .WillOnce(Invoke(this, &QuicConnectionTest::SaveConnectionCloseFrame));
- }
+ EXPECT_CALL(visitor_, OnConnectionClosed(_, ConnectionCloseSource::FROM_SELF))
+ .WillOnce(Invoke(this, &QuicConnectionTest::SaveConnectionCloseFrame));
ProcessDataPacketAtLevel(1, !kHasStopWaiting, ENCRYPTION_INITIAL);
auto test_body = [&] {
@@ -9970,16 +9966,11 @@
EXPECT_QUIC_BUG(test_body(), "SerializeCoalescedPacket failed.");
- if (GetQuicReloadableFlag(
- quic_close_connection_if_fail_to_serialzie_coalesced_packet2)) {
- EXPECT_FALSE(connection_.connected());
- EXPECT_THAT(saved_connection_close_frame_.quic_error_code,
- IsError(QUIC_FAILED_TO_SERIALIZE_PACKET));
- EXPECT_EQ(saved_connection_close_frame_.error_details,
- "Failed to serialize coalesced packet.");
- } else {
- EXPECT_TRUE(connection_.connected());
- }
+ EXPECT_FALSE(connection_.connected());
+ EXPECT_THAT(saved_connection_close_frame_.quic_error_code,
+ IsError(QUIC_FAILED_TO_SERIALIZE_PACKET));
+ EXPECT_EQ(saved_connection_close_frame_.error_details,
+ "Failed to serialize coalesced packet.");
}
TEST_P(QuicConnectionTest, LegacyVersionEncapsulation) {
@@ -15272,22 +15263,12 @@
// Server receives INITIAL 3, this will serialzie FS 7 (stream 4, stream 8),
// which will trigger a flush of a coalesced packet consists of INITIAL 4,
// HS 5 and FS 6 (stream 4).
- if (GetQuicReloadableFlag(
- quic_close_connection_if_fail_to_serialzie_coalesced_packet2)) {
- // Expect no QUIC_BUG.
- ProcessDataPacketAtLevel(3, !kHasStopWaiting, ENCRYPTION_INITIAL);
- EXPECT_EQ(
- debug_visitor_sent_count,
- connection_.sent_packet_manager().GetLargestSentPacket().ToUint64());
- } else {
- // Expect QUIC_BUG due to extra padding.
- EXPECT_QUIC_BUG(
- { ProcessDataPacketAtLevel(3, !kHasStopWaiting, ENCRYPTION_INITIAL); },
- "Reserialize initial packet in coalescer has unexpected size");
- EXPECT_EQ(
- debug_visitor_sent_count + 1,
- connection_.sent_packet_manager().GetLargestSentPacket().ToUint64());
- }
+
+ // Expect no QUIC_BUG.
+ ProcessDataPacketAtLevel(3, !kHasStopWaiting, ENCRYPTION_INITIAL);
+ EXPECT_EQ(
+ debug_visitor_sent_count,
+ connection_.sent_packet_manager().GetLargestSentPacket().ToUint64());
// The error only happens if after serializing the second 1RTT packet(pkt #7),
// the pending padding bytes is non zero.
diff --git a/quiche/quic/core/quic_flags_list.h b/quiche/quic/core/quic_flags_list.h
index be6303b..75c3687 100644
--- a/quiche/quic/core/quic_flags_list.h
+++ b/quiche/quic/core/quic_flags_list.h
@@ -19,8 +19,6 @@
QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_bbr2_no_probe_up_exit_if_no_queue, true)
// If true, 1) QUIC connections will use a lower minimum for trusted initial rtt, 2) When TRTT is received, QUIC server sessions will mark the initial rtt from CachedNetworkParameters as trusted.
QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_use_lower_min_for_trusted_irtt, true)
-// If true, QUIC connection will be closed if it fails to serialize a coalesced packet.
-QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_close_connection_if_fail_to_serialzie_coalesced_packet2, true)
// If true, QUIC will default enable MTU discovery at server, with a target of 1450 bytes.
QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_enable_mtu_discovery_at_server, false)
// If true, QuicGsoBatchWriter will support release time if it is available and the process has the permission to do so.
diff --git a/quiche/quic/core/quic_packet_creator.cc b/quiche/quic/core/quic_packet_creator.cc
index c84556c..94921c4 100644
--- a/quiche/quic/core/quic_packet_creator.cc
+++ b/quiche/quic/core/quic_packet_creator.cc
@@ -511,8 +511,7 @@
<< "Attempt to serialize empty ENCRYPTION_INITIAL packet in coalesced "
"packet";
- if (close_connection_if_fail_to_serialzie_coalesced_packet_ &&
- HasPendingFrames()) {
+ if (HasPendingFrames()) {
QUIC_BUG(quic_packet_creator_unexpected_queued_frames)
<< "Unexpected queued frames: " << GetPendingFramesInfo();
return 0;
@@ -549,15 +548,8 @@
}
}
- if (close_connection_if_fail_to_serialzie_coalesced_packet_) {
- QUIC_RELOADABLE_FLAG_COUNT_N(
- quic_close_connection_if_fail_to_serialzie_coalesced_packet2, 1, 2);
- }
-
- if (!SerializePacket(
- QuicOwnedPacketBuffer(buffer, nullptr), buffer_len,
- /*allow_padding=*/
- !close_connection_if_fail_to_serialzie_coalesced_packet_)) {
+ if (!SerializePacket(QuicOwnedPacketBuffer(buffer, nullptr), buffer_len,
+ /*allow_padding=*/false)) {
return 0;
}
const size_t encrypted_length = packet_.encrypted_length;
diff --git a/quiche/quic/core/quic_packet_creator.h b/quiche/quic/core/quic_packet_creator.h
index bc792e1..51446ba 100644
--- a/quiche/quic/core/quic_packet_creator.h
+++ b/quiche/quic/core/quic_packet_creator.h
@@ -485,10 +485,6 @@
const QuicSocketAddress& peer_address() const { return packet_.peer_address; }
- bool close_connection_if_fail_to_serialzie_coalesced_packet() const {
- return close_connection_if_fail_to_serialzie_coalesced_packet_;
- }
-
private:
friend class test::QuicPacketCreatorPeer;
@@ -692,10 +688,6 @@
// Whether to attempt protecting initial packets with chaos.
bool chaos_protection_enabled_;
-
- const bool close_connection_if_fail_to_serialzie_coalesced_packet_ =
- GetQuicReloadableFlag(
- quic_close_connection_if_fail_to_serialzie_coalesced_packet2);
};
} // namespace quic