@@ -56,10 +56,8 @@ pub const CURRENT_HOT_TIER_VERSION: &str = "v2";
5656pub struct StreamHotTier {
5757 pub version : Option < String > ,
5858 pub size : String ,
59- #[ serde( skip_serializing_if = "Option::is_none" ) ]
60- pub used_size : Option < String > ,
61- #[ serde( skip_serializing_if = "Option::is_none" ) ]
62- pub available_size : Option < String > ,
59+ pub used_size : String ,
60+ pub available_size : String ,
6361 #[ serde( skip_serializing_if = "Option::is_none" ) ]
6462 pub oldest_date_time_entry : Option < String > ,
6563}
@@ -98,12 +96,7 @@ impl HotTierManager {
9896 if self . check_stream_hot_tier_exists ( & stream) && stream != current_stream {
9997 let stream_hot_tier = self . get_hot_tier ( & stream) . await ?;
10098 total_hot_tier_size += & stream_hot_tier. size . parse :: < u64 > ( ) . unwrap ( ) ;
101- total_hot_tier_used_size += & stream_hot_tier
102- . used_size
103- . clone ( )
104- . unwrap ( )
105- . parse :: < u64 > ( )
106- . unwrap ( ) ;
99+ total_hot_tier_used_size += stream_hot_tier. used_size . parse :: < u64 > ( ) . unwrap ( ) ;
107100 }
108101 }
109102 Ok ( ( total_hot_tier_size, total_hot_tier_used_size) )
@@ -123,8 +116,7 @@ impl HotTierManager {
123116 if self . check_stream_hot_tier_exists ( stream) {
124117 //delete existing hot tier if its size is less than the updated hot tier size else return error
125118 let existing_hot_tier = self . get_hot_tier ( stream) . await ?;
126- existing_hot_tier_used_size =
127- existing_hot_tier. used_size . unwrap ( ) . parse :: < u64 > ( ) . unwrap ( ) ;
119+ existing_hot_tier_used_size = existing_hot_tier. used_size . parse :: < u64 > ( ) . unwrap ( ) ;
128120
129121 if stream_hot_tier_size < existing_hot_tier_used_size {
130122 return Err ( HotTierError :: ObjectStorageError ( ObjectStorageError :: Custom ( format ! (
@@ -260,12 +252,7 @@ impl HotTierManager {
260252 /// delete the files from the hot tier directory if the available date range is outside the hot tier range
261253 async fn process_stream ( & self , stream : String ) -> Result < ( ) , HotTierError > {
262254 let stream_hot_tier = self . get_hot_tier ( & stream) . await ?;
263- let mut parquet_file_size = stream_hot_tier
264- . used_size
265- . as_ref ( )
266- . unwrap ( )
267- . parse :: < u64 > ( )
268- . unwrap ( ) ;
255+ let mut parquet_file_size = stream_hot_tier. used_size . parse :: < u64 > ( ) . unwrap ( ) ;
269256
270257 let object_store = CONFIG . storage ( ) . get_object_store ( ) ;
271258 let mut s3_manifest_file_list = object_store. list_manifest_files ( & stream) . await ?;
@@ -357,13 +344,7 @@ impl HotTierManager {
357344 let mut file_processed = false ;
358345 let mut stream_hot_tier = self . get_hot_tier ( stream) . await ?;
359346 if !self . is_disk_available ( parquet_file. file_size ) . await ?
360- || stream_hot_tier
361- . available_size
362- . as_ref ( )
363- . unwrap ( )
364- . parse :: < u64 > ( )
365- . unwrap ( )
366- <= parquet_file. file_size
347+ || stream_hot_tier. available_size . parse :: < u64 > ( ) . unwrap ( ) <= parquet_file. file_size
367348 {
368349 if !self
369350 . cleanup_hot_tier_old_data (
@@ -376,12 +357,7 @@ impl HotTierManager {
376357 {
377358 return Ok ( file_processed) ;
378359 }
379- * parquet_file_size = stream_hot_tier
380- . used_size
381- . as_ref ( )
382- . unwrap ( )
383- . parse :: < u64 > ( )
384- . unwrap ( ) ;
360+ * parquet_file_size = stream_hot_tier. used_size . parse :: < u64 > ( ) . unwrap ( ) ;
385361 }
386362 let parquet_file_path = RelativePathBuf :: from ( parquet_file. file_path . clone ( ) ) ;
387363 fs:: create_dir_all ( parquet_path. parent ( ) . unwrap ( ) ) . await ?;
@@ -393,18 +369,11 @@ impl HotTierManager {
393369 . await ?;
394370 file. write_all ( & parquet_data) . await ?;
395371 * parquet_file_size += parquet_file. file_size ;
396- stream_hot_tier. used_size = Some ( parquet_file_size. to_string ( ) ) ;
397-
398- stream_hot_tier. available_size = Some (
399- ( stream_hot_tier
400- . available_size
401- . as_ref ( )
402- . unwrap ( )
403- . parse :: < u64 > ( )
404- . unwrap ( )
405- - parquet_file. file_size )
406- . to_string ( ) ,
407- ) ;
372+ stream_hot_tier. used_size = parquet_file_size. to_string ( ) ;
373+
374+ stream_hot_tier. available_size = ( stream_hot_tier. available_size . parse :: < u64 > ( ) . unwrap ( )
375+ - parquet_file. file_size )
376+ . to_string ( ) ;
408377 self . put_hot_tier ( stream, & mut stream_hot_tier) . await ?;
409378 file_processed = true ;
410379 let mut hot_tier_manifest = self
@@ -614,35 +583,16 @@ impl HotTierManager {
614583 fs:: remove_dir_all ( path_to_delete. parent ( ) . unwrap ( ) ) . await ?;
615584 delete_empty_directory_hot_tier ( path_to_delete. parent ( ) . unwrap ( ) ) . await ?;
616585
617- stream_hot_tier. used_size = Some (
618- ( stream_hot_tier
619- . used_size
620- . as_ref ( )
621- . unwrap ( )
622- . parse :: < u64 > ( )
623- . unwrap ( )
624- - file_size)
625- . to_string ( ) ,
626- ) ;
627- stream_hot_tier. available_size = Some (
628- ( stream_hot_tier
629- . available_size
630- . as_ref ( )
631- . unwrap ( )
632- . parse :: < u64 > ( )
633- . unwrap ( )
634- + file_size)
635- . to_string ( ) ,
636- ) ;
586+ stream_hot_tier. used_size =
587+ ( stream_hot_tier. used_size . parse :: < u64 > ( ) . unwrap ( ) - file_size)
588+ . to_string ( ) ;
589+ stream_hot_tier. available_size =
590+ ( stream_hot_tier. available_size . parse :: < u64 > ( ) . unwrap ( ) + file_size)
591+ . to_string ( ) ;
637592 self . put_hot_tier ( stream, stream_hot_tier) . await ?;
638593 delete_successful = true ;
639594
640- if stream_hot_tier
641- . available_size
642- . as_ref ( )
643- . unwrap ( )
644- . parse :: < u64 > ( )
645- . unwrap ( )
595+ if stream_hot_tier. available_size . parse :: < u64 > ( ) . unwrap ( )
646596 <= parquet_file_size
647597 {
648598 continue ' loop_files;
@@ -740,8 +690,8 @@ impl HotTierManager {
740690 let mut stream_hot_tier = StreamHotTier {
741691 version : Some ( CURRENT_HOT_TIER_VERSION . to_string ( ) ) ,
742692 size : INTERNAL_STREAM_HOT_TIER_SIZE_BYTES . to_string ( ) ,
743- used_size : Some ( "0" . to_string ( ) ) ,
744- available_size : Some ( INTERNAL_STREAM_HOT_TIER_SIZE_BYTES . to_string ( ) ) ,
693+ used_size : "0" . to_string ( ) ,
694+ available_size : INTERNAL_STREAM_HOT_TIER_SIZE_BYTES . to_string ( ) ,
745695 oldest_date_time_entry : None ,
746696 } ;
747697 self . put_hot_tier ( INTERNAL_STREAM_NAME , & mut stream_hot_tier)
0 commit comments