From 87cb132f53b2a0c1652f01e58cc82e565923d31c Mon Sep 17 00:00:00 2001 From: Hui Wang Date: Mon, 1 Jul 2024 22:38:15 +0800 Subject: [PATCH] =?UTF-8?q?app/vmselect/netstorage:=20do=20not=20retry=20r?= =?UTF-8?q?equest=20when=20complexity=20limit=20i=E2=80=A6=20(#6469)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit …s already exceeded --------- Signed-off-by: hagen1778 Co-authored-by: hagen1778 --- app/vmselect/netstorage/netstorage.go | 4 +++- docs/CHANGELOG.md | 4 ++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/app/vmselect/netstorage/netstorage.go b/app/vmselect/netstorage/netstorage.go index 676a96c3ed..f58da33e60 100644 --- a/app/vmselect/netstorage/netstorage.go +++ b/app/vmselect/netstorage/netstorage.go @@ -2265,9 +2265,11 @@ func (sn *storageNode) execOnConnWithPossibleRetry(qt *querytracer.Tracer, funcN } var er *errRemote var ne net.Error - if errors.As(err, &er) || errors.As(err, &ne) && ne.Timeout() || deadline.Exceeded() { + var le *limitExceededErr + if errors.As(err, &le) || errors.As(err, &er) || errors.As(err, &ne) && ne.Timeout() || deadline.Exceeded() { // There is no sense in repeating the query on the following errors: // + // - exceeded complexity limits (limitExceededErr) // - induced by vmstorage (errRemote) // - network timeout errors // - request deadline exceeded errors diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index 55e4201435..8d06166b62 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -39,10 +39,10 @@ See also [LTS releases](https://docs.victoriametrics.com/lts-releases/). * `vm_streamaggr_stale_samples_total` - shows the number of time series that became [stale](https://docs.victoriametrics.com/stream-aggregation/#staleness) during aggregation; * metrics related to stream aggregation got additional labels `match` (matching param), `group` (`by` or `without` param), `url` (address of `remoteWrite.url` where aggregation is applied), `position` (the position of the aggregation rule in config file). * These and other metrics were reflected on the [vmagent dashboard](https://github.com/VictoriaMetrics/VictoriaMetrics/blob/master/dashboards/vmagent.json) in `stream aggregation` section. +* FEATURE: [VictoriaMetrics cluster](https://docs.victoriametrics.com/cluster-victoriametrics/): do not retry RPC calls to vmstorage nodes if [complexity limits](https://docs.victoriametrics.com/#resource-usage-limits) were exceeded. + * BUGFIX: [docker-compose](https://github.com/VictoriaMetrics/VictoriaMetrics/tree/master/deployment/docker#docker-compose-environment-for-victoriametrics): fix incorrect link to vmui from [VictoriaMetrics plugin in Grafana](https://github.com/VictoriaMetrics/VictoriaMetrics/tree/master/deployment/docker#grafana). - * BUGFIX: [Single-node VictoriaMetrics](https://docs.victoriametrics.com/) and `vmstorage` in [VictoriaMetrics cluster](https://docs.victoriametrics.com/cluster-victoriametrics/): Fix the dateMetricIDCache consistency issue that leads to duplicate per-day index entries when new time series are inserted concurrently. See [this issue](https://github.com/VictoriaMetrics/VictoriaMetrics/issues/6534) for details. - * BUGFIX: [vmui](https://docs.victoriametrics.com/#vmui): fix input cursor position reset in modal settings. See [this pull request](https://github.com/VictoriaMetrics/VictoriaMetrics/pull/6530). ## [v1.102.0-rc2](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.102.0-rc2)