Compare commits

...

2 Commits

Author SHA1 Message Date
Anastasia Lubennikova
0c8ed22939 Use saturating_sub for resident_physical_size_gauge
to avoid metric overflow, if the gauge is not initialized yet.
2023-02-28 16:00:41 +02:00
Alexander Bayandin
000eb1b069 Bump tempfile from 3.3.0 to 3.4.0 (#3709)
Update `tempfile` crate to get rid of `remove_dir_all` dependency
Ref https://github.com/neondatabase/neon/security/dependabot/15
2023-02-27 12:44:08 +00:00
3 changed files with 18 additions and 18 deletions

18
Cargo.lock generated
View File

@@ -3067,15 +3067,6 @@ dependencies = [
"workspace_hack",
]
[[package]]
name = "remove_dir_all"
version = "0.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7"
dependencies = [
"winapi",
]
[[package]]
name = "reqwest"
version = "0.11.14"
@@ -3849,16 +3840,15 @@ dependencies = [
[[package]]
name = "tempfile"
version = "3.3.0"
version = "3.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4"
checksum = "af18f7ae1acd354b992402e9ec5864359d693cd8a79dcbef59f76891701c1e95"
dependencies = [
"cfg-if",
"fastrand",
"libc",
"redox_syscall",
"remove_dir_all",
"winapi",
"rustix",
"windows-sys 0.42.0",
]
[[package]]

View File

@@ -150,7 +150,7 @@ workspace_hack = { version = "0.1", path = "./workspace_hack/" }
criterion = "0.4"
rcgen = "0.10"
rstest = "0.16"
tempfile = "3.2"
tempfile = "3.4"
tonic-build = "0.8"
# This is only needed for proxy's tests.

View File

@@ -1082,7 +1082,10 @@ impl Timeline {
}
if let Some(layer_size) = layer_size {
self.metrics.resident_physical_size_gauge.sub(layer_size);
let current_size = self.metrics.resident_physical_size_gauge.get();
self.metrics
.resident_physical_size_gauge
.set(current_size.saturating_sub(layer_size));
}
true
@@ -1504,7 +1507,11 @@ impl Timeline {
assert!(local_layer_path.exists(), "we would leave the local_layer without a file if this does not hold: {}", local_layer_path.display());
anyhow::bail!("could not rename file {local_layer_path:?}: {err:?}");
} else {
self.metrics.resident_physical_size_gauge.sub(local_size);
let current_size = self.metrics.resident_physical_size_gauge.get();
self.metrics
.resident_physical_size_gauge
.set(current_size.saturating_sub(local_size));
updates.remove_historic(local_layer);
// fall-through to adding the remote layer
}
@@ -1946,7 +1953,10 @@ impl Timeline {
layer.delete()?;
if let Some(layer_size) = layer_size {
self.metrics.resident_physical_size_gauge.sub(layer_size);
let current_size = self.metrics.resident_physical_size_gauge.get();
self.metrics
.resident_physical_size_gauge
.set(current_size.saturating_sub(layer_size));
}
// TODO Removing from the bottom of the layer map is expensive.