Commit Graph
91 Commits
Author SHA1 Message Date
Kenneth SkovhedeandGitHub 99d0cb3c57 Merge pull request #3953 from warwickmm/make_fields_readonly
Mark fields that don't need to be reassigned as readonly
2019-10-21 08:36:17 +02:00
Kenneth Hsu 2aa76881a5 Mark fields that don't need to be reassigned as readonly.
This makes it explicit at compile-time that these fields should not be
reassigned outside the constructor.
2019-10-19 13:59:22 -07:00
Kenneth Hsu afab61a05b Use pattern matching to simplify casts. 2019-10-19 10:15:38 -07:00
BlueBlock 9ae3f88dd5 Merge remote-tracking branch 'upstream/master' into fix-stop-after-current-file 2019-08-16 23:46:55 -04:00
BlueBlock 08e2c18185 add handling of a partial backup
- add backup state to DB table 'fileset' (job database upgrade to version 10)
- modify the Restore page dropdown to display if a backup is "partial"
- modify retention logic to remove partial backups only when the next recent full-backup has been removed
2019-08-05 20:14:05 -04:00
drwtsn32x cfeabfb2dd Add auto vacuum interval option 2019-07-29 17:56:43 -07:00
BlueBlock 29a1a7c618 fix stop after the current file
'stop after upload' is now
stop after the current file' and the operation will cleanly allow the current file to complete.
2019-07-23 10:35:33 -04:00
Sean Templeton ac08aa2fb1 Dynamically throttle and track the progress of concurrent uploads
Changed AddBackendEvent() in ResultClasses to allow the option to not update
the backend progress. This allows the  BackendUploader to log the act of starting
an upload without changing the backend progress. The backend progress is now
handled by a new class, FileProgressThrottler, which will determine the transfer
rate of all uploads currently in progress.

This class also handles throttling the upload streams. The algorithm will try
to decrease or increase the streams throttle rates as appropriate by changing
the value based on the over/under amount or based on a percentage to prevent
throttling one stream directly to zero.
2019-03-05 21:25:35 -06:00
Mikael Mello 965bd6d761 result-classes: rename properties of RestoreResults to be consistent with BackupResults 2018-12-12 12:14:11 -02:00
Kenneth SkovhedeandGitHub 9f0ceb9a4c Merge pull request #3534 from warwickmm/convert_write_only_properties
Replace write-only properties
2018-12-11 10:31:35 +01:00
Kenneth Hsu 5daf35d4f5 Use interface inheritance to remove write-only properites.
The one class that implements these interfaces, BasicResults, requires
both read and write access to these properties.  As such, we might as
well declare the getter and setter in the interface.
2018-12-09 21:42:40 -08:00
Kenneth Hsu 8b6cf0c6d9 Make ISetCommonOptions.MessageSink property readable.
Since the only implementation, BasicResults, specifies a getter for this
property, we might as well declare this in the interface.
2018-12-09 21:42:36 -08:00
Kenneth Hsu a44bc7542f Make ISetCommonOptions.BeginTime property readable.
Since the only implementation, BasicResults, specifies a getter for this
property, we might as well declare this in the interface.
2018-12-09 21:42:33 -08:00
Kenneth Hsu 7e6fa8a202 Convert write-only IMessageSink.OperationProgress property to method.
Write-only properties are confusing and the behavior is better
implemented as a method, which more clearly conveys the write-only
semantics.
2018-12-09 20:23:05 -08:00
Kenneth Hsu 1764b9ad4e Convert write-only IMessageSink.BackendProgress property to method.
Write-only properties are confusing and the behavior is better
implemented as a method, which more clearly conveys the write-only
semantics.
2018-12-09 20:23:05 -08:00
Mikael Mello 3dbfac93c6 basic-results: Increase limit of enumerable elements that are serialized 2018-12-07 16:45:44 -02:00
Mikael Mello aa71b888c3 basic-results: Serialize full length of enumerable properties that are limited
Useful to display the know the actual number of errors/warnings/etc when debugging without
having to store all of the errors.
2018-12-05 17:10:08 -02:00
Mikael Mello ec5fee9f9a basic-results: Serialize enumerable properties up to a certain number of elements 2018-12-04 12:14:08 -02:00
Mikael Mello c2c2718082 resultClasses: Fix ParsedResult of RepairResults
RepairResults could have warning/error in its child and not report correct result
2018-11-29 10:57:30 -02:00
Mikael Mello ff2f89f00b Merge branch 'master' of github.com:duplicati/duplicati into improve-backup-logs-ui
# Conflicts:
#	Duplicati/Library/Main/ResultClasses.cs
2018-11-27 10:50:12 -02:00
Mikael Mello 8d1077c901 Fix regression that stopped repairs from working 2018-11-27 10:41:53 -02:00
Mikael Mello 57bd9d1e41 Decouple BasicResults object properties from its children 2018-11-26 11:53:24 -02:00
Mikael Mello f03e8f6c29 Create warning when no files are restored 2018-11-08 08:15:41 -02:00
Kenneth Hsu 9e0b031fee Remove unused members. 2018-10-15 21:20:30 -07:00
Kenneth Hsu f12858e6a5 Mark fields that shouldn't be reassigned as readonly.
This makes it explicit at compile-time that these fields should not be
reassigned outside the constructor.
2018-05-25 10:04:52 -07:00
drwtsn32x 5384b135fe Include version information in Results 2018-05-11 06:25:52 -07:00
Kenneth Skovhede cdd3c7b63c Merge branch 'master' into concurrent_processing 2018-04-12 15:10:03 +02:00
Stephen Gregory b53e62ddfc Ignore non-meaningful result properties when serializing to JSON 2018-04-11 22:42:03 -02:30
Kenneth Skovhede 79f7b22e0f Merge branch 'master' into concurrent_processing
Changed a few things on the way, removing the log process

