Commit Graph
1828 Commits
Author SHA1 Message Date
warwickmmandGitHub 7b4f475762 Merge pull request #4502 from samuel-w/master
Make file extension compression hints case-insensitive.
2021-05-09 14:29:59 -07:00
samuel-wandGitHub fa79b406a2 Improve comment 2021-05-09 15:16:31 -05:00
samuel-w d05d83cf4b Add comment 2021-05-08 15:51:10 -05:00
samuel-w bfa24581c1 Add Disk Archive files to compression hints 2021-05-08 01:45:07 -05:00
samuel-w d5c83d2af3 Compare file extensions case insensitively.
Fixes https://github.com/duplicati/duplicati/issues/4493
2021-05-08 01:14:08 -05:00
aureliandevel baf489e8a9 Fix column name typo 2021-03-20 13:26:53 +11:00
Kenneth SkovhedeandGitHub 90a8c34c06 Merge pull request #4398 from warwickmm/bugfix/repair_missing_blocklists
Fix bug in repairing multiple missing blocklist hashes
2021-03-06 14:23:20 +01:00
Kenneth Hsu bacc50513e Provide explicit column names when creating temp table.
If we do not use an AS clause, the name of the column in the result set
is unspecified and may change depending on the version of SQLite.

https://www.sqlite.org/c3ref/column_name.html

This fixes #4403.
2020-12-29 19:58:06 -08:00
Kenneth Hsu 534b71e409 Fix bug with repairing multiple missing blocklist hashes.
If there is more than one missing blocklist hash, we must reset the
offset index before copying hashes from the next blocklist into the
buffer.

This fixes #4397.
2020-12-26 21:37:52 -08:00
Kenneth SkovhedeandGitHub e070af3dd1 Merge pull request #4386 from warwickmm/catch_symlink_read_error
Catch and log exceptions encountered when getting symlink target
2020-12-19 15:02:09 +01:00
Kenneth SkovhedeandGitHub ca073a2d0c Merge pull request #4380 from warwickmm/fix_purge_broken_files_dry_run
Fix error encountered during dry-run of purge-broken-files
2020-12-19 14:44:21 +01:00
Kenneth SkovhedeandGitHub 8002d3d225 Merge pull request #4376 from warwickmm/fix_indentation
Fix incorrect or misleading indentations
2020-12-19 14:43:31 +01:00
Kenneth SkovhedeandGitHub ebc30c7f02 Merge pull request #4366 from warwickmm/improve_missing_source_message
Fix misleading error message about missing source path
2020-12-19 14:40:35 +01:00
Kenneth SkovhedeandGitHub 5af8e1c38b Merge pull request #4367 from warwickmm/fix_variable_name
Fix typo in variable name
2020-12-19 14:39:15 +01:00
Kenneth Hsu a39a24beae Catch and log exceptions encountered when getting symlink target.
Since the GetSymlinkTarget method can throw an exception, we should log
the failure case and avoid further processing of the symlink target.

This concerns #2171, which describes issues with symlinks created using
Windows Subsystem for Linux.
2020-12-06 10:08:46 -08:00
Kenneth Hsu 9952babf0b Commit or rollback transaction before beginning new ones.
The PurgeFilesHandler begins new transactions using the same database
connection.  During a dry-run, these transactions are rolled back, and a
subsequent attempt to rollback in the PurgeBrokenFilesHandler then
resulted in an exception.

To avoid this, we perform the rollback in the PurgeBrokenFilesHandler as
soon as we can.

I'm not entirely confident that this is the correct fix, but it appears
to resolve issue #4379.

