Commit Graph
16 Commits
Author SHA1 Message Date
Kenneth SkovhedeandGitHub 697a0b62d0 Merge pull request #6271 from duplicati/feature/issue6200
Flush messages after backup stop
2025-05-20 17:00:07 +02:00
Kenneth Skovhede 40b2ab4a70 Fixed case where warnings would be emitted during clean shutdown 2025-05-20 15:41:39 +02:00
Kenneth Skovhede e4689431cb Fix after moving namespace 2025-05-20 14:28:46 +02:00
Kenneth Skovhede 04c7ec5287 Flush messages after backup stop
This change now flushes all pending messages from the backendmanager to the database, even if the main operation crashes (or is stopped).

This ensures that the database and remote storage are more in sync.

Also removed a redundant warning from the backendmanager during shutdown, and simplified a check for active operations.

This fixes #6200
2025-05-20 09:23:29 +02:00
Marcelo C. d528ef6278 Fix Resource Leak in BackendManager Connection Handling
While investigating issue [#6103](https://github.com/duplicati/duplicati/issues/6103), found that connections were not disposed due to the backend pool in BackendManager's handler. Set up a FileZilla server to test the issue before and after the change, confirming that connections now close as expected with this fix.
2025-04-08 11:24:14 -03:00
Kenneth Skovhede 58da574130 Moved shutdown logic into separate method so it can be called for both uploads and downloads 2025-03-07 15:19:40 +01:00
Kenneth Skovhede 4e60a7ad49 Merge remote-tracking branch 'origin/master' into feature/improved-failure-resilience 2025-03-06 12:09:42 +01:00
Kenneth Skovhede 4f62a8a413 Fixed off-by-one for retry count 2025-03-05 09:04:46 +01:00
Kenneth Skovhede 1f7415cc8e Simplified backend manager handler code 2025-03-04 15:42:31 +01:00
Carl Johnsen 98e572714d Added a comment about downloaders in the teardown of BackendManager.Handler 2025-02-21 10:08:21 +01:00
Carl Johnsen 7612b5cce3 Ensured proper synchronization of operations in BackendManager.Handler 2025-02-21 10:07:41 +01:00
Carl Johnsen c164181ec2 BackendManager.GetOperation's were unintentionally still synchronized. 2025-02-21 10:07:09 +01:00
Carl Johnsen e2e930b2d7 Reworked BackendManager.Handler to handle multiple downloads in parallel 2025-02-19 15:55:59 +01:00
Carl Johnsen 864ce59c4a Reworded pending uploads to active to better reflect that the uploads are in progress 2025-02-19 15:55:13 +01:00
Kenneth Skovhede b1e23da40c Implemented correct shutdown of backend manager handler 2025-01-29 11:04:13 +01:00
Kenneth SkovhedeandGitHub d99f74ed94 Rewrite the backend manager. (#5896)
* Rewrite the backend manager.

This creates a new more logic backend manager that handles all backend operations.

For each top-level operation, there is now a single backend manager instance that is passed to sub-commands.

The internals of the backend manager are now rewritten to use async logic instead of threading.

The design uses a single task runner that dispatches operations and honors concurrent settings and limits from one place.

The logic for each operation has been moved into a separate files/classes to make it easier to understand each operation.

This fixes #5804

* Fixed a few issues with not awaiting tasks

* Fixed not creating empty databases

* Fixed an issue with hashes not being recorded on download

* Reworked the download logic to avoid attempting to decrypt the file if it has been modified.

* Review fixes

* Renamed db collector to better reflect the purpose.

* Review fixes
2025-01-28 08:54:50 +01:00