Commit Graph
1387 Commits
Author SHA1 Message Date
Carl-Johannes JohnsenandGitHub 46bc349349 Merge pull request #6858 from carljohnsen/feature/rsync-destination-quota-check
Feature/Remote synchronization destination quota check
2026-04-23 16:01:02 +02:00
Carl Johnsen afeb15e1f2 Added destination space check to the remote synchronization runner. 2026-04-23 08:29:00 +02:00
Kenneth Skovhede a28b122901 Fixed empty file issue
This PR fixes an issue where backups of an empty file could prevent the backups running after a database recreate.

The issue would not prevent restore or backup, but in the case the user decided to rebuild the database, empty files could in some cases trigger the database consistency validation and prevent backups from running on the recreated database.

This fixes #6822
2026-04-22 14:08:40 +02:00
Kenneth SkovhedeandGitHub 56f9c65f9e Merge pull request #6849 from carljohnsen/bugfix/remote-sync-shouldtrigger-trycatch
Bugfix/Remote synchronization ShouldTrigger try/catch guard
2026-04-21 15:50:00 +02:00
Carl Johnsen 7ce54a615c Moved ShouldTrigger check inside the try/catch to prevent failure of one destination to result in all failing. 2026-04-21 10:11:39 +02:00
Kenneth SkovhedeandGitHub c54a278050 Merge pull request #6844 from duplicati/feature/copyright-bump-2026
Updated copyright year to 2026 across the project
2026-04-17 12:34:06 +02:00
Kenneth Skovhede c0f40e19ca Updated copyright year to 2026 across the project 2026-04-16 15:21:24 +02:00
Carl Johnsen 77c95a9a21 ArrayPool buffer sizes can be bigger than the requested size 2026-04-16 11:08:58 +02:00
Carl Johnsen 1e853573c2 Added missing .ConfigureAwait() 2026-04-16 11:08:35 +02:00
Carl Johnsen a2e76b0a8e Merge branch 'master' into performance/backup-arraypool 2026-04-16 10:13:26 +02:00
Carl Johnsen 9a4a75e0f9 Removed redundant removal from cache_last_touched list 2026-04-14 09:58:54 +02:00
Carl Johnsen d58cafccc4 Fixed leaking of cache_last_touched when cache_max = 0 2026-04-14 08:14:04 +02:00
Carl Johnsen 987c4750f9 Changed to check the cache_size variable as that keeps track of cache consumption. 2026-04-13 15:12:43 +02:00
Carl Johnsen 916d1ecf41 Move logging to before the actions and added spacing. 2026-04-13 15:07:45 +02:00
Carl Johnsen 825623be55 Moved adding element to volume cache into its own method to ensure all steps has been taken. 2026-04-13 15:07:19 +02:00
Carl Johnsen 77a8a8b4d2 The sw_cache_lru timer wasn't being emitted with --internal-profiling=true 2026-04-13 14:39:53 +02:00
Carl Johnsen 781ad6b7d1 Added blank line to disconnect TODO and comment 2026-04-13 14:39:17 +02:00
Carl Johnsen f746b3b276 Have evict_lru return the volume id so that the caller doesn't depend on how it works internally. 2026-04-13 14:38:57 +02:00
Carl-Johannes JohnsenandGitHub 82e0d5e005 Merge pull request #6809 from carljohnsen/bugfix/remote-synchronization-module-fixes
Bugfix/remote synchronization module fixes
2026-04-12 21:40:47 +02:00
Carl Johnsen 4ae9ab7089 Undo wrangling related to when remote synchronization was a module 2026-04-12 18:23:24 +02:00
Carl Johnsen dd6234771b Added a remote synchcronization handler 2026-04-12 08:11:42 +02:00
Carl Johnsen b514961685 Moved remote synchronization to be part of the Main library instead of a seperate library 2026-04-12 08:10:29 +02:00
aureliandevel 4efb7fdd3c Merge branch 'feature/restore-volume-caching-revision' of https://github.com/aureliandevel/duplicati into feature/restore-volume-caching-revision 2026-04-10 08:21:23 +10:00
aureliandevel 7e4ac31502 Refactor restore process: remove internal profiling logging and update cache size tracking in VolumeManager 2026-04-10 08:21:02 +10:00
aureliandevelandGitHub a8017d0503 Merge branch 'duplicati:master' into feature/restore-volume-caching-revision 2026-04-04 17:00:07 +11:00
aureliandevel d760e1381a Add restore volume cache profiling summaries 2026-04-04 16:10:05 +11:00
Carl Johnsen 4ed6de1967 Moved buffer allocation outside of while loop in SpillCollector 2026-03-23 06:53:42 +01:00
Carl Johnsen a67cc2e019 Removed whitespace 2026-03-23 06:52:46 +01:00
Carl Johnsen c9f2b76b72 Changed the DataBlock and StreamBlockSplitter to use ArrayPool instead of new byte[] 2026-03-23 06:52:34 +01:00
Kenneth Skovhede 6a82da0e81 Fix null versions array 2026-03-14 19:17:51 +01:00
Kenneth Skovhede ec6e32be39 Fixed usage of filelist filter 2026-03-14 18:26:37 +01:00
Kenneth Skovhede a01a7ff5f7 Fixed filtering to return a null delegate when not filtering 2026-03-14 13:56:26 +01:00
Kenneth Skovhede 84cc4005b1 Fix restore without local db
This fixes a bug where restoring with `--no-local-db` and `--version=0` would fail because the database consistency check sees that data is missing.

