Skip to content

Commit a4e5130

Browse files
author
Henrik Gustafsson
committed
Update rand crate 0.8.5 -> 0.9.0
Also updates the following to align versions and avoid duplicates in transitive dependencies * `rand_pcg` 0.3.1 -> 0.9.0 * `rand_chacha` 0.3.1 -> 0.9.0
1 parent d190409 commit a4e5130

File tree

14 files changed

+96
-45
lines changed

14 files changed

+96
-45
lines changed

Cargo.lock.msrv

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

examples/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ uuid = { version = "1.0", features = ["v1"] }
2828
tower = "0.4"
2929
stats_alloc = "0.1"
3030
clap = { version = "3.2.4", features = ["derive"] }
31-
rand = "0.8.5"
31+
rand = "0.9.0"
3232
env_logger = "0.10"
3333

3434
[[example]]

examples/custom_load_balancing_policy.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
use anyhow::Result;
2-
use rand::thread_rng;
2+
use rand::rng;
33
use rand::Rng;
44
use scylla::client::execution_profile::ExecutionProfile;
55
use scylla::client::session::Session;
@@ -23,7 +23,7 @@ fn with_random_shard(node: NodeRef) -> (NodeRef, Option<Shard>) {
2323
.sharder()
2424
.map(|sharder| sharder.nr_shards.get())
2525
.unwrap_or(1);
26-
(node, Some(thread_rng().gen_range(0..nr_shards) as Shard))
26+
(node, Some(rng().random_range(0..nr_shards) as Shard))
2727
}
2828

2929
impl LoadBalancingPolicy for CustomLoadBalancingPolicy {

scylla-proxy/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ bigdecimal = "0.4"
3333
num-bigint = "0.3"
3434
tracing = "0.1.25"
3535
chrono = { version = "0.4", default-features = false }
36-
rand = "0.8.5"
36+
rand = "0.9.0"
3737

3838
[dev-dependencies]
3939
assert_matches = "1.5.0"

scylla-proxy/src/actions.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ impl Condition {
105105
})
106106
.unwrap_or(false),
107107
Condition::RandomWithProbability(probability) => {
108-
rand::thread_rng().gen_bool(*probability)
108+
rand::rng().random_bool(*probability)
109109
}
110110

111111
Condition::TrueForLimitedTimes(times) => {
@@ -592,7 +592,7 @@ impl ResponseForger {
592592
|| example_db_errors::other(2137),
593593
];
594594
RequestReaction::forge_with_error_lazy_delay(
595-
Box::new(|| ERRORS[rand::thread_rng().next_u32() as usize % ERRORS.len()]()),
595+
Box::new(|| ERRORS[rand::rng().next_u32() as usize % ERRORS.len()]()),
596596
delay,
597597
)
598598
}