This fixes #4379.
2020-11-30 19:55:20 -08:00
warwickmmandGitHub 1c3065aa81 Merge pull request #4336 from barfoo4711/master
Add logging statements for issues encountered when restoring empty files.
2020-11-22 10:23:06 -08:00
Kenneth Hsu 47270d1979 Change log level for entry regarding restoring empty files.
Restoring empty files is expected to be quick, so profiling is not
necessary.
2020-11-22 09:05:25 -08:00
Kenneth Hsu 8b010888e2 Make log entries for restore errors consistent.
This concerns #4315.
2020-11-22 09:05:25 -08:00
Kenneth Hsu 31a4eab7e7 Fix casing in log entry. 2020-11-22 09:05:25 -08: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 20e599586a Fix typo in variable name. 2020-11-15 12:23:46 -08:00
Kenneth Hsu 14de767738 Fix misleading error message about missing source path.
The source path can be a file, so the error message should not assume
that the path represents a folder.  This also provides the user with
some hints on what steps should be taken to address the issue.

This fixes #3522.
2020-11-15 12:21:05 -08:00
Achim Schaefer 5fa8e58f8d Bugfix issue #3920
only "best-effort" and "realtime" allow a priotity level
"none" and "idle" have no prioity level
2020-11-05 15:49:48 +01:00
Sean Templeton a9c16fcefa Upload filesets last during a backup
If parallel uploads are enabled it is possible for the fileset to be uploaded before all dblocks are uploaded.
When the fileset is placed in the queue to be uploaded place it in a separate list and only upload it after all dblocks have been uploaded.

Fixes #4341
2020-10-29 21:19:15 -05:00
Kai 8b1d2cfafa Merge branch 'master' of https://github.com/barfoo4711/duplicati into master 2020-10-03 14:20:08 +02:00
Kai 8e3a52654b Update RestoreHandler.cs
fixed #4315 by adding catching of exceptions when creating empty files Not sure if it is ok to create WARN messages or if it should be ERROR messages instead
2020-10-03 14:09:50 +02:00
Kenneth SkovhedeandGitHub a3ff9f6a0d Merge pull request #4307 from warwickmm/remove_misleading_comment
Remove misleading comment
2020-09-23 11:11:22 +02:00
Kenneth Hsu dd902ce7b2 Remove misleading comment.
The retention policy logic was changed, and this comment was leftover
from the old implementation.

https://forum.duplicati.com/t/new-retention-policy-deletes-old-backups-in-a-smart-way/2195/34?u=ts678

This fixes #3306.
2020-09-03 19:48:47 -07:00
Dean Ferreyra 5f972c2437 Make FilterEntry of type Simple for @ again
Switch back to using `FilterType.Simple` for `@` filters to fix the
restore picker again.

In LocalDatabase.cs, replace code that was explicitly looking for the
presence of wildcard characters to instead trigger off of
`FilterType.Wildcard`.  This fixes the "find" command.

Change FilterEntry.ToString() to prefix Simple filters with `@` so
that if simple filters with wildcard characters make the round-trip
through a string, their `FilterType.Simple` type is preserved.
2020-09-01 23:04:03 -07:00
Honoré Vasconcelos 71494826f9 Improve query performence used in GetFilesAndSourceBlocksFast
Tree changes in query
* Move inner selection S to a temporary table
* Reorder join field in outer query
* Remove intersection with File view in outer selection
File view is already intersected with in selection S

With the above-mentioned changes, on a specific testset, query took 9s instead of 6min.
2020-08-26 10:10:54 +01:00
Daniel Gehriger d143f8b3f9 Improved speed of AppendFilesFromPreviousSetWithPredicate, making USN backups usable when there are large file sets 2020-08-18 11:43:23 +02:00
Daniel Gehriger 82c54dde31 Fixing AppendFilesFromPreviousSetWithPredicate 2020-08-17 23:01:20 +02:00
Daniel Gehriger c5bef5c2e0 Improved Improved speed of AppendFilesFromPreviousSetWithPredicate, making USN backups usable when there are large file sets 2020-08-17 18:06:38 +02:00
Daniel Gehriger 8e8c758c65 Improved speed of AppendFilesFromPreviousSetWithPredicate, making USN backups usable when there are large file sets 2020-08-17 17:27:45 +02:00
Daniel Gehriger 7d2c6befb0 Using USN journal in CountFilesHandler 2020-08-17 15:08:15 +02:00
Kenneth SkovhedeandGitHub ec1975b5a7 Merge pull request #4269 from warwickmm/target_net_471
Target .NET Framework 4.7.1
2020-08-07 10:50:35 +02:00
Kenneth Hsu e964072690 Target .NET Framework 4.7.1.
This updates all projects to target .NET Framework 4.7.1.  The
TencentCOS and Tardigrade backends depend on .NET Standard 2.0.  When a
.NET Framework prior to 4.7.1 is targeted, the system cannot be sure
that all the dependencies exist, so it copies all dependent assemblies
to the output directory.  This causes many assemblies from the System
namespace to become bundled in the release.

