VictoriaMetrics/lib
Nikolay e196c61e36
app/vmselect: abort streaming connections for vmselect (#5650)
* app/vmselect: abort streaming connections for vmselect
due to streaming nature of export APIs, curl and simmilr tools cannot
detect errors that happened after http.Header with status 200 was
written to it.

This PR tracks if body write was already started and closes connection.

It allows client to detect not expected chunk sequence and return error
to the caller.

Mostly it affects vmselect at cluster version

https://github.com/VictoriaMetrics/VictoriaMetrics/issues/5645

* wip

Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/5645
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/pull/5650

---------

Co-authored-by: Aliaksandr Valialkin <valyala@victoriametrics.com>
2024-01-22 00:54:32 +02:00
..
appmetrics all: add -metrics.exposeMetadata command-line flag, which can be used for adding TYPE and HELP metadata for metrics exposed at /metrics page 2023-12-19 03:26:02 +02:00
auth lib/auth: add NewTokenPossibleMultitenant() for parsing auth token, which can be multitenant 2023-08-30 14:13:51 +02:00
awsapi lib/awsapi: properly assume role with webIdentity token (#5495) 2023-12-20 19:07:04 +02:00
backup vendor: run make vendor-update 2023-12-11 10:48:47 +02:00
blockcache lib/blockcache: do not cache entries, which were attempted to be accessed 1 or 2 times 2023-11-13 09:38:57 +01:00
bloomfilter
bufferedwriter
buildinfo
bytesutil lib/logger: add -loggerMaxArgLen command-line flag for fine-tuning the maximum length of logged args 2023-11-13 09:43:49 +01:00
cgroup
consts
decimal
encoding all: cleanup: remove // +build ... lines, since they are no longer needed after Go1.17, and the minimum supported Go version for VictoriaMetrics source code is Go1.20 2023-11-13 19:15:42 +01:00
envflag lib/envflag: do not allow unsupported form for boolean command-line flags in the form -boolFlag value 2023-08-17 13:37:05 +02:00
envtemplate
fastnum
fasttime
filestream app/vmselect/promql: follow-up for ce4f26db02 2024-01-16 22:13:13 +02:00
flagutil app/{vmagent,vmalert}: add the ability to set OAuth2 endpoint params via the corresponding *.oauth2.endpointParams command-line flags 2023-12-20 21:38:16 +02:00
formatutil
fs app/vmselect/promql: follow-up for ce4f26db02 2024-01-16 22:13:13 +02:00
handshake lib/handshake: typo fix after ef80a89a24: SetReadDeadline -> SetWriteDeadline 2023-11-16 16:47:07 +01:00
htmlcomponents lib/htmlcomponents: use relative links for the top page and for favicon.ico 2023-11-13 20:28:17 +01:00
httpserver app/vmselect: abort streaming connections for vmselect (#5650) 2024-01-22 00:54:32 +02:00
httputils lib/httputils: handle step=undefined query arg as an empty value 2024-01-17 00:13:04 +02:00
influxutils
ingestserver lib/ingestserver: properly log the number of closed connections 2023-11-14 21:53:10 +01:00
leveledbytebufferpool
logger lib/logger: increase default -loggerMaxArgLen command-line flag value from 500 to 1000 2023-11-14 19:55:55 +01:00
logjson
logstorage lib/logstorage: always check the previous indexBlockHeader for blocks with matching tenantID and/or streamID 2023-11-14 01:02:02 +01:00
lrucache Makefile: update golangci-lint from v1.51.2 to v1.54.2 2023-09-01 10:25:49 +02:00
memory all: cleanup: remove // +build ... lines, since they are no longer needed after Go1.17, and the minimum supported Go version for VictoriaMetrics source code is Go1.20 2023-11-13 19:15:42 +01:00
mergeset lib/{mergeset,storage}: consistently reset isInMerge field in parts passed to mergeParts() before returning from the function 2023-10-02 20:34:52 +02:00
metricsql
netutil app/vmselect: add support for vmstorage groups with independent -replicationFactor per group 2023-12-13 00:14:34 +02:00
persistentqueue app/vmagent: follow-up for 090cb2c9de 2023-11-25 12:13:39 +02:00
procutil all: cleanup: remove // +build ... lines, since they are no longer needed after Go1.17, and the minimum supported Go version for VictoriaMetrics source code is Go1.20 2023-11-13 19:15:42 +01:00
promauth lib/promauth: add more context to errors returned by Options.NewConfig() in order to simplify troubleshooting 2023-12-20 21:58:19 +02:00
prompb lib/prompbmarshal: switch to github.com/VictoriaMetrics/easyproto 2024-01-16 20:48:30 +02:00
prompbmarshal lib/prompbmarshal: move WriteRequest proto definition to the correct place 2024-01-16 21:57:03 +02:00
promrelabel lib/promrelabel: add keep_if_contains and drop_if_contains relabeling actions 2023-12-01 14:00:20 +01:00
promscrape lib/promscrape/discovery/hetzner: follow-up after 03a97dc678 2024-01-22 00:53:23 +02:00
promutils lib/promutils, app/vmalert-tool/unittest: move promutils.Duration.ParseTime() to app/vmalert-tool/unittest.durationToTime() 2023-10-16 14:23:41 +02:00
protoparser lib/prompb: switch to github.com/VictoriaMetrics/easyproto 2024-01-16 20:43:09 +02:00
proxy lib/promauth: follow-up for e16d3f5639 2023-10-26 09:55:47 +02:00
pushmetrics lib/pushmetrics: wait until the background goroutines, which push metrics, are stopped at pushmetrics.Stop() 2024-01-16 21:18:22 +02:00
querytracer lib/querytracer: add missing blank comment line after 3121d76bee 2023-11-15 16:11:50 +01:00
regexutil lib/regexutil: properly handle alternate regexps surrounded by .+ or .* 2023-11-13 18:25:57 +01:00
snapshot Makefile: update golangci-lint version from v1.54.2 to v1.55.1 2023-11-02 21:42:35 +01:00
storage lib/storage: do not prefetch metric names for small number of metricIDs 2024-01-17 13:50:01 +02:00
streamaggr lib/streamaggr/streamaggr.go: fix link in error message (#5439) 2023-12-08 18:14:29 +02:00
stringsutil lib/stringsutil: add tests for LimitStringLen() function 2023-11-13 10:33:07 +01:00
syncwg
tenantmetrics
timerpool
uint64set lib/uint64: remove accidentally added test 2024-01-09 13:32:22 +01:00
vmselectapi vmcluster: re-routing enhancement (#5293) 2023-11-14 01:00:42 +01:00
workingsetcache lib/workingsetcache: fix outdated comments for Load() and New() functions 2023-10-26 09:43:04 +02:00
writeconcurrencylimiter