From 42512927088c530acf356aaedaa557e89c790553 Mon Sep 17 00:00:00 2001 From: hagen1778 <roman@victoriametrics.com> Date: Tue, 23 Apr 2024 14:49:45 +0200 Subject: [PATCH] app/vmagent: mention corner case with dangling queues and identical URLs See https://github.com/VictoriaMetrics/VictoriaMetrics/issues/6140 We don't cover this corner case as it has low chance for reproduction. Precisely, the requirements are following: 1. vmagent need to be configured with multiple identical `remoteWrite.url` flags; 2. At least one of the persistent queues need to be non-empty, which already signalizes about issues with setup; 3. vmagent need to be restarted with removing of one of `remoteWrite.url` flags. We do not document this case in vmagent.md as it seems to be a rare corner case and its explanation will require too much of explanation and confuse users. Signed-off-by: hagen1778 <roman@victoriametrics.com> --- app/vmagent/remotewrite/remotewrite.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/app/vmagent/remotewrite/remotewrite.go b/app/vmagent/remotewrite/remotewrite.go index 7cd8415cb1..93e41b50d4 100644 --- a/app/vmagent/remotewrite/remotewrite.go +++ b/app/vmagent/remotewrite/remotewrite.go @@ -259,6 +259,9 @@ func dropDanglingQueues() { // This is required for the case when the number of queues has been changed or URL have been changed. // See https://github.com/VictoriaMetrics/VictoriaMetrics/issues/4014 // + // In case if there were many persistent queues with identical *remoteWriteURLs + // the queue with the last index will be dropped. + // See https://github.com/VictoriaMetrics/VictoriaMetrics/issues/6140 existingQueues := make(map[string]struct{}, len(rwctxsDefault)) for _, rwctx := range rwctxsDefault { existingQueues[rwctx.fq.Dirname()] = struct{}{}