mirror of
https://github.com/rustfs/rustfs.git
synced 2026-08-05 21:07:43 +00:00
Upgrade rand to 0.9.1
This commit is contained in:
@@ -754,7 +754,7 @@ impl MetaCacheEntry {
|
||||
});
|
||||
}
|
||||
|
||||
let fi = fm.into_fileinfo(bucket, self.name.as_str(), "", false, false)?;
|
||||
let fi = fm.to_fileinfo(bucket, self.name.as_str(), "", false, false)?;
|
||||
|
||||
return Ok(fi);
|
||||
}
|
||||
@@ -762,7 +762,7 @@ impl MetaCacheEntry {
|
||||
let mut fm = FileMeta::new();
|
||||
fm.unmarshal_msg(&self.metadata)?;
|
||||
|
||||
let fi = fm.into_fileinfo(bucket, self.name.as_str(), "", false, false)?;
|
||||
let fi = fm.to_fileinfo(bucket, self.name.as_str(), "", false, false)?;
|
||||
|
||||
Ok(fi)
|
||||
}
|
||||
|
||||
@@ -541,14 +541,7 @@ impl FileMeta {
|
||||
|
||||
// read_data fill fi.dada
|
||||
#[tracing::instrument(level = "debug", skip(self))]
|
||||
pub fn into_fileinfo(
|
||||
&self,
|
||||
volume: &str,
|
||||
path: &str,
|
||||
version_id: &str,
|
||||
read_data: bool,
|
||||
all_parts: bool,
|
||||
) -> Result<FileInfo> {
|
||||
pub fn to_fileinfo(&self, volume: &str, path: &str, version_id: &str, read_data: bool, all_parts: bool) -> Result<FileInfo> {
|
||||
let has_vid = {
|
||||
if !version_id.is_empty() {
|
||||
let id = Uuid::parse_str(version_id)?;
|
||||
@@ -2116,7 +2109,7 @@ pub async fn get_file_info(buf: &[u8], volume: &str, path: &str, version_id: &st
|
||||
});
|
||||
}
|
||||
|
||||
let fi = meta.into_fileinfo(volume, path, version_id, opts.data, true)?;
|
||||
let fi = meta.to_fileinfo(volume, path, version_id, opts.data, true)?;
|
||||
Ok(fi)
|
||||
}
|
||||
|
||||
@@ -2947,7 +2940,7 @@ fn test_file_meta_into_fileinfo() {
|
||||
fm.add_version(fi).unwrap();
|
||||
|
||||
// Test into_fileinfo with valid version_id
|
||||
let result = fm.into_fileinfo("test-volume", "test-path", &version_id.to_string(), false, false);
|
||||
let result = fm.to_fileinfo("test-volume", "test-path", &version_id.to_string(), false, false);
|
||||
assert!(result.is_ok());
|
||||
let file_info = result.unwrap();
|
||||
assert_eq!(file_info.volume, "test-volume");
|
||||
@@ -2955,11 +2948,11 @@ fn test_file_meta_into_fileinfo() {
|
||||
|
||||
// Test into_fileinfo with invalid version_id
|
||||
let invalid_id = Uuid::new_v4();
|
||||
let result = fm.into_fileinfo("test-volume", "test-path", &invalid_id.to_string(), false, false);
|
||||
let result = fm.to_fileinfo("test-volume", "test-path", &invalid_id.to_string(), false, false);
|
||||
assert!(result.is_err());
|
||||
|
||||
// Test into_fileinfo with empty version_id (should get latest)
|
||||
let result = fm.into_fileinfo("test-volume", "test-path", "", false, false);
|
||||
let result = fm.to_fileinfo("test-volume", "test-path", "", false, false);
|
||||
assert!(result.is_ok());
|
||||
}
|
||||
|
||||
|
||||
@@ -171,9 +171,9 @@ pub async fn init_data_scanner() {
|
||||
|
||||
// Calculate randomized sleep duration
|
||||
// Use random factor (0.0 to 1.0) multiplied by the scanner cycle duration
|
||||
let random_factor: f64 = {
|
||||
let mut rng = rand::thread_rng();
|
||||
rng.gen_range(1.0..10.0)
|
||||
let random_factor = {
|
||||
let mut rng = rand::rng();
|
||||
rng.random_range(1.0..10.0)
|
||||
};
|
||||
let base_cycle_duration = SCANNER_CYCLE.load(Ordering::SeqCst) as f64;
|
||||
let sleep_duration_secs = random_factor * base_cycle_duration;
|
||||
|
||||
@@ -439,8 +439,8 @@ impl DataUsageCache {
|
||||
}
|
||||
retries += 1;
|
||||
let dur = {
|
||||
let mut rng = rand::thread_rng();
|
||||
rng.gen_range(0..1_000)
|
||||
let mut rng = rand::rng();
|
||||
rng.random_range(0..1_000)
|
||||
};
|
||||
sleep(Duration::from_millis(dur)).await;
|
||||
}
|
||||
|
||||
+12
-15
@@ -61,10 +61,7 @@ use http::HeaderMap;
|
||||
use lock::{namespace_lock::NsLockMap, LockApi};
|
||||
use madmin::heal_commands::{HealDriveInfo, HealResultItem};
|
||||
use md5::{Digest as Md5Digest, Md5};
|
||||
use rand::{
|
||||
thread_rng,
|
||||
{seq::SliceRandom, Rng},
|
||||
};
|
||||
use rand::{seq::SliceRandom, Rng};
|
||||
use sha2::{Digest, Sha256};
|
||||
use std::hash::Hash;
|
||||
use std::time::SystemTime;
|
||||
@@ -136,7 +133,7 @@ impl SetDisks {
|
||||
}
|
||||
}
|
||||
|
||||
let mut rng = thread_rng();
|
||||
let mut rng = rand::rng();
|
||||
|
||||
disks.shuffle(&mut rng);
|
||||
|
||||
@@ -145,7 +142,7 @@ impl SetDisks {
|
||||
async fn get_online_local_disks(&self) -> Vec<Option<DiskStore>> {
|
||||
let mut disks = self.get_online_disks().await;
|
||||
|
||||
let mut rng = thread_rng();
|
||||
let mut rng = rand::rng();
|
||||
|
||||
disks.shuffle(&mut rng);
|
||||
|
||||
@@ -170,10 +167,10 @@ impl SetDisks {
|
||||
let mut futures = Vec::with_capacity(disks.len());
|
||||
let mut numbers: Vec<usize> = (0..disks.len()).collect();
|
||||
{
|
||||
let mut rng = thread_rng();
|
||||
let mut rng = rand::rng();
|
||||
disks.shuffle(&mut rng);
|
||||
|
||||
numbers.shuffle(&mut thread_rng());
|
||||
numbers.shuffle(&mut rng);
|
||||
}
|
||||
|
||||
for &i in numbers.iter() {
|
||||
@@ -247,7 +244,7 @@ impl SetDisks {
|
||||
async fn _get_local_disks(&self) -> Vec<Option<DiskStore>> {
|
||||
let mut disks = self.get_disks_internal().await;
|
||||
|
||||
let mut rng = thread_rng();
|
||||
let mut rng = rand::rng();
|
||||
|
||||
disks.shuffle(&mut rng);
|
||||
|
||||
@@ -1275,7 +1272,7 @@ impl SetDisks {
|
||||
..Default::default()
|
||||
};
|
||||
|
||||
let finfo = match meta.into_fileinfo(bucket, object, "", true, true) {
|
||||
let finfo = match meta.to_fileinfo(bucket, object, "", true, true) {
|
||||
Ok(res) => res,
|
||||
Err(err) => {
|
||||
for item in errs.iter_mut() {
|
||||
@@ -1302,7 +1299,7 @@ impl SetDisks {
|
||||
|
||||
for (idx, meta_op) in metadata_array.iter().enumerate() {
|
||||
if let Some(meta) = meta_op {
|
||||
match meta.into_fileinfo(bucket, object, vid.to_string().as_str(), read_data, true) {
|
||||
match meta.to_fileinfo(bucket, object, vid.to_string().as_str(), read_data, true) {
|
||||
Ok(res) => meta_file_infos[idx] = res,
|
||||
Err(err) => errs[idx] = Some(err),
|
||||
}
|
||||
@@ -2929,7 +2926,7 @@ impl SetDisks {
|
||||
// in different order per erasure set, this wider spread is needed when
|
||||
// there are lots of buckets with different order of objects in them.
|
||||
let permutes = {
|
||||
let mut rng = thread_rng();
|
||||
let mut rng = rand::rng();
|
||||
let mut permutes: Vec<usize> = (0..buckets.len()).collect();
|
||||
permutes.shuffle(&mut rng);
|
||||
permutes
|
||||
@@ -2951,8 +2948,8 @@ impl SetDisks {
|
||||
|
||||
let (buckets_results_tx, mut buckets_results_rx) = mpsc::channel::<DataUsageEntryInfo>(disks.len());
|
||||
let update_time = {
|
||||
let mut rng = thread_rng();
|
||||
Duration::from_secs(30) + Duration::from_secs_f64(10.0 * rng.gen_range(0.0..1.0))
|
||||
let mut rng = rand::rng();
|
||||
Duration::from_secs(30) + Duration::from_secs_f64(10.0 * rng.random_range(0.0..1.0))
|
||||
};
|
||||
let mut ticker = interval(update_time);
|
||||
|
||||
@@ -3297,7 +3294,7 @@ impl SetDisks {
|
||||
}
|
||||
|
||||
{
|
||||
let mut rng = thread_rng();
|
||||
let mut rng = rand::rng();
|
||||
|
||||
// 随机洗牌
|
||||
disks.shuffle(&mut rng);
|
||||
|
||||
@@ -508,8 +508,8 @@ impl ECStore {
|
||||
return None;
|
||||
}
|
||||
|
||||
let mut rng = rand::thread_rng();
|
||||
let random_u64: u64 = rng.gen();
|
||||
let mut rng = rand::rng();
|
||||
let random_u64: u64 = rng.random_range(0..total);
|
||||
|
||||
let choose = random_u64 % total;
|
||||
let mut at_total = 0;
|
||||
|
||||
@@ -19,7 +19,6 @@ use crate::{store::ECStore, store_api::ListObjectsV2Info};
|
||||
use common::error::{Error, Result};
|
||||
use futures::future::join_all;
|
||||
use rand::seq::SliceRandom;
|
||||
use rand::thread_rng;
|
||||
use std::collections::HashMap;
|
||||
use std::io::ErrorKind;
|
||||
use std::sync::Arc;
|
||||
@@ -712,7 +711,7 @@ impl ECStore {
|
||||
|
||||
let fallback_disks = {
|
||||
if ask_disks > 0 && disks.len() > ask_disks as usize {
|
||||
let mut rand = thread_rng();
|
||||
let mut rand = rand::rng();
|
||||
disks.shuffle(&mut rand);
|
||||
disks.split_off(ask_disks as usize)
|
||||
} else {
|
||||
@@ -1241,7 +1240,7 @@ impl SetDisks {
|
||||
let mut fallback_disks = Vec::new();
|
||||
|
||||
if ask_disks > 0 && disks.len() > ask_disks as usize {
|
||||
let mut rand = thread_rng();
|
||||
let mut rand = rand::rng();
|
||||
disks.shuffle(&mut rand);
|
||||
|
||||
fallback_disks = disks.split_off(ask_disks as usize);
|
||||
|
||||
Reference in New Issue
Block a user