Skip to content

Commit 105748d

Browse files
authored
Merge pull request #1869 from tursodatabase/lucio/try-pull-err
libsql: Clean up error handling in try_pull
2 parents 223c853 + 019c2ce commit 105748d

File tree

1 file changed

+14
-6
lines changed

1 file changed

+14
-6
lines changed

libsql/src/local/database.rs

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -471,25 +471,33 @@ impl Database {
471471
let mut frame_no = sync_ctx.durable_frame_num() + 1;
472472
let conn = self.connect()?;
473473
conn.wal_insert_begin()?;
474+
475+
let mut err = None;
476+
474477
loop {
475478
match sync_ctx.pull_one_frame(generation, frame_no).await {
476479
Ok(frame) => {
477480
conn.wal_insert_frame(&frame)?;
478481
frame_no += 1;
479482
}
480483
Err(e) => {
481-
println!("pull_one_frame error: {:?}", e);
484+
tracing::debug!("pull_one_frame error: {:?}", e);
485+
err.replace(e);
482486
break;
483487
}
484488
}
485-
486489
}
487490
conn.wal_insert_end()?;
488491
sync_ctx.write_metadata().await?;
489-
Ok(crate::database::Replicated {
490-
frame_no: None,
491-
frames_synced: 1,
492-
})
492+
493+
if let Some(err) = err {
494+
Err(err)
495+
} else {
496+
Ok(crate::database::Replicated {
497+
frame_no: None,
498+
frames_synced: 1,
499+
})
500+
}
493501
}
494502

495503
pub(crate) fn path(&self) -> &str {

0 commit comments

Comments
 (0)