@@ -1467,6 +1467,7 @@ impl Replicator {
14671467 } ;
14681468 let mut next_marker = None ;
14691469 let mut applied_wal_frame = false ;
1470+ let mut last_injected_frame_no = 0 ;
14701471 ' restore_wal: loop {
14711472 let mut list_request = self . list_objects ( ) . prefix ( & prefix) ;
14721473 if let Some ( marker) = next_marker {
@@ -1481,7 +1482,6 @@ impl Replicator {
14811482 break ;
14821483 }
14831484
1484- let mut last_received_frame_no = 0 ;
14851485 for obj in objs {
14861486 let key = obj
14871487 . key ( )
@@ -1504,9 +1504,9 @@ impl Replicator {
15041504 continue ;
15051505 }
15061506 } ;
1507- if first_frame_no != last_received_frame_no + 1 {
1507+ if first_frame_no != last_injected_frame_no + 1 {
15081508 tracing:: warn!( "Missing series of consecutive frames. Last applied frame: {}, next found: {}. Stopping the restoration process" ,
1509- last_received_frame_no , first_frame_no) ;
1509+ last_injected_frame_no , first_frame_no) ;
15101510 break ;
15111511 }
15121512 if let Some ( frame) = last_consistent_frame {
@@ -1539,7 +1539,7 @@ impl Replicator {
15391539 ) ;
15401540
15411541 while let Some ( frame) = reader. next_frame_header ( ) . await ? {
1542- last_received_frame_no = reader. next_frame_no ( ) ;
1542+ last_injected_frame_no = reader. next_frame_no ( ) ;
15431543 reader. next_page ( & mut page_buf) . await ?;
15441544 if self . verify_crc {
15451545 checksum = frame. verify ( checksum, & page_buf) ?;
@@ -1548,7 +1548,7 @@ impl Replicator {
15481548 let checksum = ( crc1 as u64 ) << 32 | crc2 as u64 ;
15491549 let frame_to_inject = libsql_replication:: frame:: Frame :: from_parts (
15501550 & libsql_replication:: frame:: FrameHeader {
1551- frame_no : ( last_received_frame_no as u64 ) . into ( ) ,
1551+ frame_no : ( last_injected_frame_no as u64 ) . into ( ) ,
15521552 checksum : checksum. into ( ) ,
15531553 page_no : frame. pgno ( ) . into ( ) ,
15541554 size_after : frame. size_after ( ) . into ( ) ,
0 commit comments