mirror of
https://github.com/VictoriaMetrics/VictoriaMetrics.git
synced 2024-12-01 14:47:38 +00:00
vmbackup: correctly check if specified -dst
belongs to specified -storageDataPath
(#4841)
See this issue https://github.com/VictoriaMetrics/VictoriaMetrics/issues/4837
Signed-off-by: hagen1778 <roman@victoriametrics.com>
(cherry picked from commit 6da32a27ac
)
This commit is contained in:
parent
58cf862b05
commit
505ef72e69
3 changed files with 20 additions and 1 deletions
|
@ -220,7 +220,20 @@ func hasFilepathPrefix(path, prefix string) bool {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
return strings.HasPrefix(pathAbs, prefixAbs)
|
if prefixAbs == pathAbs {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
rel, err := filepath.Rel(prefixAbs, pathAbs)
|
||||||
|
if err != nil {
|
||||||
|
// if paths can't be related - they don't match
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
if i := strings.Index(rel, "."); i == 0 {
|
||||||
|
// if path can be related only with . as first char - they still don't match
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
// if paths are related - it is a match
|
||||||
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
func newOriginFS() (common.OriginFS, error) {
|
func newOriginFS() (common.OriginFS, error) {
|
||||||
|
|
|
@ -26,4 +26,9 @@ func TestHasFilepathPrefix(t *testing.T) {
|
||||||
f("fs://"+pwd+"/foo", pwd+"/foo/bar", false)
|
f("fs://"+pwd+"/foo", pwd+"/foo/bar", false)
|
||||||
f("fs://"+pwd+"/foo/bar", pwd+"/foo", true)
|
f("fs://"+pwd+"/foo/bar", pwd+"/foo", true)
|
||||||
f("fs://"+pwd+"/foo", pwd+"/bar", false)
|
f("fs://"+pwd+"/foo", pwd+"/bar", false)
|
||||||
|
f("fs:///data1", "/data", false)
|
||||||
|
f("fs:///data", "/data1", false)
|
||||||
|
f("fs:///data", "/data/foo", false)
|
||||||
|
f("fs:///data/foo", "/data", true)
|
||||||
|
f("fs:///data/foo/", "/data/", true)
|
||||||
}
|
}
|
||||||
|
|
|
@ -30,6 +30,7 @@ The following `tip` changes can be tested by building VictoriaMetrics components
|
||||||
* BUGFIX: remove `DEBUG` logging when parsing `if` filters inside [relabeling rules](https://docs.victoriametrics.com/vmagent.html#relabeling-enhancements) and when parsing `match` filters inside [stream aggregation rules](https://docs.victoriametrics.com/stream-aggregation.html).
|
* BUGFIX: remove `DEBUG` logging when parsing `if` filters inside [relabeling rules](https://docs.victoriametrics.com/vmagent.html#relabeling-enhancements) and when parsing `match` filters inside [stream aggregation rules](https://docs.victoriametrics.com/stream-aggregation.html).
|
||||||
* BUGFIX: properly replace `:` chars in label names with `_` when `-usePromCompatibleNaming` command-line flag is passed to `vmagent`, `vminsert` or single-node VictoriaMetrics. This addresses [this comment](https://github.com/VictoriaMetrics/VictoriaMetrics/issues/3113#issuecomment-1275077071).
|
* BUGFIX: properly replace `:` chars in label names with `_` when `-usePromCompatibleNaming` command-line flag is passed to `vmagent`, `vminsert` or single-node VictoriaMetrics. This addresses [this comment](https://github.com/VictoriaMetrics/VictoriaMetrics/issues/3113#issuecomment-1275077071).
|
||||||
* BUGFIX: [Official Grafana dashboards for VictoriaMetrics](https://grafana.com/orgs/victoriametrics): fix display of ingested rows rate for `Samples ingested/s` and `Samples rate` panels for vmagent's dasbhoard. Previously, not all ingested protocols were accounted in these panels. An extra panel `Rows rate` was added to `Ingestion` section to display the split for rows ingested rate by protocol.
|
* BUGFIX: [Official Grafana dashboards for VictoriaMetrics](https://grafana.com/orgs/victoriametrics): fix display of ingested rows rate for `Samples ingested/s` and `Samples rate` panels for vmagent's dasbhoard. Previously, not all ingested protocols were accounted in these panels. An extra panel `Rows rate` was added to `Ingestion` section to display the split for rows ingested rate by protocol.
|
||||||
|
* BUGFIX: [vmbackup](https://docs.victoriametrics.com/vmbackup.html): correctly check if specified `-dst` belongs to specified `-storageDataPath`. See [this issue](https://github.com/VictoriaMetrics/VictoriaMetrics/issues/4837).
|
||||||
|
|
||||||
## [v1.93.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.93.0)
|
## [v1.93.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.93.0)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue