From 98f0c8b63ee5c36de0d3d4971985b102aaafc9d5 Mon Sep 17 00:00:00 2001 From: Gilles Gagniard Date: Fri, 5 Jun 2015 13:40:03 +0200 Subject: [PATCH] MB-11891: add new extra option no_expiry so that ttl stored in backups are ignored at restore time, enabling restoring old snapshots --- pump_bfd.py | 6 +++++- pump_transfer.py | 1 + 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/pump_bfd.py b/pump_bfd.py index 8598ed4f..fd3cc0d5 100755 --- a/pump_bfd.py +++ b/pump_bfd.py @@ -459,7 +459,11 @@ def provide_batch(self): if self.skip(key, vbucket_id): continue - msg = (row[0], row[1], row[2], row[3], row[4], + if self.opts.extra.get('no_expiry', 0): + exp = 0 + else: + exp = row[4] + msg = (row[0], row[1], row[2], row[3], exp, int(row[5]), # CAS as 64-bit integer not string. row[6], # revid as 64-bit integer too row[7]) diff --git a/pump_transfer.py b/pump_transfer.py index e03311f8..6a085343 100755 --- a/pump_transfer.py +++ b/pump_transfer.py @@ -224,6 +224,7 @@ def opt_extra_defaults(self): "uncompress": (0, "For value 1, restore data in uncompressed mode"), "backoff_cap": (10, "Max backoff time during rebalance period"), "flow_control": (1, "For value 0, disable flow control to improve throughput"), + "no_expiry": (0, "For value 1, at restore time, ignore ttl stored in backup so that a full snapshot can be restored"), } def find_handlers(self, opts, source, sink):