Commit Graph
104 Commits
Author SHA1 Message Date
Dan Stahr 8a116fbf8d Fixed verification query 2017-08-12 19:14:11 +01:00
Dan Stahr 4d98960e75 Fixed empty block handling.
Previously, empty files were associasted with empty blocks. These blocks were added to volumes which could result in empty, but valid volumes being garbage collected and valid file entries deleted.

This change changes the logic so that empty blocks are not stored at all.
2017-08-12 14:14:23 +01: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
Dan Stahr 27c9e15875 Improved database performance and logging
- Don't use Vacuum() just before PurgeLogData (which performs vacuum() already)
 - Removed unncessary poorly performning query (after optimizing it I found out it's unused)
 - Correctly log calls for ExecuteScalarInt64
2017-03-23 15:22:58 +00:00
Kenneth Skovhede 7f4c9383c3 Merge branch 'feature/set_tempdir_for_sqlite' 2017-01-25 21:16:45 +01:00
Kenneth Skovhede 3b4cd3c9c2 Experiment to set the SQLite temp folder, both through the environment variable and the deprecated pragma statement 2017-01-15 23:09:47 +01:00
Kenneth Skovhede f3570507e3 Merge branch 'master' into feature/improved_consistency_check 2017-01-12 09:31:39 +01:00
Kenneth Skovhede a029890409 Implemented better default error messsages 2017-01-09 11:35:38 +01:00
Kenneth Skovhede 3b85a77673 Minor style fixes 2017-01-05 09:57:06 +01:00
Kenneth Skovhede 9a227ada6b Reworked the cleanup process to allow a dangling filelist, such that this dangling entry can be used as the basis for a synthetic filelist.
Also added an option to disable synthetic filelists.
This fixes #2038.
This fixes #2101
2016-12-24 11:42:26 +01:00
Kenneth Skovhede ace2f92856 Rewrote some of the pretty printing routine to make a better log output.
Cleaned up the output by removing some of the non-relevant items.
2016-12-02 11:54:20 +01:00
Kenneth Skovhede 32423d78b5 Added EndTime value in a few places.
This fixes #2127
2016-12-02 00:08:09 +01:00
Kenneth Skovhede c1c8c9a1aa Merge branch 'master' into concurrent_processing
Some changes were required for this merge,
now the StreamBlockSplitter process will take in any stream, store the blocks and return the blockset ID.
This makes it compatible with the changes for metadata handling where they support more than a single block of metadata.

# Conflicts:
#	Duplicati/Library/Main/Database/LocalDatabase.cs
#	Duplicati/Library/Main/Database/LocalRepairDatabase.cs
#	Duplicati/Library/Main/Operation/BackupHandler.cs
#	Duplicati/Library/Main/Operation/RecreateDatabaseHandler.cs
2016-10-18 13:27:36 +02:00
Kenneth Skovhede f281eb9ee2 Merge branch 'master' into feature/improved_consistency_check
# Conflicts:
#	Duplicati/Library/Main/Database/LocalDatabase.cs
2016-10-18 11:09:38 +02:00
Kenneth Skovhede 309bf1648d Merge branch 'master' into feature/fix_for_different_blockhash_and_filehash_plus_multiblocks_metadata
# Conflicts:
#	Duplicati/Library/Main/Database/LocalDatabase.cs
#	Duplicati/Library/Main/Database/LocalRecreateDatabase.cs
#	Duplicati/Library/Main/Operation/RecreateDatabaseHandler.cs
#	Duplicati/UnitTest/BorderTests.cs
2016-10-17 13:28:27 +02:00
Kenneth Skovhede 126f12bf0a Merge branch 'master' into concurrent_processing 2016-09-29 13:48:30 +02:00
Kenneth Skovhede d381c99ca5 Updated serialization of the ResultClasses to provide nicer output.
This fixes #1912
2016-09-28 20:20:16 +02:00
Kenneth Skovhede 94c5e10480 Merge branch 'master' into concurrent_processing
# Conflicts:
#	Duplicati/Library/Main/Database/LocalBackupDatabase.cs
#	Duplicati/Library/Main/Database/LocalDatabase.cs
#	Duplicati/Library/Main/Database/RemoteVolumeEntry.cs
#	Duplicati/Library/Main/Operation/BackupHandler.cs
#	Duplicati/Library/Main/Operation/RecreateDatabaseHandler.cs
#	Duplicati/Library/Main/Operation/RepairHandler.cs
#	Duplicati/Library/Main/Operation/RestoreControlFilesHandler.cs
2016-09-16 10:33:07 +02:00
Kenneth Skovhede db8c025497 Merge branch 'master' into concurrent_processing
# Conflicts:
#	Duplicati/Library/Main/Operation/RecreateDatabaseHandler.cs
2016-09-15 11:44:39 +02:00
Kenneth Skovhede 0c68daff6c Fixed all whitespace to be 4 spaces instead of tabs 2016-09-15 11:39:27 +02:00
Kenneth Skovhede 490776ed73 Implemented a database flag to mark a database as partially recreated.
Fixed issue with error messages when attempting to recreate a partial database for restore as described in #1695.
2016-09-13 21:55:15 +02:00
Kenneth Skovhede f0c0fc3a2e Merge branch 'master' into concurrent_processing
# Conflicts:
#	Duplicati/Library/Main/Database/LocalDatabase.cs
#	Duplicati/Library/Main/Duplicati.Library.Main.csproj
#	Duplicati/Library/Main/Operation/BackupHandler.cs
#	thirdparty/CoCoL/CoCoL.dll
2016-08-08 15:03:42 +02:00
Kenneth Skovhede 742eab0913 Fixed multiple cases where connections and command instances were not disposed.
This should fix all cases of "File is locked" on windows.
2016-04-06 20:40:34 +02:00
Kenneth Skovhede 32d8c18257 Fixed repair consistency check 2016-04-05 14:00:12 +02:00
Kenneth Skovhede bb2964345a Improved the consistency check to also find entries with no blocksetentries 2016-04-04 22:47:16 +02:00
Kenneth Skovhede f57494ad49 Merge branch 'master' into concurrent_processing 2016-04-04 18:21:13 +02:00
Kenneth Skovhede d101f91c94 Fixed support for metadata larger than blocksize. Now supports one full blocklist of metadata, appx 300mb with default settings.
Added correct handling of metadata hashes, such that a metadata blockset is now handled the same was as a regular file blockset.
The query that creates the filesets does not support more than a single blocklist of metadata, hence the limitiation.
2016-04-04 18:11:48 +02:00
Kenneth Skovhede e40bd7f02a Proposed version, not complete with handling large metadata chunks 2016-04-03 23:10:47 +02:00
Kenneth Skovhede b92f52331e Added a check to see if there are orphan file entries 2016-03-30 12:29:22 +02:00
Kenneth Skovhede 317fd493d8 Merge branch 'master' into concurrent_processing
# Conflicts:
#	Duplicati/Library/Main/Database/LocalDatabase.cs
#	Duplicati/Library/Main/Operation/BackupHandler.cs
#	Duplicati/Library/Main/Operation/RecreateDatabaseHandler.cs
2016-03-30 08:30:09 +02:00
Kenneth Skovhede a568b1e55e Fixed query and logic for issue reported in #1644 and #1583 2016-03-30 01:30:51 +02:00
Kenneth Skovhede a811189e82 Merge pull request #1661 from FootStark/hotfix/RecreateDatabaseError
Hotfix/recreate database error
2016-03-26 17:51:43 +01:00
FootStark d715d494ec Quickfix to restore issue
Fixes blocksize-assumption of 10KB
2016-03-26 13:14:05 +01:00
Kenneth Skovhede c71058820c Cleanup logic for fixing databases with a registered duplicate remote volume 2016-03-24 16:31:07 +01:00
Kenneth Skovhede 6cd73c1d0a Likely fix for issue #1644 and #1583 2016-03-24 16:30:19 +01:00
Kenneth Skovhede 6b18217c0a Merge branch 'feature/improved_rebuild_queries'
# Conflicts:
#	Duplicati/Library/Main/Operation/RecreateDatabaseHandler.cs
#	Duplicati/Library/Main/Operation/RepairHandler.cs
2016-03-18 14:32:43 +01:00
Kenneth Skovhede 0530cb4d52 Added repair-in-progress check to avoid continuing work on a broken database 2016-03-18 13:26:12 +01:00
Kenneth Skovhede 40b96fbedf Bugfix, weird order of arguments 2016-03-17 21:13:48 +01:00
FootStark 7656e891ce Prepocessor for schema, Optimized RemoveRemoteVolume
Added a preprocessor for schema supporting sqlite_version-dependent
Statements
RemoveRemoteVolume deletes volumes in batch.
2016-03-16 00:49:28 +01:00
FootStark 5320a0af13 Mitigate slow vol-deletion by caching slow subquery. 2016-03-13 13:23:06 +01:00
Kenneth Skovhede 537fe20838 Added a lot of comments.
Fixed a few issues that caused parallel uploads.
Fixed the use of the encryption module so the encryption module is not re-used for multiple jobs.
2016-02-25 19:15:51 +01:00
Kenneth Skovhede cedd5aff84 Merge branch 'master' into concurrent_processing 2016-02-23 20:57:41 +01:00
Kenneth Skovhede 39a8f4eb7f Fixed an issue with re-creating index files from database in the case where the source file fills the blocklist with consecutive identical blocks. 2016-02-23 20:56:24 +01:00
Kenneth Skovhede 3ff2f1eb98 The concurrent processing now seems to work, at least in the base case.
Rewrote the handling of index volumes to create them on-demand instead of in-advance.
This makes it much simpler to handle upload failures.
2016-02-22 21:27:12 +01:00
Kenneth Skovhede 115d3c92bc Merge branch 'master' into concurrent_processing 2016-02-18 17:20:59 +01:00
Kenneth Skovhede e740e82aef Bugfix for rebuilding the index files 2016-02-18 16:48:35 +01:00
Kenneth Skovhede ec877696b0 More work on concurrent processing 2016-02-18 16:46:53 +01:00
Kenneth Skovhede 01c3b3f5c0 More work on a concurrent implementation of the backup process 2016-02-09 09:17:31 +01:00
Kenneth Skovhede 0a26e263f1 Work on concurrent processing 2016-01-28 22:24:51 +01:00
Kenneth Skovhede ab9da38ef1 Fixed an issue with restores that do not touch all remote volumes.
This fixes #1429.
2015-08-24 10:50:47 +01:00