Repository navigation
Commit 5118742
committed
docs: record the Database busy flake as R26, and correct what the timeout fix achieved
The busy_timeout raise in the previous commit did not stop the intermittent
failure. Run 35889922107 failed on the very commit that raised it, while the
pull-request run on the same commit passed, so it is seed- and load-dependent
and the raise treated the wrong mechanism.
Why no timeout can fix it: SQLite returns SQLITE_BUSY immediately, without
consulting the busy handler, when a connection holding a read transaction tries
to upgrade to a write while another connection holds the write lock, because
waiting there could deadlock.
R26 records it with what provokes it (two connections, and fifty concurrent
writers queued on purpose at slice 070 AC7), what has been ruled out, three
candidate fixes not yet taken, an owner, and a lift condition a stranger can
check: ten consecutive green runs of the full suite with the stress test still
in the default run. The raise is kept because it helps ordinary lock waiting,
and is no longer described as the fix for this.
Signed-off-by: Ayla Croft <aylacroft@proton.me>1 parent 52e122a commit 5118742
2 files changed
Lines changed: 9 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
143 | 143 | | |
144 | 144 | | |
145 | 145 | | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
146 | 154 | | |
147 | 155 | | |
148 | 156 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
25 | 25 | | |
26 | 26 | | |
27 | 27 | | |
| 28 | + | |
0 commit comments