# Conflicts:
#	Duplicati/Library/Main/Controller.cs
#	Duplicati/Library/Main/Database/ExtensionMethods.cs
#	Duplicati/Library/Main/Database/LocalBackupDatabase.cs
#	Duplicati/Library/Main/Duplicati.Library.Main.csproj
#	Duplicati/Library/Main/Operation/BackupHandler.cs
#	Duplicati/Library/Main/Operation/FilelistProcessor.cs
#	Duplicati/Library/Main/Operation/PurgeBrokenFilesHandler.cs
#	Duplicati/Library/Main/Operation/TestFilterHandler.cs
#	Duplicati/Library/Main/Options.cs
#	Duplicati/Library/Main/ResultClasses.cs
#	Duplicati/UnitTest/BasicSetupHelper.cs
2018-04-11 23:02:47 +02:00
Kenneth Hsu cb0a3ed2a1 Make constructors for abstract classes protected.
While this does not affect any behavior, it more accurately describes
the accessibility.  Since abstract classes can only be instantiated by
an instance of a derived type, the constructors should at most have
protected access.
2018-04-07 18:04:41 -07:00
Kenneth Skovhede 842fd96543 Implemented a new logging system that is more transparent and allows a more granular way of picking log messages.
Added ID's to each log message and each exception to allow later introduction of a Knowledgebase service that explains each error in more detail.
2018-03-15 09:12:34 +01:00
Tyler Gill 0a1e98712a Adds warnings and errors if the reported available quota either reaches a configurable percentage of the backup size, or when it is completely exhausted.
This is configurable via the --quota-warning-threshold command line parameter.
2018-02-07 11:23:52 -07:00
Kenneth Skovhede 75bf6857c1 Merge branch 'master' into concurrent_processing
# Conflicts:
#	.travis.yml
#	Duplicati/Library/Main/Database/LocalBackupDatabase.cs
#	Duplicati/Library/Main/Operation/BackupHandler.cs
#	Duplicati/Library/Main/ResultClasses.cs
#	Duplicati/Library/Main/Volumes/VolumeWriterBase.cs
#	Duplicati/Library/Utility/TempFile.cs
2018-01-20 15:02:41 +01:00
JonMikelV 25e88cd478 Merge branch 'master' of https://github.com/jonmikelv/duplicati 2018-01-04 22:59:00 -06:00
JonMikelV 0d2145fc55 Fix copy/paste typo with && vs || 2018-01-04 22:52:47 -06:00
JonMikelVandGitHub a2a73e05bd Merge pull request #2 from duplicati/master
Sync from original
2018-01-04 22:28:30 -06:00
JonMikelV 0e6bb62520 Let AddVerboseMessage() handle null / empty args variable & update PurgeFilesHandler to correctly call AddMessage() 2018-01-03 18:18:53 -06:00
vnau 9b9d9b1297 Fixed compiler warnings. 2017-12-17 01:34:21 +07:00
Kenneth Skovhede d57c789f4f Merge branch 'master' into concurrent_processing
# Conflicts:
#	Duplicati/Library/Main/Duplicati.Library.Main.csproj
#	Duplicati/Library/Main/Options.cs
2017-09-18 11:56:35 +02:00
Dan Stahr 8c2280c86c Issue #2578: Removed all direct calls to VACUUM and added a command to run VACUUM manually 2017-08-04 11:24:18 +01:00
Kenneth Skovhede 66cf98a8b3 Merge branch 'master' into concurrent_processing
# Conflicts:
#	Duplicati/Library/Main/Duplicati.Library.Main.csproj
2017-06-20 15:17:02 +02:00
Kenneth Skovhede a2b5b01048 Fixed a case where aborting the thread does not trigger an exception, and thus keeps running 2017-06-20 13:04:37 +02:00
Kenneth Skovhede d18431b385 Merge branch 'master' into concurrent_processing
# Conflicts:
#	Duplicati/Library/Main/Controller.cs
#	Duplicati/Library/Main/Database/ExtensionMethods.cs
#	Duplicati/Library/Main/Database/LocalBackupDatabase.cs
#	Duplicati/Library/Main/Duplicati.Library.Main.csproj
#	Duplicati/Library/Main/Operation/BackupHandler.cs
#	Duplicati/Library/Main/Operation/RecreateDatabaseHandler.cs
#	Duplicati/Library/Main/ResultClasses.cs

