Handle HTTP/2 GOAWAY messages when writing to outputs #11901
Labels
feature request
Requests for new plugin and for new features to existing plugins
help wanted
Request for community participation, code, contribution
size/m
2-4 day effort
Use Case
HTTP/2 introduced a means for servers to tell clients to stop sending requests over a specific connection - the GOAWAY signal - (HTTP/1.1 needed to wait until it finished processing a request and then send
Connection: Close
, HTTP/2 does not).AWS's Application Load Balancers (ALBs) sometimes send GOAWAY messages, for various reasons, the two main documented ones being
So, if an output connection is sufficiently long-lived that it carries 10,000 writes (which may not be that long a time for a busy instance), the ALB will eventually send a GOAWAY
Expected behavior
Telegraf should receive the
GOAWAY
, close the connection, and resubmit over a new one.Actual behavior
Telegraf logs an error
Additional info
The data isn't lost - because the write didn't complete successfully, it remains in the buffer and will be written out at the next flush interval.
But, it does lead to a level of log noise where telegraf's being used as an aggregator and performing a lot of writes.
The text was updated successfully, but these errors were encountered: