From d3848f6802b607e400839d59a25aee651c59a1db Mon Sep 17 00:00:00 2001 From: JAYICE <1185430411@qq.com> Date: Wed, 14 Jan 2026 02:12:31 +0800 Subject: [PATCH] vmagent: fix calculation of vm_persistentqueue_free_disk_space_bytes (#10271) ### Describe Your Changes follow up https://github.com/VictoriaMetrics/VictoriaMetrics/pull/10242, see discussion in https://github.com/VictoriaMetrics/VictoriaMetrics/pull/10267#issuecomment-3729577415 for more context ### Checklist The following checks are **mandatory**: - [x] My change adheres to [VictoriaMetrics contributing guidelines](https://docs.victoriametrics.com/victoriametrics/contributing/#pull-request-checklist). - [x] My change adheres to [VictoriaMetrics development goals](https://docs.victoriametrics.com/victoriametrics/goals/). --- lib/persistentqueue/fastqueue.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/persistentqueue/fastqueue.go b/lib/persistentqueue/fastqueue.go index 159b2fe6a9..f2d2163132 100644 --- a/lib/persistentqueue/fastqueue.go +++ b/lib/persistentqueue/fastqueue.go @@ -70,7 +70,10 @@ func MustOpenFastQueue(path, name string, maxInmemoryBlocks int, maxPendingBytes if maxPendingBytes == 0 { return float64(freeSpaceBytes) } - return min(float64(maxPendingBytes), float64(freeSpaceBytes)) + fq.mu.Lock() + curPendingBytes := fq.pq.GetPendingBytes() + fq.mu.Unlock() + return min(float64(maxPendingBytes)-float64(curPendingBytes), float64(freeSpaceBytes)) }) pendingBytes := fq.GetPendingBytes()