mirror of
https://github.com/rustfs/rustfs.git
synced 2026-11-01 08:40:23 +00:00
0bade0ca3e
* perf(ecstore,filemeta): batch local walk_dir metadata reads and buffer metacache streams * fix(ecstore): stream completed listing metadata reads Publish each result before starting the next blocking read, preserving per-object progress and cancellation without a timed chunk queue. Keep dispatch batching, byte limits, and namespace/error stops intact. Cover multiple batches, page boundaries, and oversized-envelope resumption. Co-Authored-By: heihutu <heihutu@gmail.com> Co-Authored-By: zhi22915 <qiuzgang@gmail.com> * test(ecstore,filemeta): verify production listing streams Replace the simulated directory-walk benchmark with the public local disk path. Validate fixture output before timing and retain metacache-only stream benchmarks. Pin fragmented reads, read coalescing, and canonical UUID namespace probing against the reference behavior. Co-Authored-By: heihutu <heihutu@gmail.com> Co-Authored-By: zhi22915 <qiuzgang@gmail.com> * fix(ecstore): route listing benchmark through storage API Centralize local listing benchmark imports in the shared benchmark storage API boundary required by the architecture migration rules. Co-Authored-By: heihutu <heihutu@gmail.com> Co-Authored-By: zhi22915 <qiuzgang@gmail.com> * test(scanner): keep catch-up fixture timestamps consistent Admit the seeded catch-up using its observation timestamp so a durable writer claim crossing a wall-clock second cannot spuriously rate-limit it. Model an older claim timestamp to exercise that boundary deterministically. Co-Authored-By: heihutu <heihutu@gmail.com> Co-Authored-By: zhi22915 <qiuzgang@gmail.com> --------- Co-authored-by: Hauser <housemecn@gmail.com> Co-authored-by: heihutu <heihutu@gmail.com> Co-authored-by: zhi22915 <qiuzgang@gmail.com>
40 lines
1.3 KiB
Rust
40 lines
1.3 KiB
Rust
// Copyright 2024 RustFS Team
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
|
|
#![allow(unused_imports)]
|
|
|
|
pub(crate) use rustfs_ecstore::api::erasure::{
|
|
BitrotReader, BitrotWriter, BitrotWriterWrapper, CustomWriter, Erasure, calc_shard_size,
|
|
};
|
|
|
|
pub(crate) mod comparison {
|
|
pub(crate) use super::Erasure;
|
|
}
|
|
|
|
pub(crate) mod erasure {
|
|
pub(crate) use super::{BitrotReader, BitrotWriter, Erasure, calc_shard_size};
|
|
}
|
|
|
|
pub(crate) mod single_block_non_inline {
|
|
pub(crate) use super::{BitrotWriterWrapper, CustomWriter, Erasure};
|
|
}
|
|
|
|
pub(crate) mod multipart {
|
|
pub(crate) use rustfs_ecstore::api::disk::{DiskAPI, DiskOption, Endpoint, new_disk};
|
|
}
|
|
|
|
pub(crate) mod local_walk_dir {
|
|
pub(crate) use rustfs_ecstore::api::disk::{Disk, DiskAPI, DiskOption, Endpoint, WalkDirOptions, new_disk};
|
|
}
|