VictoriaMetrics/lib/protoparser
Hui Wang cd7e84b995
lib/protoparser/promremotewrite: fall back to zstd decoding if Snappy-decoding fails (#5344)
This case is possible after the following steps:
1. vmagent successfully performed handshake with the -remoteWrite.url and the remote storage supports zstd-compressed data.
2. remote storage became unavailable or slow to ingest data, vmagent compressed the collected data into blocks with zstd and puts these blocks to persistent queue on disk.
3. vmagent restarts and the remote storage is unavailable during the handshake, then vmagent falls back to Snappy compression.
4. vmagent starts sending zstd-compressed data from persistent queue to the remote storage, while falsely advertizing it sends Snappy-compressed data.
5. The remote storage receives zstd-compressed data and fails unpacking it with Snappy.

The solution is the same as 12cd32fd75, just fall back to zstd decompression if Snappy decompression fails.
2023-11-23 20:47:10 +02:00
..
clusternative/stream Makefile: update golangci-lint from v1.51.2 to v1.54.2 2023-09-01 11:15:51 +02:00
common Makefile: update golangci-lint from v1.51.2 to v1.54.2 2023-09-01 11:15:51 +02:00
csvimport lib/protoparser/csvimport: properly parse the last empty column in CSV line 2023-05-12 16:59:50 -07:00
datadog lib/protoparser/influx: extract stream parsing code into a separate stream package 2023-02-13 09:59:56 -08:00
graphite lib/protoparser/graphite: extract stream parsing code into a separate stream package 2023-02-13 10:33:24 -08:00
influx lib/protoparser/influx: extract stream parsing code into a separate stream package 2023-02-13 09:59:56 -08:00
native/stream lib/protoparser/native: extract stream parsing code into a separate stream package 2023-02-13 10:44:27 -08:00
opentelemetry lib/protoparser/openetelemetry: fixes panic (#4821) 2023-08-12 05:10:05 -07:00
opentsdb lib/protoparser/opentsdb: extract stream parsing code into a separate stream package 2023-02-13 10:04:14 -08:00
opentsdbhttp lib/opentsdbhttp: fix a typo preventing from using writeconcurrencylimiter (#4208) 2023-05-08 16:33:03 -07:00
prometheus lib/promutils: properly return error when incorrect Prometheus label names are passed to NewLabelsFromString() 2023-05-12 17:02:06 -07:00
promremotewrite/stream lib/protoparser/promremotewrite: fall back to zstd decoding if Snappy-decoding fails (#5344) 2023-11-23 20:47:10 +02:00
vmimport lib/protoparser/vmimport: extract stream parsing code into a separate stream package 2023-02-13 10:22:00 -08:00