@@ -38,9 +38,7 @@ pub struct S3Backend<IO> {
3838 client : Client ,
3939 default_config : Arc < S3Config > ,
4040 io : IO ,
41- }
42-
43- impl S3Backend < StdIO > {
41+ } impl S3Backend < StdIO > {
4442 pub async fn from_sdk_config (
4543 aws_config : SdkConfig ,
4644 bucket : String ,
@@ -581,35 +579,6 @@ where
581579 Ok ( ( ) )
582580 }
583581
584- async fn fetch_segment (
585- & self ,
586- config : & Self :: Config ,
587- namespace : & NamespaceName ,
588- frame_no : u64 ,
589- dest_path : & Path ,
590- ) -> Result < fst:: Map < Arc < [ u8 ] > > > {
591- let folder_key = FolderKey {
592- cluster_id : & config. cluster_id ,
593- namespace : & namespace,
594- } ;
595-
596- let Some ( segment_key) = self
597- . find_segment_by_frame_no ( config, & folder_key, frame_no)
598- . await ?
599- else {
600- return Err ( Error :: FrameNotFound ( frame_no) ) ;
601- } ;
602-
603- if segment_key. includes ( frame_no) {
604- // TODO: make open async
605- let file = self . io . open ( false , false , true , dest_path) ?;
606- self . fetch_segment_from_key ( config, & folder_key, & segment_key, & file)
607- . await
608- } else {
609- return Err ( Error :: FrameNotFound ( frame_no) ) ;
610- }
611- }
612-
613582 async fn meta (
614583 & self ,
615584 config : & Self :: Config ,
@@ -832,7 +801,6 @@ mod tests {
832801 use fst:: MapBuilder ;
833802 use s3s:: auth:: SimpleAuth ;
834803 use s3s:: service:: { S3ServiceBuilder , SharedS3Service } ;
835- use tempfile:: NamedTempFile ;
836804 use uuid:: Uuid ;
837805
838806 use crate :: io:: StdIO ;
@@ -902,7 +870,7 @@ mod tests {
902870 SegmentMeta {
903871 namespace : ns. clone ( ) ,
904872 segment_id : Uuid :: new_v4 ( ) ,
905- start_frame_no : 0u64 . into ( ) ,
873+ start_frame_no : 1u64 . into ( ) ,
906874 end_frame_no : 64u64 . into ( ) ,
907875 segment_timestamp : Utc :: now ( ) ,
908876 } ,
@@ -937,30 +905,14 @@ mod tests {
937905 let db_meta = storage. meta ( & s3_config, & ns) . await . unwrap ( ) ;
938906 assert_eq ! ( db_meta. max_frame_no, 128 ) ;
939907
940- let tmp = NamedTempFile :: new ( ) . unwrap ( ) ;
941-
942- let index = storage
943- . fetch_segment ( & s3_config, & ns, 1 , tmp. path ( ) )
908+ let key = storage
909+ . find_segment ( & s3_config, & ns, FindSegmentReq :: EndFrameNoLessThan ( 65 ) )
944910 . await
945911 . unwrap ( ) ;
912+ assert_eq ! ( key. start_frame_no, 1 ) ;
913+ assert_eq ! ( key. end_frame_no, 64 ) ;
914+
915+ let index = storage. fetch_segment_index ( & s3_config, & ns, & key) . await . unwrap ( ) ;
946916 assert_eq ! ( index. get( 42u32 . to_be_bytes( ) ) . unwrap( ) , 42 ) ;
947-
948- let index = storage
949- . fetch_segment ( & s3_config, & ns, 63 , tmp. path ( ) )
950- . await
951- . unwrap ( ) ;
952- assert_eq ! ( index. get( 42u32 . to_be_bytes( ) ) . unwrap( ) , 42 ) ;
953-
954- let index = storage
955- . fetch_segment ( & s3_config, & ns, 64 , tmp. path ( ) )
956- . await
957- . unwrap ( ) ;
958- assert_eq ! ( index. get( 44u32 . to_be_bytes( ) ) . unwrap( ) , 44 ) ;
959-
960- let index = storage
961- . fetch_segment ( & s3_config, & ns, 65 , tmp. path ( ) )
962- . await
963- . unwrap ( ) ;
964- assert_eq ! ( index. get( 44u32 . to_be_bytes( ) ) . unwrap( ) , 44 ) ;
965917 }
966918}
0 commit comments