diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index 71f97cf8e..32f71e96f 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -76,6 +76,7 @@ See also [LTS releases](https://docs.victoriametrics.com/lts-releases/). * BUGFIX: [Single-node VictoriaMetrics](https://docs.victoriametrics.com/) and `vmselect` in [VictoriaMetrics cluster](https://docs.victoriametrics.com/cluster-victoriametrics/): filter deleted label names and values from [`/api/v1/labels`](https://docs.victoriametrics.com/url-examples/#apiv1labels) and [`/api/v1/label/.../values`](https://docs.victoriametrics.com/url-examples/#apiv1labelvalues) responses when `match[]` filter matches small number of time series. The issue was introduced [v1.81.0](https://docs.victoriametrics.com/changelog_2022/#v1810). * BUGFIX: [vmalert-tool](https://docs.victoriametrics.com/vmalert-tool/): fix float values template in `input_series`. See [this issue](https://github.com/VictoriaMetrics/VictoriaMetrics/issues/6391). * BUGFIX: [vmalert](https://docs.victoriametrics.com/vmalert/): fix misleading error logs in vmalert's stdout when unsupported HTTP path is requested. +* BUGFIX: retry files delete attempts on vXFS file system for `EEXIST` error type. See the [related issue](https://github.com/VictoriaMetrics/VictoriaMetrics/issues/6396). Thanks to @pludov for the [pull request](https://github.com/VictoriaMetrics/VictoriaMetrics/pull/6398). * DEPRECATION: [vmagent](https://docs.victoriametrics.com/vmagent/): removed deprecated `-remoteWrite.multitenantURL` flag from vmagent. This flag was deprecated since [v1.96.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.96.0). Use `-enableMultitenantHandlers` instead, as it is easier to use and combine with [multitenant URL at vminsert](https://docs.victoriametrics.com/Cluster-VictoriaMetrics.html#multitenancy-via-labels). See these [docs for details](https://docs.victoriametrics.com/vmagent.html#multitenancy). diff --git a/lib/fs/dir_remover.go b/lib/fs/dir_remover.go index 79b3e429d..779362624 100644 --- a/lib/fs/dir_remover.go +++ b/lib/fs/dir_remover.go @@ -74,9 +74,12 @@ func isStaleNFSFileHandleError(err error) bool { } func isTemporaryNFSError(err error) bool { - // See https://github.com/VictoriaMetrics/VictoriaMetrics/issues/61 for details. + // See https://github.com/VictoriaMetrics/VictoriaMetrics/issues/61 + // and https://github.com/VictoriaMetrics/VictoriaMetrics/issues/6396 for details. errStr := err.Error() - return strings.Contains(errStr, "directory not empty") || strings.Contains(errStr, "device or resource busy") + return strings.Contains(errStr, "directory not empty") || + strings.Contains(errStr, "device or resource busy") || + strings.Contains(errStr, "file exists") } // MustStopDirRemover must be called in the end of graceful shutdown