Commit Graph

67 Commits

Author SHA1 Message Date
Jojo-1000 55284410c7 Fix sql queries that use double quoted strings.
Closes #5202
2024-05-30 00:00:48 +02:00
Kenneth Skovhede 40dd3c6816 Updated all license mentions to MIT 2024-02-28 15:45:30 +01:00
gpatel-fr ec9d49d684 Experiment/rebuildfaster (#5043)
* experimental faster db rebuild (#4955)

* try run update db query for every block file only when needed
add repair-force-block-use option
more appropriate naming for some routines
more tracing
more comments
2023-11-05 18:19:08 +01:00
Kenneth Hsu 5951047ff1 Fix incorrect or misleading indentations.
This also adds braces to clarify scope where beneficial.
2020-11-21 13:58:16 -08:00
Kenneth Hsu 13e1f0dac6 Remove unused Database members. 2020-03-14 16:45:08 -07:00
BlueBlock e8f3bccef8 spelling fix 2019-09-09 18:28:25 -04:00
BlueBlock a230e3b228 Revert "spelling fix"
This reverts commit 8bb4bfaeb4.
2019-09-09 18:26:01 -04:00
BlueBlock 8bb4bfaeb4 spelling fix 2019-09-09 18:25:29 -04:00
Rune Henriksen 3c986a3fe5 Check the block size to avoid scavenging behavoir when Duplicati can't locate the 'empty' block which doesn't exist 2019-05-05 02:20:32 +02:00
Rune Henriksen f5f353fe19 Merge branch 'master' into feature/fix_path_storage2 2019-01-25 23:37:57 +01:00
Rune Henriksen 639edc1e36 removed reference to deleted method 2019-01-11 20:16:59 +01:00
Kenneth Hsu fcf89764c3 Remove unnecessary calls to ToString. 2018-12-31 14:29:44 -08:00
Kenneth Hsu e65bf19221 Remove unused String.Format arguments.
We also make use of string interpolation to improve readability.
2018-12-31 14:24:14 -08:00
Kenneth Skovhede 03722fcba1 Merge branch 'master' into feature/fix_path_storage2
# Conflicts:
#	Duplicati/Library/Main/Database/LocalRecreateDatabase.cs
2018-10-23 11:33:35 +02:00
Kenneth Hsu beb552fa9e Remove unnecessary use of partial keyword.
These classes are defined in a single location.
2018-10-13 16:53:28 -07:00
Kenneth Hsu d72128ec83 Remove unused method parameters. 2018-10-06 15:09:43 -07:00
Kenneth Skovhede 8ac99e83b7 Merge branch 'master' into feature/fix_path_storage2 2018-06-28 10:51:11 +02:00
Kenneth Skovhede cbc18970d5 Re-applied the path-storage fix as the merge failed somehow 2018-06-14 10:12:24 +02:00
Kenneth Skovhede bbe8358ccb Merge pull request #3225 from tygill/fix/improve-repair
Adds a check for BlocksetIDs that don't have any corresponding BlocksetEntrys to the broken fileset check.
2018-06-14 09:20:59 +02:00
Kenneth Skovhede 4b3389f4b6 Fix the missing block references prior to looking for missing block info 2018-06-12 08:29:55 +02:00
Kenneth Skovhede 1f32047042 Don't remove the extra index files immediately, but wait for next compact 2018-06-11 11:20:12 +02:00
Kenneth Skovhede ec363f88a0 Fixed not deleting the non-index volumes 2018-06-11 10:34:32 +02:00
Kenneth Skovhede bce1db123a Merge branch 'master' into feature/speedup_backup_index_files
# Conflicts:
#	Duplicati/Library/Utility/Utility.cs
2018-06-08 10:31:27 +02:00
Kenneth Hsu 20f2f37806 Remove unnecessary calls to String.Format. 2018-06-02 12:02:55 -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
Tyler Gill b5931b2771 Adds a check for BlocksetIDs that don't have any corresponding BlocksetEntrys to the broken fileset check.
Bug #3210 (and several other possibly related ones) had cases where a recreated database would have these invalid blockset IDs.
It seems like they were caused by filesets referring to a blockset by hash, but not having any index or block file actually containing the block for that hash.
Also fixes countMissingInformation query - it should join with missingBlocklistVolumes, rather than missingBlocklistEntries, as it is selecting the VolumeID.
2018-05-17 08:11:13 -06:00
Kenneth Skovhede 57367890b9 Updated the query that fixes recreates where some remote dblock files are found through the dindex files, but these are not present. 2018-05-11 11:34:48 +02:00
Kenneth Skovhede 632b4ff0e2 Added support for cases where the recreate finds missing block files that are not needed. 2018-05-10 00:57:51 +02: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
Kenneth Skovhede d08b7750f0 Removed the unnecessary distinct clause from the recreate query.
Added a comment about the potentially unnecessary extra join in the statements that fills in block hashes.
2017-01-19 10:53:32 +01:00
Kenneth Skovhede 305d8bc7fe Added an extra condition on the join for the recreate issue.
This is a less experimental rewrite of the query that fixes the exact problem.
The speedups from this query fix are also substantial, going from 2.5 hours to 11 minutes.

This is likely a fix to these issues:
#1699, #2048, #2140, #2178

This could help with issues:
#1391, #2050
2017-01-19 09:55:36 +01:00
Kenneth Skovhede be46960a6b Added debugging code that dumps the temporary tables as permanent tables if the error from #1699, #2048, #2140, or #2178 2017-01-15 23:08:21 +01:00
Kenneth Skovhede d3a3d8c85f Fixed a mistake in the debugging code for issue 2140 2017-01-11 13:51:56 +01:00
Kenneth Skovhede fd0d0d5529 Added tracing output to track down issue #1699, #2140 and #2178 2017-01-05 21:41:21 +01:00
Kenneth Skovhede d8972b0f2b Removed unused memory cache code 2016-12-16 17:30:39 +01:00
Kenneth Skovhede 3a034c65ff Removed some extra dispose code 2016-10-17 15:32:30 +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 0c68daff6c Fixed all whitespace to be 4 spaces instead of tabs 2016-09-15 11:39:27 +02:00
Kenneth Skovhede a350d942e6 Fixed a case where a specially crafted broken index file could prevent the database from being recreated correctly.
This fix also optimizes recreates where data is missing in index files and block files are downloaded.
2016-05-02 20:30:38 +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 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 a6699e513d Fixed the repair to also support blocksize values that are not evenly divisible with the blockhash size 2016-03-27 12:50:40 +02:00
FootStark d715d494ec Quickfix to restore issue
Fixes blocksize-assumption of 10KB
2016-03-26 13:14:05 +01:00
Kenneth Skovhede 9fdae7f0c3 Added distinct clause to guard against index files with multiple copies of the same blocklisthash 2016-03-19 22:16:22 +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 4be7a45067 Fixed the query to correctly compute the size of the trailing blocklisthash block. 2016-03-18 13:24:10 +01:00
Kenneth Skovhede ade9db9dca Utility fixes 2016-03-17 21:43:09 +01:00
Kenneth Skovhede 9a58a93894 Fixed an cleaned the rebuild SQL that picks missing blocklist hashes 2016-03-17 21:17:22 +01:00
Kenneth Skovhede 9f1c51e891 Improved logic to deal with blocklistshashes that collide but have different lengths.
Added safeguard to avoid importing blocklists with wrong length, that appears in index files created by older versions of Duplicati.
2016-03-15 21:02:13 +01:00