diff --git a/Cargo.lock b/Cargo.lock index 885e580..6851fa0 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -54,7 +54,7 @@ dependencies = [ "derive_more", "encoding_rs", "futures-core", - "h2", + "h2 0.3.26", "http 0.2.12", "httparse", "httpdate", @@ -1099,6 +1099,25 @@ dependencies = [ "tracing", ] +[[package]] +name = "h2" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "816ec7294445779408f36fe57bc5b7fc1cf59664059096c65f905c1c61f58069" +dependencies = [ + "bytes", + "fnv", + "futures-core", + "futures-sink", + "futures-util", + "http 1.1.0", + "indexmap 2.2.6", + "slab", + "tokio", + "tokio-util", + "tracing", +] + [[package]] name = "hashbrown" version = "0.12.3" @@ -1244,7 +1263,7 @@ dependencies = [ "futures-channel", "futures-core", "futures-util", - "h2", + "h2 0.3.26", "http 0.2.12", "http-body 0.4.6", "httparse", @@ -1267,9 +1286,11 @@ dependencies = [ "bytes", "futures-channel", "futures-util", + "h2 0.4.4", "http 1.1.0", "http-body 1.0.0", "httparse", + "httpdate", "itoa", "pin-project-lite", "smallvec", @@ -1546,12 +1567,14 @@ dependencies = [ [[package]] name = "metrics-exporter-prometheus" -version = "0.13.1" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9bf4e7146e30ad172c42c39b3246864bd2d3c6396780711a1baf749cfe423e21" +checksum = "5d58e362dc7206e9456ddbcdbd53c71ba441020e62104703075a69151e38d85f" dependencies = [ - "base64 0.21.7", - "hyper 0.14.28", + "base64 0.22.1", + "http-body-util", + "hyper 1.3.1", + "hyper-util", "indexmap 2.2.6", "ipnet", "metrics", @@ -1559,6 +1582,7 @@ dependencies = [ "quanta", "thiserror", "tokio", + "tracing", ] [[package]] @@ -2308,9 +2332,9 @@ dependencies = [ [[package]] name = "reqwest-middleware" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0209efb52486ad88136190094ee214759ef7507068b27992256ed6610eb71a01" +checksum = "a45d100244a467870f6cb763c4484d010a6bed6bd610b3676e3825d93fb4cfbd" dependencies = [ "anyhow", "async-trait", @@ -3027,7 +3051,7 @@ dependencies = [ "axum", "base64 0.21.7", "bytes", - "h2", + "h2 0.3.26", "http 0.2.12", "http-body 0.4.6", "hyper 0.14.28", @@ -3054,7 +3078,7 @@ dependencies = [ "axum", "base64 0.21.7", "bytes", - "h2", + "h2 0.3.26", "http 0.2.12", "http-body 0.4.6", "hyper 0.14.28", diff --git a/Cargo.toml b/Cargo.toml index dbb82b1..982e617 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -38,7 +38,7 @@ futures-core = "0.3" hex = "0.4.3" md-5 = "0.10.5" metrics = "0.22.0" -metrics-exporter-prometheus = { version = "0.13.0", default-features = false, features = ["http-listener"] } +metrics-exporter-prometheus = { version = "0.14.0", default-features = false, features = ["http-listener"] } mime = "0.3.1" nanorand = { version = "0.7", optional = true } opentelemetry_sdk = { version = "0.22", features = ["rt-tokio"] } diff --git a/src/process.rs b/src/process.rs index e31f15b..5d0b885 100644 --- a/src/process.rs +++ b/src/process.rs @@ -59,9 +59,6 @@ impl Drop for MetricsGuard { } } -#[derive(Debug)] -struct StatusError(ExitStatus); - pub(crate) struct Process { command: Arc, child: Child, @@ -487,11 +484,3 @@ impl ProcessRead { } } } - -impl std::fmt::Display for StatusError { - fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { - write!(f, "Command failed with bad status: {}", self.0) - } -} - -impl std::error::Error for StatusError {} diff --git a/src/repo.rs b/src/repo.rs index 9cbccc5..dfe3fcb 100644 --- a/src/repo.rs +++ b/src/repo.rs @@ -444,7 +444,6 @@ where pub(crate) trait SettingsRepo: BaseRepo { async fn set(&self, key: &'static str, value: Arc<[u8]>) -> Result<(), RepoError>; async fn get(&self, key: &'static str) -> Result>, RepoError>; - async fn remove(&self, key: &'static str) -> Result<(), RepoError>; } #[async_trait::async_trait(?Send)] @@ -459,10 +458,6 @@ where async fn get(&self, key: &'static str) -> Result>, RepoError> { T::get(self, key).await } - - async fn remove(&self, key: &'static str) -> Result<(), RepoError> { - T::remove(self, key).await - } } #[async_trait::async_trait(?Send)] diff --git a/src/repo/postgres.rs b/src/repo/postgres.rs index 6a546a9..cae7d09 100644 --- a/src/repo/postgres.rs +++ b/src/repo/postgres.rs @@ -1412,24 +1412,6 @@ impl SettingsRepo for PostgresRepo { Ok(opt) } - - #[tracing::instrument(level = "debug", skip(self))] - async fn remove(&self, input_key: &'static str) -> Result<(), RepoError> { - use schema::settings::dsl::*; - - let mut conn = self.get_connection().await?; - - diesel::delete(settings) - .filter(key.eq(input_key)) - .execute(&mut conn) - .with_metrics(crate::init_metrics::POSTGRES_SETTINGS_REMOVE) - .with_timeout(Duration::from_secs(5)) - .await - .map_err(|_| PostgresError::DbTimeout)? - .map_err(PostgresError::Diesel)?; - - Ok(()) - } } #[async_trait::async_trait(?Send)] diff --git a/src/repo/sled.rs b/src/repo/sled.rs index ff45e04..af0e2cd 100644 --- a/src/repo/sled.rs +++ b/src/repo/sled.rs @@ -807,7 +807,7 @@ impl QueueRepo for SledRepo { .read() .unwrap() .get(&queue_name) - .map(Arc::clone); + .cloned(); let notify = if let Some(notify) = opt { notify @@ -945,13 +945,6 @@ impl SettingsRepo for SledRepo { Ok(opt.map(|ivec| Arc::from(ivec.to_vec()))) } - - #[tracing::instrument(level = "trace", skip(self))] - async fn remove(&self, key: &'static str) -> Result<(), RepoError> { - b!(self.settings, settings.remove(key)); - - Ok(()) - } } fn variant_access_key(hash: &[u8], variant: &str) -> Vec {