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 and GitHub
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
Kenneth Skovhede
1ef469be67
Bugfix for the index fix
2016-02-13 22:13:40 +01:00
Kenneth Skovhede
097be65865
Adding an index as suggested in issue #1569
2016-02-11 13:29:12 +01:00
Kenneth Skovhede
e65e7d234e
Fixed an issue where a restored database was missing some files.
...
This fixes #1410 .
2015-07-12 21:36:48 +02:00
Kenneth Skovhede
74bbf0f1f8
Added support for handling null values in the remotevolume table.
...
This fixes #1334 .
2015-05-17 13:38:25 +02:00
Kenneth Skovhede
e13978d1c0
Improved handling of non-standard blocksize and hashing algorithms
2015-04-08 20:33:30 +02:00
Kenneth Skovhede
4846ffa103
Now using the file modification timestamp and the filesize as indicators that trigger file scanning.
...
This fixes #1099 .
2015-01-24 21:59:53 +01:00
Kenneth Skovhede
8689d6cb80
Fixed bad SQL reported in #1186
2014-11-11 22:29:38 +01:00
Kenneth Skovhede
df9f91d8de
Fixed problem with the repair command.
...
This fixes #1188
2014-11-10 10:31:26 +01:00
Kenneth Skovhede
608e61fbca
Fixed SQL typo
2014-11-06 08:30:27 +01:00
Kenneth Skovhede
114195c2ac
Fixed an issue with recreating the local database as reported in issue #1150 and #1040 .
2014-10-14 13:03:38 +02:00
Kenneth Skovhede
796459df5d
Fix for hash collisions with different size inputs
2014-05-14 14:44:56 +02:00
Kenneth Skovhede
1f48d43515
Removed the HashDatabaseProtector and added the HashLookupHelper instead.
2013-09-09 22:50:18 +02:00
Kenneth Skovhede
555945eae4
Implemented a better cache for filenames.
2013-09-07 21:33:59 +02:00
Kenneth Skovhede
4c217b57d9
Fixed a number of dispose errors that would mask real errors
2013-08-23 23:36:25 +02:00
Kenneth Skovhede
0dc3c0aeea
Speedup fix
2013-07-24 21:25:02 +02:00
Kenneth Skovhede
5c110162ea
Changed the time format of times used programmatically to use EPOCH seconds, as it is faster to parse and more reliable
2013-07-23 21:28:01 +02:00