The missing data is intentional in this case, as we deliberately recreate a partial database.

The PR adds a test for this scenario and fixes the validation to allow for the partial database. Additionally, the partial database is marked as such, in case it is not correctly deleted after the restore.
2026-03-14 12:02:53 +01:00
Carl Johnsen c679e77f95 Merge branch 'master' into feature/full-disk-mac 2026-03-05 19:21:57 +01:00
Carl Johnsen afbecbc7f0 Do not catch abort exceptions 2026-03-05 12:20:54 +01:00
Kenneth Skovhede 9bd4d228f3 Minor polish to the new restore flow
This PR adds explicit validation to the size parameters so we ensure that we throw a meaningful error message instead of fail on some later step.

This also fixes an error in an exception message. Should the error scenario ever trigger, it would previously show incorrect data or cause out-of-bounds error instead of the intended error message.
2026-03-04 14:44:09 +01:00
aureliandevel e7b998f909 Enhance restore volume caching: implement disk pressure eviction logic and add related options 2026-02-28 20:14:22 +11:00
Carl Johnsen 1ad2344e99 ParallelScanner may be null 2026-02-27 15:36:03 +01:00
Carl Johnsen 8d55fd84fe Removed whitespace 2026-02-27 13:51:17 +01:00
Carl Johnsen 0268da5ef6 Fixed race condition where the source provider would be disposed before the parallel scanner was done accessing it. 2026-02-27 13:51:05 +01:00
Kenneth SkovhedeandGitHub 414789f209 Merge branch 'master' into feature/full-disk-backup 2026-02-20 10:46:40 +01:00
Carl Johnsen 4d1e388e33 Less intrusive legacy restore changes
Due to the legacy restore flow being volume-centric, restoring has to become two phases: 1 for the priority files, and 2 for the "rest" of the files.
2026-02-19 17:52:53 +01:00
Carl Johnsen 1cadb775b8 Restored BackupHandler to its original 2026-02-19 15:54:09 +01:00
Kenneth Skovhede ab29642e10 fix(backup): wait for index file uploads to complete before starting backup
Add a synchronization point after recreating missing index files to
ensure all uploads are settled and committed to the database before
the backup process continues. This prevents a race condition where
the backup could start while index files are still being uploaded.

In this case, it would be possible for the backup to reference the file that is currently being deleted. This would be very rare in production as the delays have to align and the new data must be changed and processed very quickly to trigger the issue.

In unittests we have observed the issue for a while but only showing up very rarely.
2026-02-19 13:26:04 +01:00
Kenneth SkovhedeandGitHub e14ccd5cb7 Update BackupHandler.cs
Minor fixes
2026-02-18 11:54:42 +01:00
Carl Johnsen 9c91820832 Mount point should only have the directory seperator appended if it's set 2026-02-15 17:37:46 +01:00
Carl Johnsen 594efeca04 Merge branch 'master' into feature/full-disk-backup 2026-02-15 16:42:08 +01:00
Carl Johnsen ced4ed8ea4 Legacy restore now also restores priority files first 2026-02-09 12:41:55 +01:00
Carl Johnsen e9012ada05 Added synchronization of priority files prior to restoring regular files 2026-02-09 12:28:21 +01:00
Carl Johnsen 3fe57b308d Added functionality for priority files for restore providers 2026-02-09 11:36:15 +01:00