First attempt at merging all changes from 2016-10-08 to now :/
2017-05-30 00:35:31 +02:00
Kenneth Skovhede 9894facd51 Improved the logic around the abort functionality to avoid hanging while performing a retry delay 2017-02-14 10:28:59 +01:00
Kenneth Skovhede 626a79db1d Added guards agains empty lists of errors and warnings in the new parsed result type 2017-01-23 22:22:22 +01:00
Kenneth Skovhede 81e8ef92da Added a new result code to simplify reporting the same backup result from all modules. 2017-01-23 20:47:01 +01:00
Kenneth Skovhede d62d483202 One more rework for the log output, to allow some messages to enter the log file but not the console 2017-01-11 23:35:42 +01:00
Kenneth Skovhede 309df0f720 Added re-entrancy locks to all reporting messages in BasicResults 2017-01-11 22:41:28 +01:00
Kenneth Skovhede e692be5c92 Reworked the way log messages are handled, to include call-context setup.
This enables modules to report messages to the message-sink, and thus to the commandline through the normal interface.
This simplifies handling multiple logging systems, and supports reporting logging from multiple concurrent controller instances.

This fixes #2225
This fixes #1575
2017-01-09 23:27:56 +01:00
Kenneth Skovhede 6bb1579aa9 Updated MailKit, fixed a bug with DnsLite, added backward compatible tls support from MailKit.
This fixes #1540.
This fixes #1948.
This fixes #2060
This fixes #2225
2017-01-09 23:21:00 +01:00