From 0eed5de959f1c9b429ded87f81e52876e282d6fa Mon Sep 17 00:00:00 2001 From: Nikhil Sinha Date: Mon, 26 Feb 2024 19:26:35 +0530 Subject: [PATCH] remove first-event-at from stream.json but keep it in stats api --- server/src/handlers/http/logstream.rs | 12 ------------ server/src/storage.rs | 1 + server/src/storage/object_storage.rs | 17 ----------------- server/src/storage/retention.rs | 12 ------------ 4 files changed, 1 insertion(+), 41 deletions(-) diff --git a/server/src/handlers/http/logstream.rs b/server/src/handlers/http/logstream.rs index 541b19ae4..e31a4d44d 100644 --- a/server/src/handlers/http/logstream.rs +++ b/server/src/handlers/http/logstream.rs @@ -266,18 +266,6 @@ pub async fn get_stats(req: HttpRequest) -> Result if first_event_at_empty(&stream_name) { let store = CONFIG.storage().get_object_store(); if let Ok(Some(first_event_at)) = catalog::get_first_event(store, &stream_name).await { - if let Err(err) = CONFIG - .storage() - .get_object_store() - .put_first_event_at(&stream_name, &first_event_at) - .await - { - log::error!( - "Failed to update first_event_at in metadata for stream {:?} {err:?}", - stream_name - ); - } - if let Err(err) = metadata::STREAM_INFO.set_first_event_at(&stream_name, Some(first_event_at)) { diff --git a/server/src/storage.rs b/server/src/storage.rs index 35b909465..b6d17484f 100644 --- a/server/src/storage.rs +++ b/server/src/storage.rs @@ -71,6 +71,7 @@ pub struct ObjectStoreFormat { #[serde(rename = "created-at")] pub created_at: String, #[serde(rename = "first-event-at")] + #[serde(skip_serializing_if = "Option::is_none")] pub first_event_at: Option, pub owner: Owner, pub permissions: Vec, diff --git a/server/src/storage/object_storage.rs b/server/src/storage/object_storage.rs index 0d867da94..7494d16e1 100644 --- a/server/src/storage/object_storage.rs +++ b/server/src/storage/object_storage.rs @@ -161,23 +161,6 @@ pub trait ObjectStorage: Sync + 'static { self.put_object(&path, to_bytes(&stream_metadata)).await } - async fn put_first_event_at( - &self, - stream_name: &str, - first_event_at: &str, - ) -> Result<(), ObjectStorageError> { - let path = stream_json_path(stream_name); - let stream_metadata = self.get_object(&path).await?; - let first_event_ts = - serde_json::to_value(first_event_at).expect("first_event_at is perfectly serializable"); - let mut stream_metadata: serde_json::Value = - serde_json::from_slice(&stream_metadata).expect("parseable config is valid json"); - - stream_metadata["first-event-at"] = first_event_ts; - - self.put_object(&path, to_bytes(&stream_metadata)).await - } - async fn put_metadata( &self, parseable_metadata: &StorageMetadata, diff --git a/server/src/storage/retention.rs b/server/src/storage/retention.rs index 7921ba4d1..6809a537d 100644 --- a/server/src/storage/retention.rs +++ b/server/src/storage/retention.rs @@ -245,18 +245,6 @@ mod action { } if let Ok(Some(first_event_at)) = catalog::get_first_event(store, &stream_name).await { - if let Err(err) = CONFIG - .storage() - .get_object_store() - .put_first_event_at(&stream_name, &first_event_at) - .await - { - log::error!( - "Failed to update first_event_at in metadata for stream {:?} {err:?}", - stream_name - ); - } - if let Err(err) = metadata::STREAM_INFO.set_first_event_at(&stream_name, Some(first_event_at)) {