| Ticket Hash: | 4e254b1b484eaf4c482c363585e90fae52534e27 | ||
| Title: | Host ~/.fossil global config is still in WAL: every fossil call prints 'recovered N frames', and it makes spec/repo_write_lock_spec.cr flaky | ||
| Status: | Active | Type: | Code_Defect |
| Severity: | Normal | Priority: | Medium |
| Subsystem: | Resolution: | ||
| Last Modified: |
2026-09-20 14:43:00 51.7 days ago |
Created: |
2026-09-14 19:18:26 57.5 days ago |
| Version Found In: | |||
| Description: | ||||
| Every fossil invocation on this host logs 'SQLITE_NOTICE(283): recovered 1 frames from WAL file /root/.fossil-wal' because the GLOBAL config db (~/.fossil) is in WAL mode and is opened by many concurrent processes (daemon, CGI, specs, operators). Effects: (1) noise in every tool output and log; (2) spec/repo_write_lock_spec.cr:194 scans fossil stderr for 'recovered N frames' as corruption evidence and fails under load although the served repo is clean (seen 2026-09-14 19:15Z on the W1 branch suite: 18 matches, passes alone). FIX (operator, repair role): in a quiet window, 'fossil sql -R /root/.fossil "PRAGMA journal_mode=DELETE"' (or via the repo-journal verb if it accepts the global config) and confirm the -wal/-shm sidecars are gone; then make the spec filter notices whose WAL path is the global config, so only the repo under test counts as evidence. Also list ~/.fossil in the repo-health/ensure sweep's journal-mode report. complexity=low design_input=none OCX-PLAN: role=work parent=36f1669975 seq=11 | ||||
| User Comments: | ||||
added on 2026-09-14 19:19:27:
DONE (operator half, repair 2026-09-14 19:2xZ): sqlite3 /root/.fossil 'pragma journal_mode=delete' -> delete; /root/.fossil-wal gone; the SQLITE_NOTICE(283) lines stop host-wide. REMAINING (code half): spec/repo_write_lock_spec.cr should count only recovery notices naming the repository under test, and the ensure sweep's journal report should list ~/.fossil. | ||||