diff --git a/app/vmalert/datasource/vm.go b/app/vmalert/datasource/vm.go index 81b09c0e4..9fd374f85 100644 --- a/app/vmalert/datasource/vm.go +++ b/app/vmalert/datasource/vm.go @@ -29,7 +29,7 @@ type VMStorage struct { // Clone makes clone of VMStorage, shares http client. func (s *VMStorage) Clone() *VMStorage { - return &VMStorage{ + ns := &VMStorage{ c: s.c, authCfg: s.authCfg, datasourceURL: s.datasourceURL, @@ -39,8 +39,15 @@ func (s *VMStorage) Clone() *VMStorage { dataSourceType: s.dataSourceType, evaluationInterval: s.evaluationInterval, - extraParams: s.extraParams, + + // init map so it can be populated below + extraParams: url.Values{}, } + for k, v := range s.extraParams { + ns.extraParams[k] = v + } + + return ns } // ApplyParams - changes given querier params. @@ -49,9 +56,14 @@ func (s *VMStorage) ApplyParams(params QuerierParams) *VMStorage { s.dataSourceType = *params.DataSourceType } s.evaluationInterval = params.EvaluationInterval - for k, vl := range params.QueryParams { - for _, v := range vl { // custom query params are prior to default ones - s.extraParams.Set(k, v) + if params.QueryParams != nil { + if s.extraParams == nil { + s.extraParams = url.Values{} + } + for k, vl := range params.QueryParams { + for _, v := range vl { // custom query params are prior to default ones + s.extraParams.Set(k, v) + } } } return s @@ -72,6 +84,7 @@ func NewVMStorage(baseURL string, authCfg *promauth.Config, lookBack time.Durati lookBack: lookBack, queryStep: queryStep, dataSourceType: NewPrometheusType(), + extraParams: url.Values{}, } } diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index be80d12e2..28a45a5ef 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -16,6 +16,7 @@ The following tip changes can be tested by building VictoriaMetrics components f ## v1.79.x long-time support release (LTS) * BUGFIX: [vmalert](https://docs.victoriametrics.com/vmalert.html): Properly form path to static assets in WEB UI if `http.pathPrefix` set. See [this issue](https://github.com/VictoriaMetrics/VictoriaMetrics/issues/4349). +* BUGFIX: [vmalert](https://docs.victoriametrics.com/vmalert.html): Properly set datasource query params. See [this issue](https://github.com/VictoriaMetrics/VictoriaMetrics/issues/4340). Thanks to @gsakun for [the pull request](https://github.com/VictoriaMetrics/VictoriaMetrics/pull/4341). ## [v1.79.13](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.79.13)