Merge lp:~daniel-muller/deja-dup/deja-dup into lp:deja-dup/32

Proposed by Daniel Muller
Status: Needs review
Proposed branch: lp:~daniel-muller/deja-dup/deja-dup
Merge into: lp:deja-dup/32
Diff against target: 27 lines (+7/-0)
1 file modified
libdeja/BackendS3.vala (+7/-0)
To merge this branch: bzr merge lp:~daniel-muller/deja-dup/deja-dup
Reviewer Review Type Date Requested Status
Déjà Dup Developers Pending
Review via email: mp+219094@code.launchpad.net

Description of the change

Added S3 Reduced Redundancy Storage (RRS), allowing to close wishlist 811954.
Passing --s3-use-rrs to duplicity.
No GUI. The boolean option is read from dconf setting (defaulting to false).

First time I do this. So not sure I did everything right.

To post a comment you must log in.
Revision history for this message
Michael Terry (mterry) wrote :

From http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingRRS.html:

"Reduced redundancy storage is designed to provide 99.99% durability of objects over a given year. This durability level corresponds to an average annual expected loss of 0.01% of objects. For example, if you store 10,000 objects using the RRS option, you can, on average, expect to incur an annual loss of a single object per year (0.01% of 10,000 objects)."

Doesn't that seem bad? Losing even a single file in duplicity's incremental chain is not great.

Revision history for this message
Daniel Muller (daniel-muller) wrote :

Effectively, RRS is less reliable. I believe this is a risk some peoples are willing to take. Specially if S3 is a secondary backup location, or if S3 is itself backed-up to Glacier.

Unmerged revisions

1539. By Daniel Muller

Add S3 RRS support (LP #811954)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'libdeja/BackendS3.vala'
2--- libdeja/BackendS3.vala 2012-10-25 16:00:23 +0000
3+++ libdeja/BackendS3.vala 2014-05-10 10:34:21 +0000
4@@ -25,6 +25,7 @@
5 public const string S3_ID_KEY = "id";
6 public const string S3_BUCKET_KEY = "bucket";
7 public const string S3_FOLDER_KEY = "folder";
8+public const string S3_RRS_KEY = "rrs";
9
10 const string S3_SERVER = "s3.amazonaws.com";
11
12@@ -38,9 +39,15 @@
13 return new BackendS3();
14 }
15
16+ bool settings_rrs;
17 public override void add_argv(ToolJob.Mode mode, ref List<string> argv) {
18 if (mode == ToolJob.Mode.INVALID)
19 argv.append("--s3-use-new-style");
20+
21+ var settings = get_settings(S3_ROOT);
22+ settings_rrs = settings.get_boolean(S3_RRS_KEY);
23+ if (settings_rrs)
24+ argv.append("--s3-use-rrs");
25 }
26
27 string get_default_bucket() {

Subscribers

People subscribed via source and target branches