plakar-s3-data: seed done except seafile-fs (EINTR livelock, excluded)
Seafile's block store wedged the fs walker for 12h in an lstat preemption/EINTR livelock on the live pool; coverage moves to the incus leg reading the sdb replica. Restore test + cron are the remaining steps of the data leg. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5
parent
4b73d77803
commit
ae82d9f682
@@ -112,6 +112,17 @@ Beyond databases, `outline`/`login` may hold non-DB state (uploaded
|
||||
files, docker volumes) — decide per instance whether an fs source is
|
||||
needed in §4.
|
||||
|
||||
⚠️ **seafile-fs excluded from the data leg (2026-08-24).** The S3
|
||||
seed wedged for 12 h inside a single `lstat()` in seafile's block
|
||||
store (millions of tiny files on the contended live pool). SIGQUIT
|
||||
goroutine dump: main goroutine looping in `os.ignoringEINTR` around
|
||||
`fstatat` — a Go preemption/EINTR **livelock** (100 % CPU, no
|
||||
progress; dmesg clean, so not a kernel hang). `seafile-fs` is
|
||||
commented out of `plakar-sources`; seafile's S3 coverage comes from
|
||||
the incus leg instead, which reads the quiesced replica on the idle
|
||||
`backup` pool. If a live-pool retry is ever wanted:
|
||||
`GODEBUG=asyncpreemptoff=1` is the standard mitigation.
|
||||
|
||||
Findings from the first dry-run (2026-08-22):
|
||||
|
||||
- `livetrail`'s `/root/.my.cnf` had a stale `database = spot` default
|
||||
|
||||
Reference in New Issue
Block a user