Hard local maintenance: VACUUM + WAL checkpoint on every retention/forget execute
This commit is contained in:
@@ -100,4 +100,5 @@ def test_scheduled_pass_cleans_old_and_reports(maint_env):
|
||||
conn.close()
|
||||
result = asyncio.run(maintenance.run_scheduled_pass(svc, "test-scheduled"))
|
||||
assert result["versions_deleted"] == 1
|
||||
assert result["index_reclaimed"]["freelist_after"] == 0
|
||||
assert len(history(client, project / "main.py")) == 2
|
||||
|
||||
@@ -151,6 +151,7 @@ def test_retention_thins_old_keeps_five_days(rec_env):
|
||||
assert dry["dry_run"] and dry["versions_to_delete"] == 1 # 3 old minus pinned minus daily-kept
|
||||
done = client.post("/api/v1/admin/retention/run", json={"dry_run": False}).json()
|
||||
assert done["versions_deleted"] == 1
|
||||
assert done["index_reclaimed"]["freelist_after"] == 0 # hard delete, not freelist bloat
|
||||
remaining = history(client, project / "main.py")
|
||||
assert len(remaining) == 4 # latest + pinned + one-per-day + fresh middle
|
||||
assert remaining[0]["pinned"] == 0 # newest still the newest
|
||||
|
||||
Reference in New Issue
Block a user