diff --git a/src/prism/logstream/mod.rs b/src/prism/logstream/mod.rs index e37db20e4..f1672f66e 100644 --- a/src/prism/logstream/mod.rs +++ b/src/prism/logstream/mod.rs @@ -24,7 +24,7 @@ use chrono::Utc; use http::StatusCode; use serde::{Deserialize, Serialize}; use serde_json::{json, Value}; -use tracing::{debug, warn}; +use tracing::{debug, error, warn}; use crate::{ handlers::http::{ @@ -45,6 +45,7 @@ use crate::{ arrow::record_batches_to_json, time::{TimeParseError, TimeRange}, }, + validator::error::HotTierValidationError, LOCK_EXPECT, }; @@ -273,10 +274,13 @@ impl PrismDatasetRequest { } = get_prism_logstream_info(stream).await?; let hottier = match HotTierManager::global() { - Some(hot_tier_manager) => { - let stats = hot_tier_manager.get_hot_tier(stream).await?; - Some(stats) - } + Some(manager) => match manager.get_hot_tier(stream).await { + Ok(stats) => Some(stats), + Err(HotTierError::HotTierValidationError( + HotTierValidationError::NotFound(_), + )) => None, + Err(err) => return Err(err.into()), + }, _ => None, }; let records = CountsRequest {