From d2a8162e1021c5c81b1a81ba74d5a2ca01ab2d5d Mon Sep 17 00:00:00 2001 From: Nikita Sivukhin Date: Fri, 8 Aug 2025 16:40:29 +0400 Subject: [PATCH] sync bootstrapped files in the end --- .../src/database_sync_operations.rs | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/packages/turso-sync-engine/src/database_sync_operations.rs b/packages/turso-sync-engine/src/database_sync_operations.rs index 9ae04ca9a..f53d0cd8b 100644 --- a/packages/turso-sync-engine/src/database_sync_operations.rs +++ b/packages/turso-sync-engine/src/database_sync_operations.rs @@ -69,6 +69,18 @@ pub async fn db_bootstrap( coro.yield_(ProtocolCommand::IO).await?; } + // sync files in the end + let mut completions = Vec::with_capacity(dbs.len()); + for db in dbs { + let c = Completion::new_sync(move |_| { + // todo(sivukhin): we need to error out in case of failed sync + }); + completions.push(db.sync(c)?); + } + while !completions.iter().all(|x| x.is_completed()) { + coro.yield_(ProtocolCommand::IO).await?; + } + let elapsed = std::time::Instant::now().duration_since(start_time); tracing::debug!("db_bootstrap: finished: bytes={pos}, elapsed={:?}", elapsed);