https://stackoverflow.com/a/48875007

We had previously attempted to make individual projects target 4.7.1
(see pull request #4242), but this can cause compatibility issues when
4.6.2 projects depend on 4.7.1. projects.

This will require Mono 5.10.0 or greater (previously, we required 5.0.0
or greater).

https://www.mono-project.com/docs/about-mono/releases/5.10.0/#class-libraries

This fixes issue #4234.
2020-07-26 19:46:01 -07:00
Kenneth Hsu fea55b9981 Avoid removing files unrelated to backup being deleted.
This fixes issues #3845 and #4244.
2020-07-21 12:59:28 -07:00
warwickmmandGitHub 45da5a4e2b Merge pull request #4249 from jpschewe/report-compression-errors
Ensure that compression errors are thrown and logged.

This also prevents FilesetVolumeWriter.Dispose from calling Close prematurely, which
can result in a JsonWriter exception.
2020-07-11 16:49:10 -07:00
Jon Schewe e5f57e8f66 Remove unused LOGTAG field 2020-07-11 18:12:59 -05:00
Jon Schewe 2747f78c40 Remove unneeded catch statement
Using the finally block to close out the writer allows the exception to
show up in the log.
2020-07-11 17:33:38 -05:00
Jon Schewe 36336ac6f1 Rethrow exception after logging
This ensures that the backup properly fails.
2020-07-10 06:55:41 -05:00
Jon Schewe e41c0d8bf9 Catch compression errors and report them
When the file list is over 4GB one needs to have the zip64 option
enabled. This commit catches the exception and reports it as an error so
that the user knows what the problem is.

Fixes duplicati/duplicati#/4206
2020-07-08 07:55:25 -05:00
Kenneth Hsu be44b785ce Remove unnecessary local variable. 2020-07-01 16:50:29 -07:00
Kenneth Hsu 3aa1d2f3da Ensure that paths exist when restoring empty files.
This fixes #4148.
2020-07-01 16:13:32 -07:00
Kenneth Skovhede 9eef0a92f7 Updated the schema to include DB version 11 changes. 2020-05-10 21:30:15 +02:00
Kenneth SkovhedeandGitHub e8833c2173 Merge pull request #4171 from warwickmm/add_block_indices
Add indices to Block table to improve query performance
2020-05-10 21:25:03 +02:00
Kenneth SkovhedeandGitHub 5168d05ebf Merge pull request #4161 from warwickmm/refactor/verify_remote_list_setup
Remove boilerplate code in calls to VerifyRemoteList
2020-05-10 21:04:42 +02:00
Kenneth Hsu 6638af10e7 Add indices to Block table to improve query performance.
The index on Block.Size improves the performance of the query that
checks that the user has not altered the block size of the backup
configuration.

The index on Block.Hash and Block.VolumeID improves the performance of
the query that obtains the blocklists.

There are anecdotes that these indices can drastically improve
performance (queries that used to take hours completed in seconds with
the index):

https://forum.duplicati.com/t/repairing-a-big-database/8174/4
https://github.com/duplicati/duplicati/issues/3884#issuecomment-612296016

This fixes issue #3884.
2020-04-11 11:47:40 -07:00