Skip to content

Commit 1691543

Browse files
committed
Auto merge of #617 - Mark-Simulacrum:opt, r=Mark-Simulacrum
Wait for up to a second for existing database lock to clear This lets users queue new builds and otherwise schedule work while an ongoing run is proceeding (with lots of record-progress hits). Arguably we want to prioritize user-initiated commands to take effect and cancel ongoing record-progress operations (and other automated work), but that will need more care. Should fix cases like rust-lang/rust#94775 (comment), or at least make them much more rare (individual database operations should very rarely take >1s, though our logs do suggest it is not entirely infrequent today. (That's something that's worth looking into, just haven't had time yet). ``` [2022-03-10T16:08:38Z DEBUG crater::db] sql query "INSERT INTO results (experiment, crate, toolchain, result, log, encoding) VALUES (?1, ?2, ?3, ?4, ?5, ?6);" executed in 5.009915144s [2022-03-10T16:08:43Z DEBUG crater::db] sql query "INSERT INTO results (experiment, crate, toolchain, result, log, encoding) VALUES (?1, ?2, ?3, ?4, ?5, ?6);" executed in 5.009725792s [2022-03-10T16:08:46Z DEBUG crater::db] sql query "INSERT INTO results (experiment, crate, toolchain, result, log, encoding) VALUES (?1, ?2, ?3, ?4, ?5, ?6);" executed in 3.235525973s ```
2 parents 6386c67 + 3802622 commit 1691543

File tree

1 file changed

+1
-0
lines changed

1 file changed

+1
-0
lines changed

src/db/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ struct ConnectionCustomizer;
1919
impl CustomizeConnection<Connection, ::rusqlite::Error> for ConnectionCustomizer {
2020
fn on_acquire(&self, conn: &mut Connection) -> Result<(), ::rusqlite::Error> {
2121
conn.execute("PRAGMA foreign_keys = ON;", [])?;
22+
conn.execute("PRAGMA busy_timeout = 1000;", [])?;
2223
Ok(())
2324
}
2425
}

0 commit comments

Comments
 (0)