Skip to content

Commit b271792

Browse files
author
Henrik Gustafsson
committed
Fix usage of deprecated parts of rand
1 parent 48360de commit b271792

File tree

10 files changed

+24
-24
lines changed

10 files changed

+24
-24
lines changed

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/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/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()

scylla/src/policies/load_balancing/plan.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use rand::{thread_rng, Rng};
1+
use rand::{rng, Rng};
22
use tracing::error;
33

44
use super::{FallbackPlan, LoadBalancingPolicy, NodeRef, RoutingInfo};
@@ -98,7 +98,7 @@ impl<'a> Plan<'a> {
9898
.sharder()
9999
.map(|sharder| sharder.nr_shards.get())
100100
.unwrap_or(1);
101-
thread_rng().gen_range(0..nr_shards).into()
101+
rng().random_range(0..nr_shards).into()
102102
}),
103103
)
104104
}

scylla/src/routing/locator/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -364,7 +364,7 @@ impl<'a> ReplicaSet<'a> {
364364
{
365365
let len = self.len();
366366
if len > 0 {
367-
let index = rng.gen_range(0..len);
367+
let index = rng.random_range(0..len);
368368

369369
match &self.inner {
370370
ReplicaSetInner::Plain(replicas) => replicas

scylla/src/routing/partitioner.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -433,7 +433,7 @@ mod tests {
433433
partitioner.write(data);
434434
} else {
435435
let pivot = if !data.is_empty() {
436-
randgen.gen_range(0..data.len())
436+
randgen.random_range(0..data.len())
437437
} else {
438438
0
439439
};

scylla/src/routing/sharding.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,8 +66,8 @@ impl Sharder {
6666
/// Randomly choose a source port `p` such that `shard == shard_of_source_port(p)`.
6767
pub fn draw_source_port_for_shard(&self, shard: Shard) -> u16 {
6868
assert!(shard < self.nr_shards.get() as u32);
69-
rand::thread_rng()
70-
.gen_range((49152 + self.nr_shards.get() - 1)..(65535 - self.nr_shards.get() + 1))
69+
rand::rng()
70+
.random_range((49152 + self.nr_shards.get() - 1)..(65535 - self.nr_shards.get() + 1))
7171
/ self.nr_shards.get()
7272
* self.nr_shards.get()
7373
+ shard as u16

0 commit comments

Comments
 (0)