From d2adddaee4ad95800d089adb976c7115cef27e54 Mon Sep 17 00:00:00 2001 From: Greg Heartsfield Date: Tue, 27 Dec 2022 10:13:14 -0600 Subject: [PATCH] improvement: extend allowed wal_checkpoint timeout to 10 sec --- src/db.rs | 2 +- src/server.rs | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/db.rs b/src/db.rs index 66718d1..5f17f80 100644 --- a/src/db.rs +++ b/src/db.rs @@ -721,7 +721,7 @@ pub async fn db_checkpoint_task(pool: SqlitePool, safe_to_read: Arc>) // default threshold for the busy timer let busy_wait_default = Duration::from_secs(1); // if the WAL file is getting too big, switch to this - let busy_wait_default_long = Duration::from_secs(5); + let busy_wait_default_long = Duration::from_secs(10); loop { tokio::select! { _ = tokio::time::sleep(Duration::from_secs(CHECKPOINT_FREQ_SEC)) => { diff --git a/src/server.rs b/src/server.rs index ee9e078..ef97e29 100644 --- a/src/server.rs +++ b/src/server.rs @@ -689,7 +689,8 @@ async fn nostr_server( if s.needs_historical_events() { { // acquire and immediately release lock; this ensures we do not start new queries during a wal checkpoint. - let _ = safe_to_read.lock().await; + let _ = safe_to_read.lock().await; + trace!("passed safe_to_read lock"); } // start a database query. this spawns a blocking database query on a worker thread. db::db_query(s, cid.to_owned(), pool.clone(), query_tx.clone(), abandon_query_rx).await;