refactor: segment ECStore storage contracts by domain (#3910)

This commit is contained in:
Zhengchao An
2026-06-26 17:47:36 +08:00
committed by GitHub
parent 72a589f0c0
commit b38976d5ee
43 changed files with 350 additions and 196 deletions
@@ -37,8 +37,11 @@ use crate::object_api::{GetObjectReader, ObjectInfo, ObjectOptions};
use crate::runtime_sources;
use crate::set_disk::{MAX_PARTS_COUNT, RUSTFS_MULTIPART_BUCKET_KEY, RUSTFS_MULTIPART_OBJECT_KEY, SetDisks};
use crate::storage_api_contracts::{
DeletedObject, ExpirationOptions, HTTPRangeSpec, ListOperations as _, MultipartOperations as _, ObjectOperations as _,
ObjectToDelete,
lifecycle::ExpirationOptions,
list::ListOperations as _,
multipart::MultipartOperations as _,
object::{DeletedObject, ObjectOperations as _, ObjectToDelete},
range::HTTPRangeSpec,
};
use crate::store::ECStore;
use crate::tier::warm_backend::WarmBackendGetOpts;
@@ -387,7 +390,7 @@ pub trait ExpiryOp: 'static {
fn as_any(&self) -> &dyn Any;
}
pub use crate::storage_api_contracts::TransitionedObject;
pub use crate::storage_api_contracts::lifecycle::TransitionedObject;
struct FreeVersionTask(ObjectInfo);
@@ -2891,8 +2894,11 @@ mod tests {
use crate::object_api::{ObjectInfo, ObjectOptions, PutObjReader};
use crate::runtime_sources;
use crate::set_disk::{RUSTFS_MULTIPART_BUCKET_KEY, RUSTFS_MULTIPART_OBJECT_KEY};
use crate::storage_api_contracts::ExpirationOptions;
use crate::storage_api_contracts::{BucketOperations, BucketOptions, MakeBucketOptions, MultipartOperations as _};
use crate::storage_api_contracts::{
bucket::{BucketOperations, BucketOptions, MakeBucketOptions},
lifecycle::ExpirationOptions,
multipart::MultipartOperations as _,
};
use crate::store::ECStore;
use futures::FutureExt;
use rustfs_common::metrics::{IlmAction, global_metrics};
@@ -4167,7 +4173,7 @@ mod tests {
&bucket,
object,
&upload.upload_id,
vec![crate::storage_api_contracts::CompletePart {
vec![crate::storage_api_contracts::multipart::CompletePart {
part_num: 1,
etag: second_part.etag.clone(),
checksum_crc32: None,
+1 -1
View File
@@ -934,7 +934,7 @@ impl Default for Event {
}
}
pub use crate::storage_api_contracts::ExpirationOptions;
pub use crate::storage_api_contracts::lifecycle::ExpirationOptions;
#[derive(Debug, Clone)]
pub struct TransitionOptions {
@@ -25,7 +25,9 @@ use crate::disk::RUSTFS_META_BUCKET;
use crate::error::{Error, Result};
use crate::object_api::{GetObjectReader, ObjectInfo, ObjectOptions, PutObjReader};
use crate::storage_api_contracts::{
DeletedObject, HTTPRangeSpec, ListOperations as _, ObjectIO, ObjectOperations, ObjectToDelete,
list::ListOperations as _,
object::{DeletedObject, ObjectIO, ObjectOperations, ObjectToDelete},
range::HTTPRangeSpec,
};
use crate::store::ECStore;
use rustfs_filemeta::FileInfo;
@@ -21,7 +21,8 @@ use crate::disk::RUSTFS_META_BUCKET;
use crate::error::Result;
use crate::object_api::ObjectInfo;
use crate::storage_api_contracts::{
BucketOperations, BucketOptions, ListOperations as _, StorageObjectInfoOrErr, StorageWalkOptions,
bucket::{BucketOperations, BucketOptions},
list::{ListOperations as _, StorageObjectInfoOrErr, StorageWalkOptions},
};
use crate::store::ECStore;
use rustfs_filemeta::FileInfo;
@@ -23,7 +23,7 @@ use crate::bucket::lifecycle::lifecycle::{self, ObjectOpts};
use crate::bucket::lifecycle::tier_delete_journal::persist_tier_delete_journal_entry;
use crate::client::signer_error::error_chain_contains_signer_header_marker;
use crate::runtime_sources;
use crate::storage_api_contracts::TransitionedObject;
use crate::storage_api_contracts::lifecycle::TransitionedObject;
use crate::store::ECStore;
use rustfs_utils::get_env_usize;
use sha2::{Digest, Sha256};