summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Changes4
-rw-r--r--lib/App/BorgRestore/Settings.pm11
2 files changed, 10 insertions, 5 deletions
diff --git a/Changes b/Changes
index a7d4b7b..bd95acb 100644
--- a/Changes
+++ b/Changes
@@ -1,6 +1,10 @@
Revision history for Perl extension App-BorgRestore
{{$NEXT}}
+ - Write data directly to DB instead of preparing it in memory first. The
+ new algorithm should be faster and uses constant memory. If you want the
+ old one back for any reason look at the '$prepare_data_in_memory' config
+ option. This option is deprecated and will be removed in the future.
3.1.0 2018-08-25T09:46:27Z
- Add --json option
diff --git a/lib/App/BorgRestore/Settings.pm b/lib/App/BorgRestore/Settings.pm
index 0d9d015..9ef03d7 100644
--- a/lib/App/BorgRestore/Settings.pm
+++ b/lib/App/BorgRestore/Settings.pm
@@ -81,15 +81,16 @@ cache.
=item C<$prepare_data_in_memory>
-Default: 1
+Default: 0
When new archives are added to the cache, the modification time of each parent
directory for a file's path are updated. If this setting is set to 1, these
updates are done in memory before data is written to the database. If it is set
to 0, any changes are written directly to the database. Many values are updated
multiple time, thus writing directly to the database is slower, but preparing
-the data in memory may require a substaintial amount of memory. If you run into
-out-of-memory problem try setting this to 0.
+the data in memory may require a substaintial amount of memory.
+
+New in version 3.2.0. Deprecated in v3.2.0 for future removal possibly in v4.0.0.
=back
@@ -104,7 +105,7 @@ out-of-memory problem try setting this to 0.
{regex => "^/", replacement => "mnt/snapshots/root/"},
);
$sqlite_cache_size = 2097152;
- $prepare_data_in_memory = 1;
+ $prepare_data_in_memory = 0;
1; #ensure positive return value
@@ -127,7 +128,7 @@ our @backup_prefixes = (
{regex => "^/", replacement => ""},
);
our $sqlite_cache_size = 102400;
-our $prepare_data_in_memory = 1;
+our $prepare_data_in_memory = 0;
method new_no_defaults($class: $deps = {}) {
my $self = {};