fix(promscrape): check MaxScrapeSize after gzip decompression (#3550)

This commit is contained in:
Clément Nussbaumer 2022-12-28 21:19:41 +01:00 committed by GitHub
parent 293dda7169
commit 7ad9fff7e5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -322,6 +322,11 @@ func (c *client) ReadData(dst []byte) ([]byte, error) {
} else if !swapResponseBodies {
dst = append(dst, resp.Body()...)
}
if len(dst) > c.hc.MaxResponseBodySize {
maxScrapeSizeExceeded.Inc()
return dst, fmt.Errorf("the response from %q exceeds -promscrape.maxScrapeSize=%d; "+
"either reduce the response size for the target or increase -promscrape.maxScrapeSize", c.scrapeURL, maxScrapeSize.N)
}
fasthttp.ReleaseResponse(resp)
if statusCode != fasthttp.StatusOK {
metrics.GetOrCreateCounter(fmt.Sprintf(`vm_promscrape_scrapes_total{status_code="%d"}`, statusCode)).Inc()