diff --git a/api/go.mod b/api/go.mod index 77189b6d6d..6d9e8ac8be 100644 --- a/api/go.mod +++ b/api/go.mod @@ -5,7 +5,7 @@ module github.com/VictoriaMetrics/operator/api go 1.26.6 require ( - github.com/VictoriaMetrics/VictoriaMetrics v1.150.0 + github.com/VictoriaMetrics/VictoriaMetrics v1.151.0 github.com/VictoriaMetrics/metricsql v0.87.3 github.com/prometheus/alertmanager v0.34.0 github.com/stretchr/testify v1.12.1 diff --git a/api/go.sum b/api/go.sum index 6a1e4e5839..de479062d8 100644 --- a/api/go.sum +++ b/api/go.sum @@ -62,8 +62,8 @@ github.com/Masterminds/semver/v3 v3.4.0/go.mod h1:4V+yj/TJE1HU9XfppCwVMZq3I84lpr github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= github.com/VictoriaMetrics/VictoriaLogs v1.51.1-0.20260624061259-dc94972a8708 h1:D9/Jzlm3B8PBnrWxg4ft8KYZdG607dV3lpBfPCoiJD8= github.com/VictoriaMetrics/VictoriaLogs v1.51.1-0.20260624061259-dc94972a8708/go.mod h1:H4sDxcvk6OmC6zOt++IlDyrwfbn4F1eSLwMpR+kpRt8= -github.com/VictoriaMetrics/VictoriaMetrics v1.150.0 h1:HyHgg1neFIM/+Db3XXUNditq+Iu9nBc1UCIZ3M09eTE= -github.com/VictoriaMetrics/VictoriaMetrics v1.150.0/go.mod h1:Mp7qEBDOXwP50gC93cF8wJmaGjTFSJP2WA6dRtMI7qU= +github.com/VictoriaMetrics/VictoriaMetrics v1.151.0 h1:Svzb/7gPYbzmQnvLjab8h1Jl9olB76mokDE7ykvF/ro= +github.com/VictoriaMetrics/VictoriaMetrics v1.151.0/go.mod h1:Mp7qEBDOXwP50gC93cF8wJmaGjTFSJP2WA6dRtMI7qU= github.com/VictoriaMetrics/easyproto v1.2.0 h1:FJT9uNXA2isppFuJErbLqD306KoFlehl7Wn2dg/6oIE= github.com/VictoriaMetrics/easyproto v1.2.0/go.mod h1:QlGlzaJnDfFd8Lk6Ci/fuLxfTo3/GThPs2KH23mv710= github.com/VictoriaMetrics/metrics v1.44.0 h1:Fr8yqQSV+ZfYaDD/anqk1E8e9YPgfleSleJmAI0M0Tw= diff --git a/docs/config-reloader-flags.md b/docs/config-reloader-flags.md index 0364a6b4dc..7414aa1dfb 100644 --- a/docs/config-reloader-flags.md +++ b/docs/config-reloader-flags.md @@ -31,8 +31,12 @@ Usage of bin/config-reloader: Auth key for /flags endpoint. It must be passed via authKey query arg. It overrides -httpAuth.* Flag value can be read from the given file when using -flagsAuthKey=file:///abs/path/to/file or -flagsAuthKey=file://./relative/path/to/file. Flag value can be read from the given http/https url when using -flagsAuthKey=http://host/path or -flagsAuthKey=https://host/path + -fs.disableMincore + Whether to disable the mincore() syscall for checking mmap()ed files. By default, mincore() is used to detect whether mmap()ed file pages are resident in memory. Disabling mincore() may be needed on older ZFS filesystems (below 2.1.5), since it may trigger ZFS bug. See https://github.com/VictoriaMetrics/VictoriaMetrics/issues/10327 for details. + -fs.disableMmap + Whether to use pread() instead of mmap() for reading data files. By default, mmap() is used for 64-bit arches and pread() is used for 32-bit arches, since they cannot read data files bigger than 2^32 bytes in memory. mmap() is usually faster for reading small data chunks than pread() -fs.maxConcurrency int - The maximum number of concurrent goroutines to work with files; smaller values may help reducing Go scheduling latency on systems with small number of CPU cores; higher values may help reducing data ingestion latency on systems with high-latency storage such as NFS or Ceph (default fsutil.getDefaultConcurrency()) + The maximum number of concurrent goroutines to work with files; smaller values may help reducing Go scheduling latency on systems with small number of CPU cores; higher values may help reducing data ingestion latency on systems with high-latency storage such as NFS or Ceph (default fsutil.getDefaultConcurrency() = fsutil.getDefaultConcurrency()) -http.connTimeout duration Incoming connections to -httpListenAddr are closed after the configured timeout. This may help evenly spreading load among a cluster of services behind TCP-level load balancer. Zero value disables closing of incoming connections (default 2m0s) -http.disableCORS diff --git a/go.mod b/go.mod index dee326dad2..c485711bd8 100644 --- a/go.mod +++ b/go.mod @@ -1,10 +1,10 @@ module github.com/VictoriaMetrics/operator -go 1.26.6 +go 1.27.1 require ( github.com/Masterminds/semver/v3 v3.5.0 - github.com/VictoriaMetrics/VictoriaMetrics v1.150.0 + github.com/VictoriaMetrics/VictoriaMetrics v1.151.0 github.com/VictoriaMetrics/metrics v1.44.0 github.com/VictoriaMetrics/metricsql v0.87.3 github.com/VictoriaMetrics/operator/api v0.74.1 diff --git a/go.sum b/go.sum index 27a9bc44f3..b8d58ee1e7 100644 --- a/go.sum +++ b/go.sum @@ -62,8 +62,8 @@ github.com/Masterminds/semver/v3 v3.5.0/go.mod h1:4V+yj/TJE1HU9XfppCwVMZq3I84lpr github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= github.com/VictoriaMetrics/VictoriaLogs v1.51.1-0.20260624061259-dc94972a8708 h1:D9/Jzlm3B8PBnrWxg4ft8KYZdG607dV3lpBfPCoiJD8= github.com/VictoriaMetrics/VictoriaLogs v1.51.1-0.20260624061259-dc94972a8708/go.mod h1:H4sDxcvk6OmC6zOt++IlDyrwfbn4F1eSLwMpR+kpRt8= -github.com/VictoriaMetrics/VictoriaMetrics v1.150.0 h1:HyHgg1neFIM/+Db3XXUNditq+Iu9nBc1UCIZ3M09eTE= -github.com/VictoriaMetrics/VictoriaMetrics v1.150.0/go.mod h1:Mp7qEBDOXwP50gC93cF8wJmaGjTFSJP2WA6dRtMI7qU= +github.com/VictoriaMetrics/VictoriaMetrics v1.151.0 h1:Svzb/7gPYbzmQnvLjab8h1Jl9olB76mokDE7ykvF/ro= +github.com/VictoriaMetrics/VictoriaMetrics v1.151.0/go.mod h1:Mp7qEBDOXwP50gC93cF8wJmaGjTFSJP2WA6dRtMI7qU= github.com/VictoriaMetrics/easyproto v1.2.0 h1:FJT9uNXA2isppFuJErbLqD306KoFlehl7Wn2dg/6oIE= github.com/VictoriaMetrics/easyproto v1.2.0/go.mod h1:QlGlzaJnDfFd8Lk6Ci/fuLxfTo3/GThPs2KH23mv710= github.com/VictoriaMetrics/metrics v1.44.0 h1:Fr8yqQSV+ZfYaDD/anqk1E8e9YPgfleSleJmAI0M0Tw= diff --git a/internal/controller/operator/factory/vmalert/rules_test.go b/internal/controller/operator/factory/vmalert/rules_test.go index 3190d27ff0..d05e40d1d0 100644 --- a/internal/controller/operator/factory/vmalert/rules_test.go +++ b/internal/controller/operator/factory/vmalert/rules_test.go @@ -345,10 +345,6 @@ func TestCreateOrUpdateRuleConfigMaps(t *testing.T) { func TestRuleRebalance(t *testing.T) { ctx := context.Background() - origLimit := config.MustGetBaseConfig().ConfigDataBudgetBytes - config.MustGetBaseConfig().ConfigDataBudgetBytes = 90 - defer func() { config.MustGetBaseConfig().ConfigDataBudgetBytes = origLimit }() - mkRule := func(ns, name, recordName string) *vmv1beta1.VMRule { return &vmv1beta1.VMRule{ ObjectMeta: metav1.ObjectMeta{Name: name, Namespace: ns}, @@ -361,6 +357,15 @@ func TestRuleRebalance(t *testing.T) { } } + singleGroupData, err := yaml.Marshal([]vmv1beta1.RuleGroup{mkRule("default", "rule-x", "job:x:total").Spec.Groups[0]}) + assert.NoError(t, err) + singleGroupCompressed, err := build.GzipConfig(singleGroupData) + assert.NoError(t, err) + + origLimit := config.MustGetBaseConfig().ConfigDataBudgetBytes + config.MustGetBaseConfig().ConfigDataBudgetBytes = len(singleGroupCompressed) + defer func() { config.MustGetBaseConfig().ConfigDataBudgetBytes = origLimit }() + ns := "default" cr := &vmv1beta1.VMAlert{ ObjectMeta: metav1.ObjectMeta{Name: "recording", Namespace: ns},