osd: Stabilize unstable writes of a removed pool before stopping its PGs #115

Open
koolkhel wants to merge 1 commits from koolkhel/vitastor:pause-sync-before-stop into master

1 Commits

Author SHA1 Message Date
66c8d61323 osd: Stabilize unstable writes of a removed pool before stopping its PGs
stop_pg() forgets the PG's unstable writes and leaves them to the next
primary, which stabilizes or rolls them back during peering. But nobody
peers a removed pool again, so its unstable writes stay on the OSDs
forever. The old store can't trim its journal past them: the journal
fills up and writes to all other pools on the same OSDs fail with
-EAGAIN, restarts don't help.

The monitor pauses PGs of a removed pool and waits for them to go
offline before it forgets them. Make the primary of such a PG stabilize
its unstable writes first, while the PG is still active and locked: it
refuses new writes, waits for the ones in flight, runs a sync, and then
stops the PG whatever the result. Pauses of existing pools (PG count
changes) stop at once as before.
2026-11-02 17:12:47 +03:00