Downgrade quic_send_alarm_postponed from QUIC_BUG to a DVLOG. Remove the information used to debug the send alarm issue. PiperOrigin-RevId: 592695202
diff --git a/quiche/quic/core/quic_connection.cc b/quiche/quic/core/quic_connection.cc index 1c0a41b..dc84b68 100644 --- a/quiche/quic/core/quic_connection.cc +++ b/quiche/quic/core/quic_connection.cc
@@ -2392,14 +2392,10 @@ // Pacing limited: CanWrite returned false, and it has scheduled a send // alarm before it returns. if (send_alarm_->deadline() > max_deadline) { - QUIC_BUG(quic_send_alarm_postponed) - << "previous deadline:" << max_deadline - << ", deadline from CanWrite:" << send_alarm_->deadline() - << ", last_can_write_reason:" - << static_cast<int>(last_can_write_reason_) - << ", packets_sent_on_last_successful_can_write:" - << packets_sent_on_last_successful_can_write_; - QUIC_DVLOG(1) << "Send alarm restored after processing packet."; + QUIC_DVLOG(1) + << "Send alarm restored after processing packet. previous deadline:" + << max_deadline + << ", deadline from CanWrite:" << send_alarm_->deadline(); // Restore to the previous, earlier deadline. send_alarm_->Update(max_deadline, QuicTime::Delta::Zero()); } else { @@ -3200,11 +3196,6 @@ << ENDPOINT << "Failed to flush ACK frame"; } -void QuicConnection::RecordLastCanWriteReason(LastCanWriteReason reason) { - last_can_write_reason_ = reason; - packets_sent_on_last_successful_can_write_ = stats_.packets_sent; -} - bool QuicConnection::CanWrite(HasRetransmittableData retransmittable) { if (!connected_) { return false; @@ -3230,9 +3221,6 @@ // Try to coalesce packet, only allow to write when creator is on soft max // packet length. Given the next created packet is going to fill current // coalesced packet, do not check amplification factor. - if (packet_creator_.HasSoftMaxPacketLength()) { - RecordLastCanWriteReason(LAST_CAN_WRITE_REASON_COALESCE_PACKET); - } return packet_creator_.HasSoftMaxPacketLength(); } @@ -3241,7 +3229,6 @@ // 1) firing PTO, // 2) bundling CRYPTO data with ACKs, // 3) coalescing CRYPTO data of higher space. - RecordLastCanWriteReason(LAST_CAN_WRITE_REASON_PENDING_TIMER); return true; } @@ -3264,7 +3251,6 @@ // Allow acks and probing frames to be sent immediately. if (retransmittable == NO_RETRANSMITTABLE_DATA) { - RecordLastCanWriteReason(LAST_CAN_WRITE_REASON_NO_RETRANSMITTABLE_DATA); return true; } // If the send alarm is set, wait for it to fire. @@ -3283,7 +3269,6 @@ if (!delay.IsZero()) { if (delay <= release_time_into_future_) { // Required delay is within pace time into future, send now. - RecordLastCanWriteReason(LAST_CAN_WRITE_REASON_DELAY_WITHIN_RELEASE_TIME); return true; } // Cannot send packet now because delay is too far in the future. @@ -3293,7 +3278,6 @@ return false; } - RecordLastCanWriteReason(LAST_CAN_WRITE_REASON_NO_DELAY); return true; }
diff --git a/quiche/quic/core/quic_connection.h b/quiche/quic/core/quic_connection.h index 621f86c..14033bd 100644 --- a/quiche/quic/core/quic_connection.h +++ b/quiche/quic/core/quic_connection.h
@@ -2413,21 +2413,6 @@ // The ECN codepoint of the last packet to be sent to the writer, which // might be different from the next codepoint in per_packet_options_. QuicEcnCodepoint last_ecn_codepoint_sent_ = ECN_NOT_ECT; - - // The reason for the last call to CanWrite with a true return value. - enum LastCanWriteReason : uint8_t { - LAST_CAN_WRITE_REASON_NONE = 0, - LAST_CAN_WRITE_REASON_COALESCE_PACKET, - LAST_CAN_WRITE_REASON_PENDING_TIMER, - LAST_CAN_WRITE_REASON_NO_RETRANSMITTABLE_DATA, - LAST_CAN_WRITE_REASON_DELAY_WITHIN_RELEASE_TIME, - LAST_CAN_WRITE_REASON_NO_DELAY, - }; - void RecordLastCanWriteReason(LastCanWriteReason reason); - // TODO(b/299071230): Delete |packets_sent_on_last_successful_can_write_| and - // |last_can_write_reason_| after debugging. - LastCanWriteReason last_can_write_reason_ = LAST_CAN_WRITE_REASON_NONE; - QuicPacketCount packets_sent_on_last_successful_can_write_ = 0; }; } // namespace quic