1919use self :: error:: { CreateStreamError , StreamError } ;
2020use super :: base_path_without_preceding_slash;
2121use super :: cluster:: utils:: { merge_quried_stats, IngestionStats , QueriedStats , StorageStats } ;
22- use super :: cluster:: {
23- fetch_daily_stats_from_ingestors, fetch_stats_from_ingestors, sync_streams_with_ingestors,
24- INTERNAL_STREAM_NAME ,
25- } ;
22+ use super :: cluster:: { sync_streams_with_ingestors, INTERNAL_STREAM_NAME } ;
2623use super :: ingest:: create_stream_if_not_exists;
2724use super :: modal:: utils:: logstream_utils:: create_update_stream;
2825use crate :: alerts:: Alerts ;
2926use crate :: handlers:: STREAM_TYPE_KEY ;
30- use crate :: hottier:: { HotTierManager , StreamHotTier , CURRENT_HOT_TIER_VERSION } ;
27+ use crate :: hottier:: HotTierManager ;
3128use crate :: metadata:: STREAM_INFO ;
3229use crate :: metrics:: { EVENTS_INGESTED_DATE , EVENTS_INGESTED_SIZE_DATE , EVENTS_STORAGE_SIZE_DATE } ;
33- use crate :: option:: { Mode , CONFIG } ;
30+ use crate :: option:: CONFIG ;
3431use crate :: stats:: { event_labels_date, storage_size_labels_date, Stats } ;
3532use crate :: storage:: StreamType ;
3633use crate :: storage:: { retention:: Retention , LogStream , StorageDir , StreamInfo } ;
@@ -47,7 +44,6 @@ use arrow_schema::{Field, Schema};
4744use bytes:: Bytes ;
4845use chrono:: Utc ;
4946use http:: { HeaderName , HeaderValue } ;
50- use itertools:: Itertools ;
5147use serde_json:: Value ;
5248use std:: collections:: HashMap ;
5349use std:: fs;
@@ -59,7 +55,7 @@ pub async fn delete(req: HttpRequest) -> Result<impl Responder, StreamError> {
5955 if !metadata:: STREAM_INFO . stream_exists ( & stream_name) {
6056 return Err ( StreamError :: StreamNotFound ( stream_name) ) ;
6157 }
62-
58+
6359 let objectstore = CONFIG . storage ( ) . get_object_store ( ) ;
6460
6561 objectstore. delete_stream ( & stream_name) . await ?;
@@ -85,7 +81,7 @@ pub async fn delete(req: HttpRequest) -> Result<impl Responder, StreamError> {
8581
8682 for ingestor in ingestor_metadata {
8783 let url = format ! (
88- "{}{}/logstream/{}" ,
84+ "{}{}/logstream/{}/sync " ,
8985 ingestor. domain_name,
9086 base_path_without_preceding_slash( ) ,
9187 stream_name
@@ -290,13 +286,8 @@ pub async fn put_retention(
290286pub async fn get_cache_enabled ( req : HttpRequest ) -> Result < impl Responder , StreamError > {
291287 let stream_name: String = req. match_info ( ) . get ( "logstream" ) . unwrap ( ) . parse ( ) . unwrap ( ) ;
292288
293- match CONFIG . parseable . mode {
294- Mode :: Ingest | Mode :: All => {
295- if CONFIG . parseable . local_cache_path . is_none ( ) {
296- return Err ( StreamError :: CacheNotEnabled ( stream_name) ) ;
297- }
298- }
299- _ => { }
289+ if CONFIG . parseable . local_cache_path . is_none ( ) {
290+ return Err ( StreamError :: CacheNotEnabled ( stream_name) ) ;
300291 }
301292
302293 let cache_enabled = STREAM_INFO . get_cache_enabled ( & stream_name) ?;
@@ -310,61 +301,11 @@ pub async fn put_enable_cache(
310301 let stream_name: String = req. match_info ( ) . get ( "logstream" ) . unwrap ( ) . parse ( ) . unwrap ( ) ;
311302 let storage = CONFIG . storage ( ) . get_object_store ( ) ;
312303
313- match CONFIG . parseable . mode {
314- Mode :: Query => {
315- if !metadata:: STREAM_INFO . stream_exists ( & stream_name) {
316- return Err ( StreamError :: StreamNotFound ( stream_name) ) ;
317- }
318- let ingestor_metadata = super :: cluster:: get_ingestor_info ( ) . await . map_err ( |err| {
319- log:: error!( "Fatal: failed to get ingestor info: {:?}" , err) ;
320- StreamError :: from ( err)
321- } ) ?;
322- for ingestor in ingestor_metadata {
323- let url = format ! (
324- "{}{}/logstream/{}/cache" ,
325- ingestor. domain_name,
326- base_path_without_preceding_slash( ) ,
327- stream_name
328- ) ;
329-
330- super :: cluster:: sync_cache_with_ingestors ( & url, ingestor. clone ( ) , * body) . await ?;
331- }
332- }
333- Mode :: Ingest => {
334- if CONFIG . parseable . local_cache_path . is_none ( ) {
335- return Err ( StreamError :: CacheNotEnabled ( stream_name) ) ;
336- }
337- // here the ingest server has not found the stream
338- // so it should check if the stream exists in storage
339- let check = storage
340- . list_streams ( )
341- . await ?
342- . iter ( )
343- . map ( |stream| stream. name . clone ( ) )
344- . contains ( & stream_name) ;
345-
346- if !check {
347- log:: error!( "Stream {} not found" , stream_name. clone( ) ) ;
348- return Err ( StreamError :: StreamNotFound ( stream_name. clone ( ) ) ) ;
349- }
350- metadata:: STREAM_INFO
351- . upsert_stream_info (
352- & * storage,
353- LogStream {
354- name : stream_name. clone ( ) . to_owned ( ) ,
355- } ,
356- )
357- . await
358- . map_err ( |_| StreamError :: StreamNotFound ( stream_name. clone ( ) ) ) ?;
359- }
360- Mode :: All => {
361- if !metadata:: STREAM_INFO . stream_exists ( & stream_name) {
362- return Err ( StreamError :: StreamNotFound ( stream_name) ) ;
363- }
364- if CONFIG . parseable . local_cache_path . is_none ( ) {
365- return Err ( StreamError :: CacheNotEnabled ( stream_name) ) ;
366- }
367- }
304+ if !metadata:: STREAM_INFO . stream_exists ( & stream_name) {
305+ return Err ( StreamError :: StreamNotFound ( stream_name) ) ;
306+ }
307+ if CONFIG . parseable . local_cache_path . is_none ( ) {
308+ return Err ( StreamError :: CacheNotEnabled ( stream_name) ) ;
368309 }
369310 let enable_cache = body. into_inner ( ) ;
370311 let mut stream_metadata = storage. get_object_store_format ( & stream_name) . await ?;
@@ -614,34 +555,6 @@ pub async fn get_stream_info(req: HttpRequest) -> Result<impl Responder, StreamE
614555 Ok ( ( web:: Json ( stream_info) , StatusCode :: OK ) )
615556}
616557
617- pub async fn put_stream_hot_tier (
618- _req : HttpRequest ,
619- _body : web:: Json < serde_json:: Value > ,
620- ) -> Result < ( ) , StreamError > {
621- Err ( StreamError :: Custom {
622- msg : "Hot tier can only be enabled in query mode" . to_string ( ) ,
623- status : StatusCode :: BAD_REQUEST ,
624- } )
625- }
626-
627- pub async fn get_stream_hot_tier (
628- _req : HttpRequest
629- ) -> Result < ( ) , StreamError > {
630- Err ( StreamError :: Custom {
631- msg : "Hot tier can only be enabled in query mode" . to_string ( ) ,
632- status : StatusCode :: BAD_REQUEST ,
633- } )
634- }
635-
636- pub async fn delete_stream_hot_tier (
637- _req : HttpRequest
638- ) -> Result < ( ) , StreamError > {
639- Err ( StreamError :: Custom {
640- msg : "Hot tier can only be enabled in query mode" . to_string ( ) ,
641- status : StatusCode :: BAD_REQUEST ,
642- } )
643- }
644-
645558pub async fn create_internal_stream_if_not_exists ( ) -> Result < ( ) , StreamError > {
646559 if let Ok ( stream_exists) =
647560 create_stream_if_not_exists ( INTERNAL_STREAM_NAME , & StreamType :: Internal . to_string ( ) ) . await
0 commit comments