Skip to content

Commit 9bfd56d

Browse files
authored
chore: Dependency bumps (#101)
1 parent 045a3d1 commit 9bfd56d

8 files changed

Lines changed: 538 additions & 241 deletions

File tree

Cargo.lock

Lines changed: 505 additions & 220 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,10 @@ edition = "2024"
1515
repository = "https://github.com/stackabletech/trino-lb"
1616

1717
[workspace.dependencies]
18-
askama = "0.14"
18+
askama = "0.15"
1919
axum = { version = "0.8", features = ["tracing"] }
2020
axum-extra = { version = "0.12", features = ["typed-header"] }
21-
# If we use the feature "tls-rustls" it will pull in the "aws-lc-rs" crate, which as of 2024-08-16 I did not get to build in the "make run-dev" workflow :/
22-
axum-server = { version = "0.7", features = ["tls-rustls-no-provider"] }
21+
axum-server = { version = "0.8", features = ["tls-rustls"] }
2322
bincode = { version = "2.0", features = ["serde"] }
2423
chrono = "0.4"
2524
clap = { version = "4.5", features = ["derive"] }
@@ -29,10 +28,10 @@ http = "1.1"
2928
http-serde = "2.1"
3029
humantime-serde = "1.1"
3130
indoc = "2.0"
32-
k8s-openapi = { version = "0.26", default-features = false, features = [
33-
"v1_34",
31+
k8s-openapi = { version = "0.27", default-features = false, features = [
32+
"v1_35",
3433
] }
35-
kube = { version = "2.0", default-features = false, features = [
34+
kube = { version = "3.0", default-features = false, features = [
3635
"client",
3736
"jsonpatch",
3837
"runtime",
@@ -50,22 +49,22 @@ prometheus = "0.13"
5049
prusto = "0.5"
5150
pyo3 = { version = "0.27", features = ["auto-initialize"] }
5251
rand = "0.9"
53-
redis = { version = "0.32", default-features = false, features = [
52+
redis = { version = "1.0", default-features = false, features = [
5453
"acl",
5554
"tokio-rustls-comp",
5655
"cluster",
5756
"cluster-async",
5857
"connection-manager",
59-
"keep-alive",
6058
"script",
6159
] }
6260
regex = "1.10"
63-
reqwest = { version = "0.12", default-features = false, features = [
64-
"rustls-tls",
61+
reqwest = { version = "0.13", default-features = false, features = [
62+
"rustls",
6563
"gzip",
6664
"json",
6765
"cookies",
6866
] }
67+
rustls = "0.23"
6968
rstest = "0.26"
7069
serde = { version = "1.0", features = ["derive"] }
7170
serde_json = { version = "1.0", features = ["raw_value"] }

nix/sources.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,10 @@
1717
"homepage": "",
1818
"owner": "NixOS",
1919
"repo": "nixpkgs",
20-
"rev": "573c650e8a14b2faa0041645ab18aed7e60f0c9a",
21-
"sha256": "0qg99zj0gb0pc6sjlkmwhk1c1xz14qxmk6gamgfmcxpsfdp5vn72",
20+
"rev": "61db79b0c6b838d9894923920b612048e1201926",
21+
"sha256": "1zihs797ra009jl5knx7p4qk38wa1rmarfy286y8ywjv5wbx35l7",
2222
"type": "tarball",
23-
"url": "https://github.com/NixOS/nixpkgs/archive/573c650e8a14b2faa0041645ab18aed7e60f0c9a.tar.gz",
23+
"url": "https://github.com/NixOS/nixpkgs/archive/61db79b0c6b838d9894923920b612048e1201926.tar.gz",
2424
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
2525
}
2626
}

trino-lb-persistence/src/redis/mod.rs

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,12 @@ pub enum Error {
115115

116116
#[snafu(display("Invalid response from compare and set lua script. Expected either 0 or 1"))]
117117
InvalidCASScriptResponse { response: u64 },
118+
119+
#[snafu(display("Failed to list queued queries for cluster group {cluster_group:?}"))]
120+
ListQueuedQueries {
121+
source: RedisError,
122+
cluster_group: String,
123+
},
118124
}
119125

120126
/// This Redis implementation works against Redis clusters. It uses a single connection that is shared between all
@@ -143,8 +149,8 @@ impl RedisPersistence<ConnectionManager> {
143149
info!(redis_host, "Using redis persistence");
144150

145151
let redis_config = ConnectionManagerConfig::new()
146-
.set_connection_timeout(REDIS_CONNECTION_TIMEOUT)
147-
.set_response_timeout(REDIS_RESPONSE_TIMEOUT);
152+
.set_connection_timeout(Some(REDIS_CONNECTION_TIMEOUT))
153+
.set_response_timeout(Some(REDIS_RESPONSE_TIMEOUT));
148154

149155
let client = Client::open(config.endpoint.as_str()).context(CreateClientSnafu)?;
150156
let connection = client
@@ -539,6 +545,7 @@ where
539545
if let Ok(mut queued) = connection.sscan(queued_query_set_name(cluster_group)).await {
540546
// TODO: Await `load_queued_query` in parallel (if possible) or add them to a Vec to bulk-delete afterwards
541547
while let Some(key) = queued.next_item().await {
548+
let key = key.with_context(|_| ListQueuedQueriesSnafu { cluster_group })?;
542549
let queued_query = self.load_queued_query(&key).await?;
543550
if &queued_query.last_accessed < not_accessed_after {
544551
self.remove_queued_query(&queued_query).await?;

trino-lb/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ rand.workspace = true
4242
redis.workspace = true
4343
regex.workspace = true
4444
reqwest.workspace = true
45+
rustls.workspace = true
4546
serde_json.workspace = true
4647
serde_yaml.workspace = true
4748
serde.workspace = true

trino-lb/src/http_server/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,7 @@ pub async fn start_http_server(
177177
Ok(())
178178
}
179179

180-
async fn graceful_shutdown(handle: Handle) {
180+
async fn graceful_shutdown(handle: Handle<SocketAddr>) {
181181
wait_for_shutdown_signal().await;
182182

183183
info!("Shutting down gracefully");

trino-lb/src/main.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,12 @@ pub enum Error {
7373
/// We can not use the `#[tokio::main]` macro, as we need at least 3 worker threads because of some magic happening
7474
/// in metric collection that are related to <https://github.com/open-telemetry/opentelemetry-rust/issues/1376#issuecomment-1816813128>
7575
fn main() -> Result<(), MainError> {
76+
// To prevent `no process-level CryptoProvider available -- call CryptoProvider::install_default() before this point`,
77+
// see https://github.com/rustls/rustls/issues/1938 for details
78+
rustls::crypto::aws_lc_rs::default_provider()
79+
.install_default()
80+
.map_err(|_| Error::InstallRustlsCryptoProvider)?;
81+
7682
const ENV_WORKER_THREADS: &str = "TOKIO_WORKER_THREADS";
7783

7884
let worker_threads = match std::env::var(ENV_WORKER_THREADS) {

trino-lb/src/scaling/stackable.rs

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
use std::collections::HashMap;
22

3-
use chrono::{DateTime, Utc};
4-
use k8s_openapi::apimachinery::pkg::apis::meta::v1::Time;
3+
use k8s_openapi::{apimachinery::pkg::apis::meta::v1::Time, jiff::Timestamp};
54
use kube::{
65
Api, Client, Discovery,
76
api::{Patch, PatchParams},
@@ -415,7 +414,7 @@ impl ScalerTrait for StackableScaler {
415414
}
416415
}
417416

418-
fn elapsed_seconds_since(datetime: DateTime<Utc>) -> i64 {
419-
let now = Utc::now();
420-
(now - datetime).num_seconds()
417+
fn elapsed_seconds_since(datetime: Timestamp) -> i64 {
418+
let now = Timestamp::now();
419+
(now - datetime).get_seconds()
421420
}

0 commit comments

Comments
 (0)