This is an automated email from the ASF dual-hosted git repository.
Jefffrey pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/arrow-rs.git
The following commit(s) were added to refs/heads/main by this push:
new 013263d806 chore: bump more rand deps to 0.10 (#10556)
013263d806 is described below
commit 013263d80603a0b7d33f579befe10b233a4b4446
Author: Jeffrey Vo <[email protected]>
AuthorDate: Thu Aug 6 08:43:22 2026 +0900
chore: bump more rand deps to 0.10 (#10556)
- Followup to https://github.com/apache/arrow-rs/pull/10537
- Part of https://github.com/apache/arrow-rs/pull/10562
---
Cargo.lock | 10 +--
arrow-avro/Cargo.toml | 4 +-
arrow-avro/benches/avro_writer.rs | 2 +-
arrow-avro/benches/project_record.rs | 2 +-
arrow-avro/src/writer/format.rs | 2 +-
arrow-row/Cargo.toml | 2 +-
arrow-row/src/lib.rs | 93 ++++++++--------------
parquet-variant-compute/Cargo.toml | 3 +-
parquet-variant-compute/benches/variant_kernels.rs | 9 +--
parquet-variant/Cargo.toml | 2 +-
parquet-variant/benches/variant_builder.rs | 2 +-
parquet-variant/tests/variant_interop.rs | 2 +-
parquet/Cargo.toml | 2 +-
parquet/benches/arrow_reader.rs | 2 +-
parquet/benches/arrow_reader_peak_memory.rs | 2 +-
parquet/benches/arrow_reader_row_filter.rs | 2 +-
parquet/benches/arrow_writer.rs | 2 +-
parquet/benches/bloom_filter.rs | 2 +-
parquet/benches/metadata.rs | 6 +-
parquet/benches/parquet_round_trip.rs | 2 +-
parquet/benches/row_selection_cursor.rs | 2 +-
parquet/benches/row_selector.rs | 2 +-
parquet/benches/row_selector_boolean_buffer.rs | 2 +-
parquet/src/arrow/arrow_reader/mod.rs | 2 +-
parquet/src/arrow/arrow_reader/read_plan.rs | 2 +-
.../src/arrow/arrow_reader/selection/algebra.rs | 2 +-
.../src/arrow/arrow_reader/selection/boolean.rs | 2 +-
parquet/src/arrow/async_reader/mod.rs | 2 +-
.../src/arrow/record_reader/definition_levels.rs | 2 +-
parquet/src/encodings/rle.rs | 2 +-
parquet/src/util/test_common/rand_gen.rs | 2 +-
31 files changed, 72 insertions(+), 103 deletions(-)
diff --git a/Cargo.lock b/Cargo.lock
index f2d3786d3a..ee741323d0 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -254,7 +254,7 @@ dependencies = [
"num-bigint 0.5.1",
"object_store",
"once_cell",
- "rand 0.9.5",
+ "rand 0.10.2",
"serde",
"serde_json",
"sha2",
@@ -500,7 +500,7 @@ dependencies = [
"arrow-schema",
"arrow-select",
"half",
- "rand 0.9.5",
+ "rand 0.10.2",
]
[[package]]
@@ -2445,7 +2445,7 @@ dependencies = [
"parquet-variant",
"parquet-variant-compute",
"parquet-variant-json",
- "rand 0.9.5",
+ "rand 0.10.2",
"ring",
"seq-macro",
"serde",
@@ -2482,7 +2482,7 @@ dependencies = [
"half",
"indexmap",
"num-traits",
- "rand 0.9.5",
+ "rand 0.10.2",
"simdutf8",
"uuid",
]
@@ -2499,7 +2499,7 @@ dependencies = [
"indexmap",
"parquet-variant",
"parquet-variant-json",
- "rand 0.9.5",
+ "rand 0.10.2",
"serde_json",
"uuid",
]
diff --git a/arrow-avro/Cargo.toml b/arrow-avro/Cargo.toml
index ce210cf0e3..5974743b97 100644
--- a/arrow-avro/Cargo.toml
+++ b/arrow-avro/Cargo.toml
@@ -76,7 +76,7 @@ crc = { version = "3.0", optional = true }
strum_macros = "0.28"
uuid = "1.17"
indexmap = "2.10"
-rand = "0.9"
+rand = "0.10"
md5 = { version = "0.8", optional = true }
sha2 = { version = "0.11", optional = true }
tokio = { version = "1.0", optional = true, default-features = false, features
= ["macros", "rt", "io-util"] }
@@ -84,7 +84,7 @@ tokio = { version = "1.0", optional = true, default-features
= false, features =
[dev-dependencies]
arrow-data = { workspace = true }
bytes = { version = "1.11.0", default-features = false, features = ["std"] }
-rand = { version = "0.9.1", default-features = false, features = [
+rand = { version = "0.10.1", default-features = false, features = [
"std",
"std_rng",
"thread_rng",
diff --git a/arrow-avro/benches/avro_writer.rs
b/arrow-avro/benches/avro_writer.rs
index 6ac4e81af2..397bbce34a 100644
--- a/arrow-avro/benches/avro_writer.rs
+++ b/arrow-avro/benches/avro_writer.rs
@@ -31,7 +31,7 @@ use arrow_schema::{DataType, Field, IntervalUnit, Schema,
TimeUnit, UnionFields,
use criterion::{BatchSize, BenchmarkId, Criterion, Throughput,
criterion_group, criterion_main};
use once_cell::sync::Lazy;
use rand::{
- Rng, SeedableRng,
+ RngExt, SeedableRng,
distr::uniform::{SampleRange, SampleUniform},
rngs::StdRng,
};
diff --git a/arrow-avro/benches/project_record.rs
b/arrow-avro/benches/project_record.rs
index 91bece6d7e..2a982822d8 100644
--- a/arrow-avro/benches/project_record.rs
+++ b/arrow-avro/benches/project_record.rs
@@ -23,8 +23,8 @@ use arrow_avro::schema::{
};
use criterion::{BatchSize, BenchmarkId, Criterion, Throughput};
use criterion::{criterion_group, criterion_main};
-use rand::Rng;
use rand::rngs::ThreadRng;
+use rand::{Rng, RngExt};
use std::hint::black_box;
const BATCH_SIZE: usize = 8192;
diff --git a/arrow-avro/src/writer/format.rs b/arrow-avro/src/writer/format.rs
index c969651f16..19cd9166da 100644
--- a/arrow-avro/src/writer/format.rs
+++ b/arrow-avro/src/writer/format.rs
@@ -22,7 +22,7 @@ use crate::errors::AvroError;
use crate::schema::{AvroSchema, AvroSchemaOptions, SCHEMA_METADATA_KEY};
use crate::writer::encoder::write_long;
use arrow_schema::Schema;
-use rand::RngCore;
+use rand::Rng;
use std::fmt::Debug;
use std::io::Write;
diff --git a/arrow-row/Cargo.toml b/arrow-row/Cargo.toml
index 990ae90371..a996300961 100644
--- a/arrow-row/Cargo.toml
+++ b/arrow-row/Cargo.toml
@@ -47,7 +47,7 @@ half = { version = "2.1", default-features = false }
arrow-cast = { workspace = true }
arrow-ord = { workspace = true }
arrow-select = { workspace = true }
-rand = { version = "0.9", default-features = false, features = ["std",
"std_rng", "thread_rng"] }
+rand = { version = "0.10", default-features = false, features = ["std",
"std_rng", "thread_rng"] }
[lints]
workspace = true
diff --git a/arrow-row/src/lib.rs b/arrow-row/src/lib.rs
index a48f6a7bc7..0dfdaf14ca 100644
--- a/arrow-row/src/lib.rs
+++ b/arrow-row/src/lib.rs
@@ -2434,7 +2434,7 @@ mod tests {
use rand::distr::uniform::SampleUniform;
use rand::distr::{Distribution, StandardUniform};
use rand::prelude::StdRng;
- use rand::{Rng, RngCore, SeedableRng};
+ use rand::{RngExt, SeedableRng};
use super::*;
@@ -4583,7 +4583,7 @@ mod tests {
}
fn generate_primitive_array<K>(
- rng: &mut impl RngCore,
+ rng: &mut StdRng,
len: usize,
valid_percent: f64,
) -> PrimitiveArray<K>
@@ -4596,10 +4596,7 @@ mod tests {
.collect()
}
- fn generate_all_unique_primitive_array<K>(
- rng: &mut impl RngCore,
- len: usize,
- ) -> PrimitiveArray<K>
+ fn generate_all_unique_primitive_array<K>(rng: &mut StdRng, len: usize) ->
PrimitiveArray<K>
where
K: ArrowPrimitiveType,
K::Native: Hash + Eq,
@@ -4628,18 +4625,14 @@ mod tests {
.collect()
}
- fn generate_boolean_array(
- rng: &mut impl RngCore,
- len: usize,
- valid_percent: f64,
- ) -> BooleanArray {
+ fn generate_boolean_array(rng: &mut StdRng, len: usize, valid_percent:
f64) -> BooleanArray {
(0..len)
.map(|_| rng.random_bool(valid_percent).then(||
rng.random_bool(0.5)))
.collect()
}
fn generate_strings<O: OffsetSizeTrait>(
- rng: &mut impl RngCore,
+ rng: &mut StdRng,
len: usize,
valid_percent: f64,
) -> GenericStringArray<O> {
@@ -4654,11 +4647,7 @@ mod tests {
.collect()
}
- fn generate_string_view(
- rng: &mut impl RngCore,
- len: usize,
- valid_percent: f64,
- ) -> StringViewArray {
+ fn generate_string_view(rng: &mut StdRng, len: usize, valid_percent: f64)
-> StringViewArray {
(0..len)
.map(|_| {
rng.random_bool(valid_percent).then(|| {
@@ -4670,11 +4659,7 @@ mod tests {
.collect()
}
- fn generate_byte_view(
- rng: &mut impl RngCore,
- len: usize,
- valid_percent: f64,
- ) -> BinaryViewArray {
+ fn generate_byte_view(rng: &mut StdRng, len: usize, valid_percent: f64) ->
BinaryViewArray {
(0..len)
.map(|_| {
rng.random_bool(valid_percent).then(|| {
@@ -4715,7 +4700,7 @@ mod tests {
}
fn generate_dictionary<K>(
- rng: &mut impl RngCore,
+ rng: &mut StdRng,
values: ArrayRef,
len: usize,
valid_percent: f64,
@@ -4748,7 +4733,7 @@ mod tests {
}
fn generate_fixed_size_binary(
- rng: &mut impl RngCore,
+ rng: &mut StdRng,
len: usize,
valid_percent: f64,
) -> FixedSizeBinaryArray {
@@ -4769,7 +4754,7 @@ mod tests {
builder.finish()
}
- fn generate_struct(rng: &mut impl RngCore, len: usize, valid_percent: f64)
-> StructArray {
+ fn generate_struct(rng: &mut StdRng, len: usize, valid_percent: f64) ->
StructArray {
let nulls = NullBuffer::from_iter((0..len).map(|_|
rng.random_bool(valid_percent)));
let a = generate_primitive_array::<Int32Type>(rng, len, valid_percent);
let b = generate_strings::<i32>(rng, len, valid_percent);
@@ -4781,14 +4766,9 @@ mod tests {
StructArray::new(fields, values, Some(nulls))
}
- fn generate_list<R: RngCore, F>(
- rng: &mut R,
- len: usize,
- valid_percent: f64,
- values: F,
- ) -> ListArray
+ fn generate_list<F>(rng: &mut StdRng, len: usize, valid_percent: f64,
values: F) -> ListArray
where
- F: FnOnce(&mut R, usize) -> ArrayRef,
+ F: FnOnce(&mut StdRng, usize) -> ArrayRef,
{
let offsets = OffsetBuffer::<i32>::from_lengths((0..len).map(|_|
rng.random_range(0..10)));
let values_len = offsets.last().unwrap().to_usize().unwrap();
@@ -4799,18 +4779,18 @@ mod tests {
}
fn generate_list_view<F>(
- rng: &mut impl RngCore,
+ rng: &mut StdRng,
len: usize,
valid_percent: f64,
values: F,
) -> ListViewArray
where
- F: FnOnce(usize) -> ArrayRef,
+ F: FnOnce(&mut StdRng, usize) -> ArrayRef,
{
// Generate sizes first, then create a values array large enough
let sizes: Vec<i32> = (0..len).map(|_|
rng.random_range(0..10)).collect();
let values_len: usize = sizes.iter().map(|s| *s as
usize).sum::<usize>().max(1);
- let values = values(values_len);
+ let values = values(rng, values_len);
// Generate offsets that can overlap, be non-monotonic, or share ranges
let offsets: Vec<i32> = sizes
@@ -4835,16 +4815,16 @@ mod tests {
)
}
- fn generate_map<R: RngCore, KeysFn, ValuesFn>(
- rng: &mut R,
+ fn generate_map<KeysFn, ValuesFn>(
+ rng: &mut StdRng,
len: usize,
valid_percent: f64,
gen_keys: KeysFn,
gen_values: ValuesFn,
) -> MapArray
where
- KeysFn: FnOnce(&mut R, usize) -> ArrayRef,
- ValuesFn: FnOnce(&mut R, usize) -> ArrayRef,
+ KeysFn: FnOnce(&mut StdRng, usize) -> ArrayRef,
+ ValuesFn: FnOnce(&mut StdRng, usize) -> ArrayRef,
{
let offsets = OffsetBuffer::<i32>::from_lengths((0..len).map(|_|
rng.random_range(0..10)));
let entries_len = offsets.last().unwrap().to_usize().unwrap();
@@ -4913,7 +4893,7 @@ mod tests {
})
}
- fn generate_nulls(rng: &mut impl RngCore, len: usize) ->
Option<NullBuffer> {
+ fn generate_nulls(rng: &mut StdRng, len: usize) -> Option<NullBuffer> {
Some(NullBuffer::from_iter(
(0..len).map(|_| rng.random_bool(0.8)),
))
@@ -5099,7 +5079,7 @@ mod tests {
)
}
- fn generate_column(rng: &mut (impl RngCore + Clone), len: usize) ->
ArrayRef {
+ fn generate_column(rng: &mut StdRng, len: usize) -> ArrayRef {
match rng.random_range(0..24) {
0 => Arc::new(generate_primitive_array::<Int32Type>(rng, len,
0.8)),
1 => Arc::new(generate_primitive_array::<UInt32Type>(rng, len,
0.8)),
@@ -5139,32 +5119,23 @@ mod tests {
15 => Arc::new(generate_byte_view(rng, len, 0.8)),
16 => Arc::new(generate_fixed_stringview_column(len)),
17 => Arc::new(
- generate_list(&mut rng.clone(), len + 1000, 0.8, |rng,
values_len| {
+ generate_list(rng, len + 1000, 0.8, |rng, values_len| {
Arc::new(generate_primitive_array::<Int64Type>(rng,
values_len, 0.8))
})
.slice(500, len),
),
18 => Arc::new(generate_boolean_array(rng, len, 0.8)),
- 19 => Arc::new(generate_list_view(
- &mut rng.clone(),
- len,
- 0.8,
- |values_len|
Arc::new(generate_primitive_array::<Int64Type>(rng, values_len, 0.8)),
- )),
- 20 => Arc::new(generate_list_view(
- &mut rng.clone(),
- len,
- 0.8,
- |values_len| Arc::new(generate_strings::<i32>(rng, values_len,
0.8)),
- )),
- 21 => Arc::new(generate_list_view(
- &mut rng.clone(),
- len,
- 0.8,
- |values_len| Arc::new(generate_struct(rng, values_len, 0.8)),
- )),
+ 19 => Arc::new(generate_list_view(rng, len, 0.8, |rng, values_len|
{
+ Arc::new(generate_primitive_array::<Int64Type>(rng,
values_len, 0.8))
+ })),
+ 20 => Arc::new(generate_list_view(rng, len, 0.8, |rng, values_len|
{
+ Arc::new(generate_strings::<i32>(rng, values_len, 0.8))
+ })),
+ 21 => Arc::new(generate_list_view(rng, len, 0.8, |rng, values_len|
{
+ Arc::new(generate_struct(rng, values_len, 0.8))
+ })),
22 => Arc::new(
- generate_list_view(&mut rng.clone(), len + 1000, 0.8,
|values_len| {
+ generate_list_view(rng, len + 1000, 0.8, |rng, values_len| {
Arc::new(generate_primitive_array::<Int64Type>(rng,
values_len, 0.8))
})
.slice(500, len),
diff --git a/parquet-variant-compute/Cargo.toml
b/parquet-variant-compute/Cargo.toml
index 7b58fae5a2..0412beb1f4 100644
--- a/parquet-variant-compute/Cargo.toml
+++ b/parquet-variant-compute/Cargo.toml
@@ -47,9 +47,8 @@ name = "parquet_variant_compute"
bench = false
[dev-dependencies]
-rand = "0.9.1"
+rand = "0.10.1"
criterion = { workspace = true, default-features = false }
-arrow = { workspace = true, features = ["test_utils"] }
[[bench]]
name = "variant_kernels"
diff --git a/parquet-variant-compute/benches/variant_kernels.rs
b/parquet-variant-compute/benches/variant_kernels.rs
index 59c8c77a95..8ecf5bf44e 100644
--- a/parquet-variant-compute/benches/variant_kernels.rs
+++ b/parquet-variant-compute/benches/variant_kernels.rs
@@ -17,7 +17,6 @@
use arrow::array::{Array, ArrayRef, BinaryViewArray, BinaryViewBuilder,
StringArray, StructArray};
use arrow::buffer::Buffer;
-use arrow::util::test_util::seedable_rng;
use arrow_schema::{DataType, Field, FieldRef, Fields};
use criterion::{Criterion, criterion_group, criterion_main};
use parquet_variant::{EMPTY_VARIANT_METADATA_BYTES, Variant, VariantBuilder,
VariantPath};
@@ -25,7 +24,7 @@ use parquet_variant_compute::{
GetOptions, VariantArray, VariantArrayBuilder, json_to_variant,
variant_get,
};
use parquet_variant_json::append_json;
-use rand::Rng;
+use rand::RngExt;
use rand::SeedableRng;
use rand::distr::Alphanumeric;
use rand::rngs::StdRng;
@@ -285,7 +284,7 @@ fn create_unshredded_object_variant_array(size: usize) ->
VariantArray {
/// }
/// ```
fn json_repeated_struct(count: usize) -> impl Iterator<Item = String> {
- let mut rng = seedable_rng();
+ let mut rng = StdRng::seed_from_u64(42);
(0..count).map(move |_| {
let first: String = (0..rng.random_range(1..=20))
.map(|_| rng.sample(Alphanumeric) as char)
@@ -309,7 +308,7 @@ fn json_repeated_struct(count: usize) -> impl Iterator<Item
= String> {
/// [1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0],
/// ```
fn json_repeated_list(count: usize) -> impl Iterator<Item = String> {
- let mut rng = seedable_rng();
+ let mut rng = StdRng::seed_from_u64(42);
(0..count).map(move |_| {
let length = rng.random_range(0..=100);
let mut output = String::new();
@@ -395,7 +394,7 @@ struct RandomJsonGenerator {
impl Default for RandomJsonGenerator {
fn default() -> Self {
- let rng = seedable_rng();
+ let rng = StdRng::seed_from_u64(42);
Self {
rng,
null_weight: 0,
diff --git a/parquet-variant/Cargo.toml b/parquet-variant/Cargo.toml
index ceb4cf2e5e..6b71cc177c 100644
--- a/parquet-variant/Cargo.toml
+++ b/parquet-variant/Cargo.toml
@@ -48,7 +48,7 @@ bench = false
[dev-dependencies]
criterion = { workspace = true, default-features = false }
-rand = { version = "0.9", default-features = false, features = [
+rand = { version = "0.10", default-features = false, features = [
"std",
"std_rng",
"thread_rng",
diff --git a/parquet-variant/benches/variant_builder.rs
b/parquet-variant/benches/variant_builder.rs
index 6bfdb5298b..9dbf843586 100644
--- a/parquet-variant/benches/variant_builder.rs
+++ b/parquet-variant/benches/variant_builder.rs
@@ -19,7 +19,7 @@ use criterion::*;
use parquet_variant::{Variant, VariantBuilder};
use rand::{
- Rng, SeedableRng,
+ RngExt, SeedableRng,
distr::{Alphanumeric, uniform::SampleUniform},
rngs::StdRng,
};
diff --git a/parquet-variant/tests/variant_interop.rs
b/parquet-variant/tests/variant_interop.rs
index 26efcd0dc9..ac114561bd 100644
--- a/parquet-variant/tests/variant_interop.rs
+++ b/parquet-variant/tests/variant_interop.rs
@@ -27,7 +27,7 @@ use parquet_variant::{
};
use rand::rngs::StdRng;
-use rand::{Rng, SeedableRng};
+use rand::{RngExt, SeedableRng};
use uuid::Uuid;
/// Returns a directory path for the parquet variant test data.
diff --git a/parquet/Cargo.toml b/parquet/Cargo.toml
index 662bb2b422..2c8233d2db 100644
--- a/parquet/Cargo.toml
+++ b/parquet/Cargo.toml
@@ -90,7 +90,7 @@ serde_json = { version = "1.0", features = ["std"],
default-features = false }
arrow = { workspace = true, features = ["ipc", "test_utils", "prettyprint",
"json"] }
arrow-cast = { workspace = true }
tokio = { version = "1.0", default-features = false, features = ["macros",
"rt-multi-thread", "io-util", "fs", "sync"] }
-rand = { version = "0.9", default-features = false, features = ["std",
"std_rng", "thread_rng"] }
+rand = { version = "0.10", default-features = false, features = ["std",
"std_rng", "thread_rng"] }
object_store = { workspace = true, features = ["azure", "fs"] }
sysinfo = { version = "0.39.6", default-features = false, features =
["system"] }
diff --git a/parquet/benches/arrow_reader.rs b/parquet/benches/arrow_reader.rs
index 6e91a04f4e..2fad9d5c9e 100644
--- a/parquet/benches/arrow_reader.rs
+++ b/parquet/benches/arrow_reader.rs
@@ -39,7 +39,7 @@ use parquet::{
schema::types::{ColumnDescPtr, SchemaDescPtr},
};
use rand::distr::uniform::SampleUniform;
-use rand::{Rng, SeedableRng, rngs::StdRng};
+use rand::{RngExt, SeedableRng, rngs::StdRng};
use std::{collections::VecDeque, sync::Arc};
fn build_test_schema() -> SchemaDescPtr {
diff --git a/parquet/benches/arrow_reader_peak_memory.rs
b/parquet/benches/arrow_reader_peak_memory.rs
index 2a717ec4a1..4d5fda1fe8 100644
--- a/parquet/benches/arrow_reader_peak_memory.rs
+++ b/parquet/benches/arrow_reader_peak_memory.rs
@@ -39,7 +39,7 @@ use parquet::data_type::{ByteArrayType, DoubleType,
FixedLenByteArrayType, Int32
use parquet::schema::parser::parse_message_type;
use parquet::schema::types::{ColumnDescPtr, SchemaDescriptor};
use parquet::util::{DataPageBuilder, DataPageBuilderImpl,
InMemoryPageIterator};
-use rand::{Rng, SeedableRng, rngs::StdRng};
+use rand::{RngExt, SeedableRng, rngs::StdRng};
// ---------------------------------------------------------------------------
// Thread-local tracking allocator
diff --git a/parquet/benches/arrow_reader_row_filter.rs
b/parquet/benches/arrow_reader_row_filter.rs
index 2b5a09eebc..85e75e5a7c 100644
--- a/parquet/benches/arrow_reader_row_filter.rs
+++ b/parquet/benches/arrow_reader_row_filter.rs
@@ -72,7 +72,7 @@ use parquet::arrow::{ArrowWriter,
ParquetRecordBatchStreamBuilder, ProjectionMas
use parquet::basic::Compression;
use parquet::file::metadata::{PageIndexPolicy, ParquetMetaData,
ParquetMetaDataReader};
use parquet::file::properties::WriterProperties;
-use rand::{Rng, SeedableRng, rngs::StdRng};
+use rand::{RngExt, SeedableRng, rngs::StdRng};
use std::ops::Range;
use std::sync::Arc;
diff --git a/parquet/benches/arrow_writer.rs b/parquet/benches/arrow_writer.rs
index cad8cf163e..93c9b8ebdc 100644
--- a/parquet/benches/arrow_writer.rs
+++ b/parquet/benches/arrow_writer.rs
@@ -22,7 +22,7 @@ use arrow_array::builder::StringDictionaryBuilder;
use criterion::{Bencher, Criterion, Throughput};
use parquet::arrow::ArrowWriter;
use parquet::basic::{Compression, Encoding, ZstdLevel};
-use rand::{Rng, distr::Alphanumeric};
+use rand::{RngExt, distr::Alphanumeric};
use std::hint::black_box;
use std::io::Empty;
diff --git a/parquet/benches/bloom_filter.rs b/parquet/benches/bloom_filter.rs
index cb2bfb6b4a..4588b93526 100644
--- a/parquet/benches/bloom_filter.rs
+++ b/parquet/benches/bloom_filter.rs
@@ -20,7 +20,7 @@ use std::hint;
use criterion::{BatchSize, BenchmarkId, Criterion, Throughput,
criterion_group, criterion_main};
use parquet::bloom_filter::Sbbf;
use rand::rngs::StdRng;
-use rand::{Rng, SeedableRng};
+use rand::{RngExt, SeedableRng};
/// Build a bloom filter sized for `initial_ndv` at `fpp`, insert `num_values`
distinct values,
/// and return it ready for folding.
diff --git a/parquet/benches/metadata.rs b/parquet/benches/metadata.rs
index 8bbc017f71..eaa36a9f80 100644
--- a/parquet/benches/metadata.rs
+++ b/parquet/benches/metadata.rs
@@ -31,19 +31,19 @@ use parquet::schema::parser::parse_message_type;
use parquet::schema::types::{
ColumnDescPtr, ColumnDescriptor, ColumnPath, SchemaDescriptor, Type as
SchemaType,
};
-use rand::Rng;
+use rand::{RngExt, SeedableRng};
-use arrow::util::test_util::seedable_rng;
use bytes::Bytes;
use criterion::{Criterion, criterion_group, criterion_main};
use parquet::file::reader::SerializedFileReader;
use parquet::file::serialized_reader::ReadOptionsBuilder;
+use rand::rngs::StdRng;
const NUM_COLUMNS: usize = 10_000;
const NUM_ROW_GROUPS: usize = 10;
fn encoded_meta(is_nullable: bool, has_lists: bool, write_path_in_schema:
bool) -> Vec<u8> {
- let mut rng = seedable_rng();
+ let mut rng = StdRng::seed_from_u64(42);
let mut column_desc_ptrs: Vec<ColumnDescPtr> =
Vec::with_capacity(NUM_COLUMNS);
let mut message_type = "message test_schema {".to_string();
diff --git a/parquet/benches/parquet_round_trip.rs
b/parquet/benches/parquet_round_trip.rs
index 7f46b02b78..825b32ea95 100644
--- a/parquet/benches/parquet_round_trip.rs
+++ b/parquet/benches/parquet_round_trip.rs
@@ -29,7 +29,7 @@ use
parquet::arrow::arrow_reader::ParquetRecordBatchReaderBuilder;
use parquet::basic::Encoding;
use parquet::file::properties::WriterProperties;
use rand::{
- Rng, SeedableRng,
+ RngExt, SeedableRng,
distr::{Alphanumeric, StandardUniform},
prelude::StdRng,
};
diff --git a/parquet/benches/row_selection_cursor.rs
b/parquet/benches/row_selection_cursor.rs
index a957f0b80c..8b96f0363d 100644
--- a/parquet/benches/row_selection_cursor.rs
+++ b/parquet/benches/row_selection_cursor.rs
@@ -29,7 +29,7 @@ use parquet::arrow::arrow_reader::{
ParquetRecordBatchReaderBuilder, RowSelection, RowSelectionPolicy,
RowSelector,
};
use rand::rngs::StdRng;
-use rand::{Rng, SeedableRng};
+use rand::{RngExt, SeedableRng};
const TOTAL_ROWS: usize = 1 << 20;
const BATCH_SIZE: usize = 1 << 10;
diff --git a/parquet/benches/row_selector.rs b/parquet/benches/row_selector.rs
index b2b3b55899..cb18d55563 100644
--- a/parquet/benches/row_selector.rs
+++ b/parquet/benches/row_selector.rs
@@ -19,7 +19,7 @@ use arrow_array::BooleanArray;
use arrow_buffer::BooleanBuffer;
use criterion::*;
use parquet::arrow::arrow_reader::{RowSelection, RowSelector};
-use rand::Rng;
+use rand::RngExt;
use std::hint;
/// Run lengths for the mask conversion benchmarks. Shorter runs mean more
diff --git a/parquet/benches/row_selector_boolean_buffer.rs
b/parquet/benches/row_selector_boolean_buffer.rs
index c5e1177b4d..d741453735 100644
--- a/parquet/benches/row_selector_boolean_buffer.rs
+++ b/parquet/benches/row_selector_boolean_buffer.rs
@@ -23,7 +23,7 @@ use criterion::{BenchmarkId, Criterion, criterion_group,
criterion_main};
use parquet::arrow::ArrowWriter;
use parquet::arrow::arrow_reader::{ParquetRecordBatchReaderBuilder,
RowSelection};
use rand::rngs::StdRng;
-use rand::{Rng, SeedableRng};
+use rand::{RngExt, SeedableRng};
use std::hint;
use std::sync::Arc;
diff --git a/parquet/src/arrow/arrow_reader/mod.rs
b/parquet/src/arrow/arrow_reader/mod.rs
index 29ba9a4ab3..1fba869e45 100644
--- a/parquet/src/arrow/arrow_reader/mod.rs
+++ b/parquet/src/arrow/arrow_reader/mod.rs
@@ -1695,7 +1695,7 @@ pub(crate) mod tests {
use std::sync::Arc;
use rand::rngs::StdRng;
- use rand::{Rng, RngCore, SeedableRng, random, rng};
+ use rand::{Rng, RngExt, SeedableRng, random, rng};
use tempfile::tempfile;
use crate::arrow::arrow_reader::{
diff --git a/parquet/src/arrow/arrow_reader/read_plan.rs
b/parquet/src/arrow/arrow_reader/read_plan.rs
index de2ef875ad..fb39f55d9a 100644
--- a/parquet/src/arrow/arrow_reader/read_plan.rs
+++ b/parquet/src/arrow/arrow_reader/read_plan.rs
@@ -559,7 +559,7 @@ mod tests {
#[test]
fn preferred_selection_strategy_mask_matches_selector_backing() {
- use rand::{Rng, rng};
+ use rand::{RngExt, rng};
let mut rand = rng();
for _ in 0..200 {
diff --git a/parquet/src/arrow/arrow_reader/selection/algebra.rs
b/parquet/src/arrow/arrow_reader/selection/algebra.rs
index 9c25afbd3b..ce44882858 100644
--- a/parquet/src/arrow/arrow_reader/selection/algebra.rs
+++ b/parquet/src/arrow/arrow_reader/selection/algebra.rs
@@ -397,7 +397,7 @@ fn and_then_masks(mask: &BooleanBuffer, other:
&BooleanBuffer) -> BooleanBuffer
mod tests {
use super::*;
use arrow_array::BooleanArray;
- use rand::{Rng, rng};
+ use rand::{RngExt, rng};
#[test]
fn test_and() {
diff --git a/parquet/src/arrow/arrow_reader/selection/boolean.rs
b/parquet/src/arrow/arrow_reader/selection/boolean.rs
index bf6c983d1c..990fc1b2ab 100644
--- a/parquet/src/arrow/arrow_reader/selection/boolean.rs
+++ b/parquet/src/arrow/arrow_reader/selection/boolean.rs
@@ -356,7 +356,7 @@ mod tests {
use super::*;
use crate::arrow::arrow_reader::selection::{RowSelection,
RowSelectionInner};
use arrow_array::BooleanArray;
- use rand::{Rng, rng};
+ use rand::{RngExt, rng};
#[test]
fn test_mask_iter_yields_borrowed_selectors() {
diff --git a/parquet/src/arrow/async_reader/mod.rs
b/parquet/src/arrow/async_reader/mod.rs
index 1d276df2a6..8b71ce0f1a 100644
--- a/parquet/src/arrow/async_reader/mod.rs
+++ b/parquet/src/arrow/async_reader/mod.rs
@@ -957,7 +957,7 @@ mod tests {
};
use arrow_schema::{DataType, Field, Schema};
use futures::{StreamExt, TryStreamExt};
- use rand::{Rng, rng};
+ use rand::{RngExt, rng};
use std::collections::HashMap;
use std::sync::{Arc, Mutex};
use tempfile::tempfile;
diff --git a/parquet/src/arrow/record_reader/definition_levels.rs
b/parquet/src/arrow/record_reader/definition_levels.rs
index c48c326980..37a0dd9918 100644
--- a/parquet/src/arrow/record_reader/definition_levels.rs
+++ b/parquet/src/arrow/record_reader/definition_levels.rs
@@ -491,7 +491,7 @@ mod tests {
use super::*;
use crate::encodings::rle::RleEncoder;
- use rand::{Rng, rng};
+ use rand::{RngExt, rng};
#[test]
fn test_build_validity_bitmap_unfiltered_word_chunk() {
diff --git a/parquet/src/encodings/rle.rs b/parquet/src/encodings/rle.rs
index 5de9dc850a..f4dfebe81d 100644
--- a/parquet/src/encodings/rle.rs
+++ b/parquet/src/encodings/rle.rs
@@ -643,7 +643,7 @@ mod tests {
use super::*;
use crate::util::bit_util::ceil;
- use rand::{self, Rng, SeedableRng, distr::StandardUniform, rng};
+ use rand::{self, RngExt, SeedableRng, distr::StandardUniform, rng};
const MAX_WIDTH: usize = 32;
diff --git a/parquet/src/util/test_common/rand_gen.rs
b/parquet/src/util/test_common/rand_gen.rs
index e4ab2f7a0f..635edfce0a 100644
--- a/parquet/src/util/test_common/rand_gen.rs
+++ b/parquet/src/util/test_common/rand_gen.rs
@@ -19,7 +19,7 @@ use crate::basic::Encoding;
use crate::column::page::Page;
use bytes::Bytes;
use rand::{
- Rng,
+ RngExt,
distr::{Distribution, StandardUniform, uniform::SampleUniform},
rng,
};