fix is_multipart

This commit is contained in:
weisd
2025-06-09 01:23:49 +08:00
committed by houseme
parent 2e4218706b
commit 3edfdbea76
+11 -11
View File
@@ -1,6 +1,7 @@
#![allow(unused_variables)] #![allow(unused_variables)]
#![allow(dead_code)] #![allow(dead_code)]
// use error::Error; // use error::Error;
use crate::StorageAPI;
use crate::bucket::metadata_sys::get_replication_config; use crate::bucket::metadata_sys::get_replication_config;
use crate::bucket::versioning_sys::BucketVersioningSys; use crate::bucket::versioning_sys::BucketVersioningSys;
use crate::new_object_layer_fn; use crate::new_object_layer_fn;
@@ -10,27 +11,26 @@ use crate::store_api::ObjectIO;
use crate::store_api::ObjectInfo; use crate::store_api::ObjectInfo;
use crate::store_api::ObjectOptions; use crate::store_api::ObjectOptions;
use crate::store_api::ObjectToDelete; use crate::store_api::ObjectToDelete;
use crate::StorageAPI; use aws_sdk_s3::Client as S3Client;
use aws_sdk_s3::Config;
use aws_sdk_s3::config::BehaviorVersion; use aws_sdk_s3::config::BehaviorVersion;
use aws_sdk_s3::config::Credentials; use aws_sdk_s3::config::Credentials;
use aws_sdk_s3::config::Region; use aws_sdk_s3::config::Region;
use aws_sdk_s3::Client as S3Client;
use aws_sdk_s3::Config;
use bytes::Bytes; use bytes::Bytes;
use chrono::DateTime; use chrono::DateTime;
use chrono::Duration; use chrono::Duration;
use chrono::Utc; use chrono::Utc;
use common::error::Error; use common::error::Error;
use futures::stream::FuturesUnordered;
use futures::StreamExt; use futures::StreamExt;
use futures::stream::FuturesUnordered;
use http::HeaderMap; use http::HeaderMap;
use http::Method; use http::Method;
use lazy_static::lazy_static; use lazy_static::lazy_static;
// use std::time::SystemTime; // use std::time::SystemTime;
use once_cell::sync::Lazy; use once_cell::sync::Lazy;
use regex::Regex; use regex::Regex;
use rustfs_rsc::provider::StaticProvider;
use rustfs_rsc::Minio; use rustfs_rsc::Minio;
use rustfs_rsc::provider::StaticProvider;
use s3s::dto::DeleteMarkerReplicationStatus; use s3s::dto::DeleteMarkerReplicationStatus;
use s3s::dto::DeleteReplicationStatus; use s3s::dto::DeleteReplicationStatus;
use s3s::dto::ExistingObjectReplicationStatus; use s3s::dto::ExistingObjectReplicationStatus;
@@ -42,14 +42,14 @@ use std::collections::HashMap;
use std::collections::HashSet; use std::collections::HashSet;
use std::fmt; use std::fmt;
use std::iter::Iterator; use std::iter::Iterator;
use std::sync::Arc;
use std::sync::atomic::AtomicI32; use std::sync::atomic::AtomicI32;
use std::sync::atomic::Ordering; use std::sync::atomic::Ordering;
use std::sync::Arc;
use std::vec; use std::vec;
use time::OffsetDateTime; use time::OffsetDateTime;
use tokio::sync::mpsc::{Receiver, Sender};
use tokio::sync::Mutex; use tokio::sync::Mutex;
use tokio::sync::RwLock; use tokio::sync::RwLock;
use tokio::sync::mpsc::{Receiver, Sender};
use tokio::task; use tokio::task;
use tracing::{debug, error, info, warn}; use tracing::{debug, error, info, warn};
use uuid::Uuid; use uuid::Uuid;
@@ -456,7 +456,7 @@ pub async fn get_heal_replicate_object_info(
}, },
None, None,
) )
.await .await
} else { } else {
// let opts: ObjectOptions = put_opts(&bucket, &key, version_id, &req.headers, Some(mt)) // let opts: ObjectOptions = put_opts(&bucket, &key, version_id, &req.headers, Some(mt))
// .await // .await
@@ -1554,7 +1554,7 @@ impl ConfigProcess for s3s::dto::ReplicationConfiguration {
if obj.existing_object if obj.existing_object
&& rule.existing_object_replication.is_some() && rule.existing_object_replication.is_some()
&& rule.existing_object_replication.unwrap().status && rule.existing_object_replication.unwrap().status
== ExistingObjectReplicationStatus::from_static(ExistingObjectReplicationStatus::DISABLED) == ExistingObjectReplicationStatus::from_static(ExistingObjectReplicationStatus::DISABLED)
{ {
warn!("need replicate failed"); warn!("need replicate failed");
return false; return false;
@@ -1590,7 +1590,7 @@ impl ConfigProcess for s3s::dto::ReplicationConfiguration {
return obj.replica return obj.replica
&& rule.source_selection_criteria.is_some() && rule.source_selection_criteria.is_some()
&& rule.source_selection_criteria.unwrap().replica_modifications.unwrap().status && rule.source_selection_criteria.unwrap().replica_modifications.unwrap().status
== ReplicaModificationsStatus::from_static(ReplicaModificationsStatus::ENABLED); == ReplicaModificationsStatus::from_static(ReplicaModificationsStatus::ENABLED);
} }
warn!("need replicate failed"); warn!("need replicate failed");
false false
@@ -1971,7 +1971,7 @@ impl ObjectInfoExt for ObjectInfo {
} }
fn is_multipart(&self) -> bool { fn is_multipart(&self) -> bool {
match &self.etag { match &self.etag {
Some(etgval) => etgval.len() != 32 && etgval.is_empty(), Some(etgval) => etgval.len() != 32 && !etgval.is_empty(),
None => false, None => false,
} }
} }