From 1c004eb7d619319401480f309c9d5d72ebce46e2 Mon Sep 17 00:00:00 2001 From: Stefan Hardegger Date: Mon, 20 Oct 2025 14:25:12 +0200 Subject: [PATCH] fix backup async --- .../java/com/storycove/service/AsyncBackupService.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/backend/src/main/java/com/storycove/service/AsyncBackupService.java b/backend/src/main/java/com/storycove/service/AsyncBackupService.java index 0570375..84d0baa 100644 --- a/backend/src/main/java/com/storycove/service/AsyncBackupService.java +++ b/backend/src/main/java/com/storycove/service/AsyncBackupService.java @@ -48,7 +48,10 @@ public class AsyncBackupService { BackupJob job = new BackupJob(libraryId, type); job = backupJobRepository.save(job); - // Start backup in background + // Force flush to ensure job is committed to DB before async execution + backupJobRepository.flush(); + + // Start backup in background (async method will run in separate thread after this transaction commits) executeBackupAsync(job.getId()); return job; @@ -58,7 +61,7 @@ public class AsyncBackupService { * Execute backup asynchronously */ @Async - @Transactional + @Transactional(propagation = org.springframework.transaction.annotation.Propagation.REQUIRES_NEW) public void executeBackupAsync(UUID jobId) { Optional jobOpt = backupJobRepository.findById(jobId); if (jobOpt.isEmpty()) {