we noticed that in case of an error ClickHouse sometimes can return a status code 200 with an actual error in X-Clickhouse-Exception-Code header. This PR adds failing upload when this header is present in the response.
We sometimes observed that happening after a timeout error on ClickHouse end. In the response there was a status code 200 and a 209 code in X-ClickHouse-Exception-Code ('socket timeout'). It caused a sporadic metric loss as ClickHouse didn't read the whole body and carbon-clickhouse considered the upload to be successful.
Hi,
we noticed that in case of an error ClickHouse sometimes can return a status code 200 with an actual error in
X-Clickhouse-Exception-Code
header. This PR adds failing upload when this header is present in the response.We sometimes observed that happening after a timeout error on ClickHouse end. In the response there was a status code 200 and a 209 code in
X-ClickHouse-Exception-Code
('socket timeout'). It caused a sporadic metric loss as ClickHouse didn't read the whole body and carbon-clickhouse considered the upload to be successful.I've also found a similar issue created for ClickHouse tests - https://github.com/ClickHouse/ClickHouse/issues/44885.