diff --git a/router/xgress/retransmitter.go b/router/xgress/retransmitter.go index 797fc473c..99e587db3 100644 --- a/router/xgress/retransmitter.go +++ b/router/xgress/retransmitter.go @@ -140,8 +140,13 @@ func (retransmitter *Retransmitter) retransmitSender() { case retransmit := <-retransmitter.retransmitSend: if !retransmit.isAcked() { if err := retransmitter.forwarder.ForwardPayload(retransmit.x.address, retransmit.payload); err != nil { - logger.WithError(err).Errorf("unexpected error while retransmitting payload from %v", retransmit.x.address) - retransmissionFailures.Mark(1) + // if xgress is closed, don't log the error. We still want to try retransmitting in case we're re-sending end of session + if !retransmit.x.closed.Get() { + logger.WithError(err).Errorf("unexpected error while retransmitting payload from %v", retransmit.x.address) + retransmissionFailures.Mark(1) + } else { + logger.WithError(err).Tracef("unexpected error while retransmitting payload from %v", retransmit.x.address) + } } else { retransmit.markSent() retransmissions.Mark(1)