From 81132e8a398bdbe7bd4e5053287ac868cec0c7d6 Mon Sep 17 00:00:00 2001 From: Jack Kingsman Date: Tue, 13 Jan 2026 12:51:01 -0800 Subject: [PATCH] Fix vacuum execution transaction conflict --- app/routers/packets.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/app/routers/packets.py b/app/routers/packets.py index 3196c5a..e6f3c2d 100644 --- a/app/routers/packets.py +++ b/app/routers/packets.py @@ -203,8 +203,8 @@ async def run_maintenance(request: MaintenanceRequest) -> MaintenanceResult: deleted = await RawPacketRepository.prune_old_undecrypted(request.prune_undecrypted_days) logger.info("Deleted %d old undecrypted packets", deleted) - # Run VACUUM to reclaim space - await db.conn.execute("VACUUM") + # Run VACUUM to reclaim space (must be outside transaction, use executescript) + await db.conn.executescript("VACUUM;") logger.info("Database vacuumed") return MaintenanceResult(packets_deleted=deleted, vacuumed=True) @@ -283,8 +283,8 @@ async def _run_payload_dedup() -> None: await db.conn.commit() - # Run VACUUM to reclaim space - await db.conn.execute("VACUUM") + # Run VACUUM to reclaim space (must be outside transaction, use executescript) + await db.conn.executescript("VACUUM;") _dedup_progress = DedupProgress( total=total,