scylla-proxy/src/proxy.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1315,7 +1315,7 @@ mod tests {
13151315
fn random_body() -> Bytes {
13161316
let body_len = (rand::random::<u32>() % 1000) as usize;
13171317
let mut body = BytesMut::zeroed(body_len);
1318-
rand::thread_rng().fill_bytes(body.as_mut());
1318+
rand::rng().fill_bytes(body.as_mut());
13191319
body.freeze()
13201320
}
13211321

scylla/Cargo.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ tokio = { version = "1.34", features = [
5858
] }
5959
snap = "1.0"
6060
uuid = { version = "1.0", features = ["v4"] }
61-
rand = "0.8.3"
61+
rand = "0.9.0"
6262
thiserror = "2.0.6"
6363
itertools = "0.13.0"
6464
tracing = "0.1.36"
@@ -74,7 +74,7 @@ serde = { version = "1.0", features = ["derive"], optional = true }
7474
serde_yaml = { version = "0.9.14", optional = true }
7575
url = { version = "2.3.1", optional = true }
7676
base64 = { version = "0.22.1", optional = true }
77-
rand_pcg = "0.3.1"
77+
rand_pcg = "0.9.0"
7878
socket2 = { version = "0.5.3", features = ["all"] }
7979
lazy_static = "1"
8080

@@ -88,7 +88,7 @@ criterion = "0.4" # Note: v
8888
tokio = { version = "1.34", features = ["test-util"] }
8989
tracing-subscriber = { version = "0.3.14", features = ["env-filter"] }
9090
assert_matches = "1.5.0"
91-
rand_chacha = "0.3.1"
91+
rand_chacha = "0.9.0"
9292
time = "0.3"
9393

9494
[[bench]]

scylla/src/cluster/metadata.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@ use crate::utils::pretty::{CommaSeparatedDisplayer, DisplayUsingDebug};
3333
use futures::future::{self, FutureExt};
3434
use futures::stream::{self, StreamExt, TryStreamExt};
3535
use futures::Stream;
36-
use rand::seq::SliceRandom;
37-
use rand::{thread_rng, Rng};
36+
use rand::seq::{IndexedRandom, SliceRandom};
37+
use rand::{rng, Rng};
3838
use scylla_macros::DeserializeRow;
3939
use std::borrow::BorrowMut;
4040
use std::cell::Cell;
@@ -416,7 +416,7 @@ impl MetadataReader {
416416

417417
let control_connection_endpoint = UntranslatedEndpoint::ContactPoint(
418418
initial_peers
419-
.choose(&mut thread_rng())
419+
.choose(&mut rng())
420420
.expect("Tried to initialize MetadataReader with empty initial_known_nodes list!")
421421
.clone(),
422422
);
@@ -469,7 +469,7 @@ impl MetadataReader {
469469
// Therefore, we try to fetch metadata from other known peers, in order.
470470

471471
// shuffle known_peers to iterate through them in random order later
472-
self.known_peers.shuffle(&mut thread_rng());
472+
self.known_peers.shuffle(&mut rng());
473473
debug!(
474474
"Known peers: {}",
475475
CommaSeparatedDisplayer(self.known_peers.iter().map(DisplayUsingDebug))
@@ -641,7 +641,7 @@ impl MetadataReader {
641641
if !self.known_peers.is_empty() {
642642
self.control_connection_endpoint = self
643643
.known_peers
644-
.choose(&mut thread_rng())
644+
.choose(&mut rng())
645645
.expect("known_peers is empty - should be impossible")
646646
.clone();
647647

@@ -856,7 +856,7 @@ async fn create_peer_from_row(
856856
// Also, we could implement support for Cassandra's other standard partitioners
857857
// like RandomPartitioner or ByteOrderedPartitioner.
858858
trace!("Couldn't parse tokens as 64-bit integers: {}, proceeding with a dummy token. If you're using a partitioner with different token size, consider migrating to murmur3", e);
859-
vec![Token::new(rand::thread_rng().gen::<i64>())]
859+
vec![Token::new(rand::rng().random::<i64>())]
860860
}
861861
};
862862

scylla/src/network/connection_pool.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -284,7 +284,7 @@ impl NodeConnectionPool {
284284
sharder,
285285
connections,
286286
} => {
287-
let shard: u16 = rand::thread_rng().gen_range(0..sharder.nr_shards.get());
287+
let shard: u16 = rand::rng().random_range(0..sharder.nr_shards.get());
288288
Self::connection_for_shard_helper(shard, sharder.nr_shards, connections.as_slice())
289289
}
290290
})
@@ -308,7 +308,7 @@ impl NodeConnectionPool {
308308

309309
let orig_shard = shard;
310310
while !shards_to_try.is_empty() {
311-
let idx = rand::thread_rng().gen_range(0..shards_to_try.len());
311+
let idx = rand::rng().random_range(0..shards_to_try.len());
312312
let shard = shards_to_try.swap_remove(idx);
313313

314314
if let Some(conn) =
@@ -381,7 +381,7 @@ impl NodeConnectionPool {
381381
} else if v.len() == 1 {
382382
Some(v[0].clone())
383383
} else {
384-
let idx = rand::thread_rng().gen_range(0..v.len());
384+
let idx = rand::rng().random_range(0..v.len());
385385
Some(v[idx].clone())
386386
}
387387
}

scylla/src/policies/load_balancing/default.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ use crate::{
1111
routing::{Shard, Token},
1212
};
1313
use itertools::{Either, Itertools};
14-
use rand::{prelude::SliceRandom, thread_rng, Rng};
14+
use rand::{prelude::SliceRandom, rng, Rng};
1515
use rand_pcg::Pcg32;
1616
use scylla_cql::frame::response::result::TableSpec;
1717
use scylla_cql::frame::types::SerialConsistency;
@@ -815,7 +815,7 @@ impl DefaultPolicy {
815815
let mut gen = Pcg32::new(fixed, 0);
816816
replica_set.choose_filtered(&mut gen, |(node, shard)| predicate(node, *shard))
817817
} else {
818-
replica_set.choose_filtered(&mut thread_rng(), |(node, shard)| predicate(node, *shard))
818+
replica_set.choose_filtered(&mut rng(), |(node, shard)| predicate(node, *shard))
819819
}
820820
}
821821

@@ -853,7 +853,7 @@ impl DefaultPolicy {
853853
// Create a randomly rotated slice view
854854
let nodes_len = nodes.len();
855855
if nodes_len > 0 {
856-
let index = rand::thread_rng().gen_range(0..nodes_len); // gen_range() panics when range is empty!
856+
let index = rng().random_range(0..nodes_len); // gen_range() panics when range is empty!
857857
Either::Left(
858858
nodes[index..]
859859
.iter()
@@ -896,7 +896,7 @@ impl DefaultPolicy {
896896
let mut gen = Pcg32::new(fixed, 0);
897897
vec.shuffle(&mut gen);
898898
} else {
899-
vec.shuffle(&mut thread_rng());
899+
vec.shuffle(&mut rng());
900900
}
901901

902902
vec.into_iter()

0 commit comments

Comments
 (0)