diff --git a/src/servers/src/prom_remote_write/mod.rs b/src/servers/src/prom_remote_write/mod.rs index 73f968b6084..c9aabfb2745 100644 --- a/src/servers/src/prom_remote_write/mod.rs +++ b/src/servers/src/prom_remote_write/mod.rs @@ -77,6 +77,8 @@ pub fn decode_remote_write_request( // fallback to the other compression method try_decompress(!is_zstd, &body[..])? }; + // Decompression copied the payload out, so the compressed body is no longer needed. + drop(body); let mut request = PROM_WRITE_REQUEST_POOL.pull(PromWriteRequest::default); diff --git a/src/servers/src/prom_remote_write/v2.rs b/src/servers/src/prom_remote_write/v2.rs index b388071106f..2f1f4d410c4 100644 --- a/src/servers/src/prom_remote_write/v2.rs +++ b/src/servers/src/prom_remote_write/v2.rs @@ -143,6 +143,8 @@ pub(crate) fn decode_remote_write_v2( } else { try_decompress(!is_zstd, &body[..])? }; + // Decompression copied the payload out, so the compressed body is no longer needed. + drop(body); let request = BorrowedRequest::decode(&buf).context(error::DecodePromRemoteRequestSnafu)?; drop(decode_timer);