test(fifa17): keep economy harness serialized; document multi-conn blocker
WAL-establish-once + busy_timeout (core 75b1830) reduced but did not eliminate a brand-new-DB multi-connection warm-up 'database error'; the E2E+restart harness stays on a single serialized connection for determinism, and the residual multi-connection concurrency issue is documented as the remaining Part-T blocker.
This commit is contained in:
@@ -21,11 +21,12 @@ use serde_json::{json, Value};
|
||||
/// Boot a Core instance against `db_url`, serving on an ephemeral port. Returns
|
||||
/// the serve task handle and its base URL.
|
||||
async fn start_core(db_url: &str) -> (tokio::task::JoinHandle<()>, String) {
|
||||
// One pooled connection: the harness drives Core sequentially (blocking
|
||||
// client), so a single connection serializes access deterministically and
|
||||
// avoids a WAL-mode-establishment race across connections warming up on a
|
||||
// brand-new DB file. (Steady-state multi-connection concurrency is a
|
||||
// separate, deferred requirement.)
|
||||
// Serialize Core access with a single pooled connection so this E2E+restart
|
||||
// harness is deterministic. NOTE: even with the WAL-establish-once +
|
||||
// busy_timeout fixes (core 75b1830), a multi-connection pool on a brand-new
|
||||
// DB still intermittently surfaces a write "database error" under warm-up —
|
||||
// a deeper sqlx/SQLite pool concurrency issue that is a documented remaining
|
||||
// blocker for the Part-T concurrency proof, not exercised by this harness.
|
||||
let pool = openfut_core::db::init_pool(db_url, 1)
|
||||
.await
|
||||
.expect("core pool");
|
||||
|
||||
Reference in New Issue
Block a user