diff --git a/ecstore/src/bucket/metadata.rs b/ecstore/src/bucket/metadata.rs index 44fe33be..02d25e8f 100644 --- a/ecstore/src/bucket/metadata.rs +++ b/ecstore/src/bucket/metadata.rs @@ -287,8 +287,13 @@ impl BucketMetadata { Ok(updated) } - pub fn set_created(&mut self, created: OffsetDateTime) { - self.created = created + pub fn set_created(&mut self, created: Option) { + self.created = { + match created { + Some(t) => t, + None => OffsetDateTime::now_utc(), + } + } } pub async fn save(&mut self) -> Result<()> { diff --git a/ecstore/src/store.rs b/ecstore/src/store.rs index 843c81d3..f583a99b 100644 --- a/ecstore/src/store.rs +++ b/ecstore/src/store.rs @@ -58,7 +58,7 @@ use tokio::select; use tokio::sync::mpsc::Sender; use tokio::sync::{broadcast, mpsc, RwLock}; use tokio::time::{interval, sleep}; -use tracing::{debug, info}; +use tracing::{debug, info, warn}; use uuid::Uuid; const MAX_UPLOADS_LIST: usize = 10000; @@ -1223,8 +1223,10 @@ impl StorageAPI for ECStore { let mut buckets = self.peer_sys.list_bucket(opts).await?; if !opts.no_metadata { + warn!("list_bucket meta"); for bucket in buckets.iter_mut() { if let Ok(created) = metadata_sys::created_at(&bucket.name).await { + warn!("list_bucket created {:?}", &created); bucket.created = Some(created); } } @@ -1287,9 +1289,7 @@ impl StorageAPI for ECStore { let mut meta = BucketMetadata::new(bucket); - if let Some(crd) = opts.created_at { - meta.set_created(crd); - } + meta.set_created(opts.created_at); if opts.lock_enabled { meta.object_lock_config_xml = xml::serialize::(&enableObjcetLockConfig)?;