Skip to content

Commit e465f73

Browse files
authored
Bump AWS SDK for Rust (#1620)
Also bumps some other trivially bumpable deps. Fixes RUSTSEC-2025-0009
1 parent 24cbbfd commit e465f73

File tree

13 files changed

+296
-256
lines changed

13 files changed

+296
-256
lines changed

Cargo.lock

+263-235
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

+4-4
Original file line numberDiff line numberDiff line change
@@ -56,19 +56,19 @@ mimalloc = "0.1.43"
5656
parking_lot = "0.12.3"
5757
rustls-pemfile = { version = "2.2.0", default-features = false }
5858
scopeguard = { version = "1.2.0", default-features = false }
59-
serde_json5 = "0.1.0"
59+
serde_json5 = "0.2.1"
6060
tokio = { version = "1.43.0", features = ["fs", "rt-multi-thread", "signal", "io-util"], default-features = false }
6161
tokio-rustls = { version = "0.26.1", default-features = false, features = [
6262
"ring",
6363
] }
6464
tonic = { version = "0.12.3", features = ["transport", "tls"], default-features = false }
6565
tower = { version = "0.5.2", default-features = false }
6666
tracing = { version = "0.1.41", default-features = false }
67-
opentelemetry_sdk = { version = "0.27.1", default-features = false }
67+
opentelemetry_sdk = { version = "0.28.0", default-features = false }
6868
tracing-subscriber = { version = "0.3.19", default-features = false }
69-
opentelemetry = { version = "0.27.1", default-features = false }
69+
opentelemetry = { version = "0.28.0", default-features = false }
7070
prometheus = { version = "0.13.4", default-features = false }
71-
opentelemetry-prometheus = "0.27.0"
71+
opentelemetry-prometheus = "0.28.0"
7272
serde_json = "1.0.139"
7373

7474
[workspace.cargo-features-manager.keep]

nativelink-config/Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ edition = "2021"
77
byte-unit = { version = "5.1.6", default-features = false, features = ["byte"] }
88
humantime = "2.1.0"
99
serde = { version = "1.0.218", default-features = false, features = ["derive"] }
10-
serde_json5 = "0.1.0"
10+
serde_json5 = "0.2.1"
1111
shellexpand = { version = "3.1.0", default-features = false, features = ["base-0"] }
1212

1313
[dev-dependencies]

nativelink-metric-collector/Cargo.toml

+3-3
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,15 @@ rust-version = "1.79.0"
66

77
[dependencies]
88
nativelink-metric = { path = "../nativelink-metric" }
9-
opentelemetry = { version = "0.27.1", features = ["metrics", "trace"], default-features = false }
9+
opentelemetry = { version = "0.28.0", features = ["metrics", "trace"], default-features = false }
1010
parking_lot = "0.12.3"
1111
serde = { version = "1.0.218", default-features = false }
1212
tracing = { version = "0.1.41", default-features = false }
1313
tracing-subscriber = { version = "0.3.19", default-features = false }
1414

1515
[dev-dependencies]
1616
nativelink-error = { path = "../nativelink-error" }
17-
opentelemetry_sdk = { version = "0.27.1", default-features = false }
18-
opentelemetry-prometheus = "0.27.0"
17+
opentelemetry_sdk = { version = "0.28.0", default-features = false }
18+
opentelemetry-prometheus = "0.28.0"
1919
prometheus = { version = "0.13.4", default-features = false }
2020
serde_json = { version = "1.0.139", default-features = false }

nativelink-metric-collector/tests/metric_collector_test.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,7 @@ fn test_prometheus_exporter() {
179179
nativelink_custom_handler_num_counter 6
180180
nativelink_foo_custom_handler_num_counter 4
181181
nativelink_pub_u64 1
182-
target_info{service_name="unknown_service",telemetry_sdk_language="rust",telemetry_sdk_name="opentelemetry",telemetry_sdk_version="0.27.1"} 1
182+
target_info{service_name="unknown_service",telemetry_sdk_language="rust",telemetry_sdk_name="opentelemetry",telemetry_sdk_version="0.28.0"} 1
183183
"#.trim()).lines().map(|v| v.unwrap()).collect();
184184

185185
// We need to sort because the output order is non-deterministic.

nativelink-scheduler/Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ bytes = { version = "1.10.0", default-features = false }
1919
prost = { version = "0.13.5", default-features = false }
2020
uuid = { version = "1.14.0", default-features = false, features = ["v4", "serde"] }
2121
futures = { version = "0.3.31", default-features = false }
22-
lru = { version = "0.12.5", default-features = false }
22+
lru = { version = "0.13.0", default-features = false }
2323
mock_instant = "0.5.2"
2424
parking_lot = "0.12.3"
2525
rand = { version = "0.9.0", default-features = false, features = ["thread_rng"] }

nativelink-service/Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ http-body = "1.0.1"
1717
http-body-util = "0.1.2"
1818
hyper = { version = "1.6.0" }
1919
rand = { version = "0.9.0", default-features = false, features = ["thread_rng"] }
20-
serde_json5 = "0.1.0"
20+
serde_json5 = "0.2.1"
2121
parking_lot = "0.12.3"
2222
prost = { version = "0.13.5", default-features = false }
2323
tokio = { version = "1.43.0", features = ["fs", "rt-multi-thread", "signal", "io-util"], default-features = false }

nativelink-store/BUILD.bazel

+1
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ rust_library(
4646
"@crates//:aws-config",
4747
"@crates//:aws-sdk-s3",
4848
"@crates//:aws-smithy-runtime",
49+
"@crates//:aws-smithy-types",
4950
"@crates//:bincode",
5051
"@crates//:blake3",
5152
"@crates//:byteorder",

nativelink-store/Cargo.toml

+9-8
Original file line numberDiff line numberDiff line change
@@ -11,17 +11,18 @@ nativelink-proto = { path = "../nativelink-proto" }
1111
nativelink-metric = { path = "../nativelink-metric" }
1212
async-lock = { version = "3.4.0", features = ["std"], default-features = false }
1313
async-trait = "0.1.86"
14-
aws-config = { version = "1.5.16", default-features = false, features = [
14+
aws-config = { version = "1.5.18", default-features = false, features = [
1515
"rustls",
1616
] }
1717
# TODO(aaronmondal): The latest version pulls in crc64fast-nvme which contains
1818
# nonhermetic bindgen deps that break Bazel sandboxes.
1919
# See: https://github.com/awesomized/crc64fast-nvme/issues/5
2020
# https://github.com/awslabs/aws-sdk-rust/issues/1240#issuecomment-2597294295
21-
aws-sdk-s3 = { version = "=1.68.0", features = [
21+
aws-sdk-s3 = { version = "=1.78.0", features = [
2222
"rt-tokio",
2323
], default-features = false }
24-
aws-smithy-runtime = { version = "1.7.8" }
24+
aws-smithy-runtime = { version = "=1.7.8" }
25+
aws-smithy-types = "=1.2.13"
2526
bincode = "1.3.3"
2627
blake3 = { version = "1.6.0", default-features = false }
2728
byteorder = { version = "1.5.0", default-features = false }
@@ -41,7 +42,7 @@ fred = { version = "10.0.4", default-features = false, features = [
4142
"sentinel-auth",
4243
"subscriber-client",
4344
] }
44-
patricia_tree = { version = "0.8.0", default-features = false }
45+
patricia_tree = { version = "0.9.0", default-features = false }
4546
futures = { version = "0.3.31", default-features = false }
4647
hex = { version = "0.4.3", default-features = false }
4748
http-body = "1.0.1"
@@ -69,14 +70,14 @@ memory-stats = "1.2.0"
6970
mock_instant = "0.5.2"
7071
sha2 = { version = "0.10.8", default-features = false }
7172
http = { version = "1.2.0", default-features = false }
72-
aws-smithy-types = "1.2.13"
73-
aws-smithy-runtime = { version = "1.7.8", features = [
73+
aws-smithy-types = "=1.2.13"
74+
aws-smithy-runtime = { version = "=1.7.8", features = [
7475
"test-util",
7576
], default-features = false }
76-
aws-sdk-s3 = { version = "=1.68.0", features = [
77+
aws-sdk-s3 = { version = "=1.78.0", features = [
7778
"rt-tokio",
7879
], default-features = false }
79-
aws-smithy-runtime-api = "1.7.3"
80+
aws-smithy-runtime-api = "=1.7.3"
8081
rand = { version = "0.9.0", default-features = false, features = ["thread_rng", "small_rng"] }
8182
serde_json = "1.0.139"
8283
fred = { version = "10.0.4", default-features = false, features = ["mocks"] }

nativelink-store/src/s3_store.rs

+5
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ use aws_sdk_s3::primitives::{ByteStream, SdkBody};
3131
use aws_sdk_s3::types::builders::{CompletedMultipartUploadBuilder, CompletedPartBuilder};
3232
use aws_sdk_s3::Client;
3333
use aws_smithy_runtime::client::http::hyper_014::HyperClientBuilder;
34+
use aws_smithy_types::checksum_config::{RequestChecksumCalculation, ResponseChecksumValidation};
3435
use bytes::Bytes;
3536
use futures::future::FusedFuture;
3637
use futures::stream::{unfold, FuturesUnordered};
@@ -272,6 +273,10 @@ where
272273
HyperClientBuilder::new().build(TlsConnector::new(spec, jitter_fn.clone()));
273274
let credential_provider = credentials::default_provider().await;
274275
let mut config_builder = aws_config::defaults(BehaviorVersion::v2024_03_28())
276+
// TODO(aaronmondal): Flip these to the default "WhenSupported".
277+
// See: https://github.com/awslabs/aws-sdk-rust/releases/tag/release-2025-01-15
278+
.request_checksum_calculation(RequestChecksumCalculation::WhenRequired)
279+
.response_checksum_validation(ResponseChecksumValidation::WhenRequired)
275280
.credentials_provider(credential_provider)
276281
.app_name(AppName::new("nativelink").expect("valid app name"))
277282
.timeout_config(

nativelink-store/tests/s3_store_test.rs

+5
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ use aws_sdk_s3::config::{BehaviorVersion, Builder, Region};
1919
use aws_sdk_s3::primitives::ByteStream;
2020
use aws_smithy_runtime::client::http::test_util::{ReplayEvent, StaticReplayClient};
2121
use aws_smithy_types::body::SdkBody;
22+
use aws_smithy_types::checksum_config::{RequestChecksumCalculation, ResponseChecksumValidation};
2223
use bytes::{BufMut, Bytes, BytesMut};
2324
use futures::join;
2425
use futures::task::Poll;
@@ -201,6 +202,10 @@ async fn simple_update_ac() -> Result<(), Error> {
201202
));
202203
let test_config = Builder::new()
203204
.behavior_version(BehaviorVersion::v2024_03_28())
205+
// TODO(aaronmondal): Flip these to the default "WhenSupported".
206+
// See: https://github.com/awslabs/aws-sdk-rust/releases/tag/release-2025-01-15
207+
.request_checksum_calculation(RequestChecksumCalculation::WhenRequired)
208+
.response_checksum_validation(ResponseChecksumValidation::WhenRequired)
204209
.region(Region::from_static(REGION))
205210
.http_client(mock_client)
206211
.build();

nativelink-util/Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ futures = { version = "0.3.31", default-features = false }
2323
hex = { version = "0.4.3", default-features = false, features = ["std"] }
2424
hyper = "1.6.0"
2525
hyper-util = "0.1.10"
26-
lru = { version = "0.12.5", default-features = false }
26+
lru = { version = "0.13.0", default-features = false }
2727
parking_lot = "0.12.3"
2828
pin-project-lite = "0.2.16"
2929
prost = { version = "0.13.5", default-features = false }

nativelink-worker/Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ prost = { version = "0.13.5", default-features = false }
2323
relative-path = "1.9.3"
2424
scopeguard = { version = "1.2.0", default-features = false }
2525
serde = { version = "1.0.218", default-features = false }
26-
serde_json5 = "0.1.0"
26+
serde_json5 = "0.2.1"
2727
shlex = { version = "1.3.0", default-features = false }
2828
tokio = { version = "1.43.0", features = ["process", "fs", "rt-multi-thread", "signal", "io-util"], default-features = false }
2929
tokio-stream = { version = "0.1.17", default-features = false, features = ["fs"] }

0 commit comments

Comments
 (0)