diff options
author | Lars Wirzenius <liw@liw.fi> | 2016-02-20 22:10:13 +0200 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2016-02-20 22:10:13 +0200 |
commit | 8c087e41fdda5d9508b9c95ea57fbd079142633d (patch) | |
tree | 44bbbcec3aac27d6ca26d498ac1b4f77ae15c190 /tickets/75301806a39d4d0bb41300eaf3db7fe2 | |
parent | ea12bbd09cf9e03d4b50f139f55925aad10dcec0 (diff) | |
download | obnam-dev-distix-8c087e41fdda5d9508b9c95ea57fbd079142633d.tar.gz |
imported mails
Diffstat (limited to 'tickets/75301806a39d4d0bb41300eaf3db7fe2')
30 files changed, 3176 insertions, 0 deletions
diff --git a/tickets/75301806a39d4d0bb41300eaf3db7fe2/Maildir/cur/.this-dir-not-empty/.empty/empty-file b/tickets/75301806a39d4d0bb41300eaf3db7fe2/Maildir/cur/.this-dir-not-empty/.empty/empty-file new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tickets/75301806a39d4d0bb41300eaf3db7fe2/Maildir/cur/.this-dir-not-empty/.empty/empty-file diff --git a/tickets/75301806a39d4d0bb41300eaf3db7fe2/Maildir/new/.this-dir-not-empty/.empty/empty-file b/tickets/75301806a39d4d0bb41300eaf3db7fe2/Maildir/new/.this-dir-not-empty/.empty/empty-file new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tickets/75301806a39d4d0bb41300eaf3db7fe2/Maildir/new/.this-dir-not-empty/.empty/empty-file diff --git a/tickets/75301806a39d4d0bb41300eaf3db7fe2/Maildir/new/1455998994.M473647P17339Q6.exolobe1 b/tickets/75301806a39d4d0bb41300eaf3db7fe2/Maildir/new/1455998994.M473647P17339Q6.exolobe1 new file mode 100644 index 0000000..33c2886 --- /dev/null +++ b/tickets/75301806a39d4d0bb41300eaf3db7fe2/Maildir/new/1455998994.M473647P17339Q6.exolobe1 @@ -0,0 +1,98 @@ +Return-Path: <obnam-dev-bounces@obnam.org> +X-Original-To: distix@pieni.net +Delivered-To: distix@pieni.net +Received: from bagpuss.pepperfish.net (bagpuss.pepperfish.net [148.251.8.16]) + (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) + (No client certificate requested) + by pieni.net (Postfix) with ESMTPS id 4E1672D3CB + for <distix@pieni.net>; Mon, 3 Aug 2015 08:23:12 +0200 (CEST) +Received: from platypus.pepperfish.net (unknown [10.112.100.20]) + by bagpuss.pepperfish.net (Postfix) with ESMTP id AEFF0BEC; + Mon, 3 Aug 2015 07:23:11 +0100 (BST) +Received: from ip6-localhost ([::1] helo=platypus.pepperfish.net) + by platypus.pepperfish.net with esmtp (Exim 4.80 #2 (Debian)) + id 1ZM99T-0002U9-JY; Mon, 03 Aug 2015 07:23:11 +0100 +Received: from inmail ([10.112.100.10] helo=mx0.pepperfish.net) + by platypus.pepperfish.net with esmtp (Exim 4.80 #2 (Debian)) + id 1ZM99R-0002U2-4c + for <obnam-dev@obnam.org>; Mon, 03 Aug 2015 07:23:09 +0100 +Received: from pieni.net ([95.142.166.37] ident=postfix) + by mx0.pepperfish.net with esmtps (TLS1.2:DHE_RSA_AES_256_CBC_SHA256:256) + (Exim 4.80) (envelope-from <liw@liw.fi>) id 1ZM99P-0003lF-9c + for obnam-dev@obnam.org; Mon, 03 Aug 2015 07:23:09 +0100 +Received: from exolobe1.liw.fi (188-127-214-94.cust.suomicom.net + [188.127.214.94]) + (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) + (No client certificate requested) + by pieni.net (Postfix) with ESMTPSA id 89833217C9 + for <obnam-dev@obnam.org>; Mon, 3 Aug 2015 08:22:59 +0200 (CEST) +Received: from exolobe1.liw.fi (localhost [127.0.0.1]) + by exolobe1.liw.fi (Postfix) with ESMTPS id 60B614012C + for <obnam-dev@obnam.org>; Mon, 3 Aug 2015 09:22:58 +0300 (EEST) +Date: Mon, 3 Aug 2015 09:22:57 +0300 +From: Lars Wirzenius <liw@liw.fi> +To: obnam-dev@obnam.org +Message-ID: <20150803062257.GX2398@exolobe1.liw.fi> +References: <5972291.20vWKz5Qal@kongruent> <2978302.nGKuNUQN6W@conductor> + <20150802124508.GT2398@exolobe1.liw.fi> + <1952842.84R90M79oU@conductor> +MIME-Version: 1.0 +Content-Type: text/plain; charset=utf-8 +Content-Disposition: inline +Content-Transfer-Encoding: 8bit +In-Reply-To: <1952842.84R90M79oU@conductor> +User-Agent: Mutt/1.5.23 (2014-03-12) +X-Spam-Score: -3.0 +X-Spam-Score-int: -29 +X-Spam-Bar: --- +X-Scanned-By: pepperfish.net, Mon, 03 Aug 2015 07:23:09 +0100 +X-Spam-Report: Content analysis details: (-3.0 points) + pts rule name description + ---- ---------------------- -------------------------------------------------- + -1.0 PPF_USER_AGENT_MUTT User-Agent: contains Mutt (Mutt isn't a spam + tool) -0.5 PPF_USER_AGENT User-Agent: exists + 0.2 PPF_INREPLYTO_NODOTS In-Reply-To contains no dots after the @ + 0.2 PPF_REFERENCES_NODOTS References contains no dots after the @ + -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% + [score: 0.0000] +X-ACL-Warn: message may be spam +X-Scan-Signature: 2e65f5179848bd99ed9586f9b1c7ce7e +Subject: Re: forget --ignore-missing-chunks [was + --fsck-repair-missing-chunks] +X-BeenThere: obnam-dev@obnam.org +X-Mailman-Version: 2.1.5 +Precedence: list +List-Id: Obnam development discussions <obnam-dev-obnam.org> +List-Unsubscribe: <http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/obnam-dev-obnam.org>, + <mailto:obnam-dev-request@obnam.org?subject=unsubscribe> +List-Archive: <http://listmaster.pepperfish.net/pipermail/obnam-dev-obnam.org> +List-Post: <mailto:obnam-dev@obnam.org> +List-Help: <mailto:obnam-dev-request@obnam.org?subject=help> +List-Subscribe: <http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/obnam-dev-obnam.org>, + <mailto:obnam-dev-request@obnam.org?subject=subscribe> +Sender: obnam-dev-bounces@obnam.org +Errors-To: obnam-dev-bounces@obnam.org + +On Sun, Aug 02, 2015 at 10:59:36PM +0200, Lukáš Poláček wrote: +> On Sunday, August 02, 2015 15:45:08 Lars Wirzenius wrote: +> > On Sun, Aug 02, 2015 at 10:59:15AM +0200, Lukáš Poláček wrote: +> > > Okay. How come forget_plugin.py worked before? Was it because +> > > commit_client +> > > also commits chunk indexes? +> > +> > I'm not sure what you mean. commit_client doesn't commit chunk +> > indexes. The forget plugin committs chunk indexes separately. +> +> Where exactly? + +Hm, you're right. It seems to have gotten lost at some point in the +past few months. Crap. If we had an fsck that could fix that, it would +be really nice. + +-- +sic transit disci mundi, ergo obnam + +_______________________________________________ +obnam-dev mailing list +obnam-dev@obnam.org +http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/obnam-dev-obnam.org diff --git a/tickets/75301806a39d4d0bb41300eaf3db7fe2/Maildir/new/1455998995.M62474P17339Q21.exolobe1 b/tickets/75301806a39d4d0bb41300eaf3db7fe2/Maildir/new/1455998995.M62474P17339Q21.exolobe1 new file mode 100644 index 0000000..33c2886 --- /dev/null +++ b/tickets/75301806a39d4d0bb41300eaf3db7fe2/Maildir/new/1455998995.M62474P17339Q21.exolobe1 @@ -0,0 +1,98 @@ +Return-Path: <obnam-dev-bounces@obnam.org> +X-Original-To: distix@pieni.net +Delivered-To: distix@pieni.net +Received: from bagpuss.pepperfish.net (bagpuss.pepperfish.net [148.251.8.16]) + (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) + (No client certificate requested) + by pieni.net (Postfix) with ESMTPS id 4E1672D3CB + for <distix@pieni.net>; Mon, 3 Aug 2015 08:23:12 +0200 (CEST) +Received: from platypus.pepperfish.net (unknown [10.112.100.20]) + by bagpuss.pepperfish.net (Postfix) with ESMTP id AEFF0BEC; + Mon, 3 Aug 2015 07:23:11 +0100 (BST) +Received: from ip6-localhost ([::1] helo=platypus.pepperfish.net) + by platypus.pepperfish.net with esmtp (Exim 4.80 #2 (Debian)) + id 1ZM99T-0002U9-JY; Mon, 03 Aug 2015 07:23:11 +0100 +Received: from inmail ([10.112.100.10] helo=mx0.pepperfish.net) + by platypus.pepperfish.net with esmtp (Exim 4.80 #2 (Debian)) + id 1ZM99R-0002U2-4c + for <obnam-dev@obnam.org>; Mon, 03 Aug 2015 07:23:09 +0100 +Received: from pieni.net ([95.142.166.37] ident=postfix) + by mx0.pepperfish.net with esmtps (TLS1.2:DHE_RSA_AES_256_CBC_SHA256:256) + (Exim 4.80) (envelope-from <liw@liw.fi>) id 1ZM99P-0003lF-9c + for obnam-dev@obnam.org; Mon, 03 Aug 2015 07:23:09 +0100 +Received: from exolobe1.liw.fi (188-127-214-94.cust.suomicom.net + [188.127.214.94]) + (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) + (No client certificate requested) + by pieni.net (Postfix) with ESMTPSA id 89833217C9 + for <obnam-dev@obnam.org>; Mon, 3 Aug 2015 08:22:59 +0200 (CEST) +Received: from exolobe1.liw.fi (localhost [127.0.0.1]) + by exolobe1.liw.fi (Postfix) with ESMTPS id 60B614012C + for <obnam-dev@obnam.org>; Mon, 3 Aug 2015 09:22:58 +0300 (EEST) +Date: Mon, 3 Aug 2015 09:22:57 +0300 +From: Lars Wirzenius <liw@liw.fi> +To: obnam-dev@obnam.org +Message-ID: <20150803062257.GX2398@exolobe1.liw.fi> +References: <5972291.20vWKz5Qal@kongruent> <2978302.nGKuNUQN6W@conductor> + <20150802124508.GT2398@exolobe1.liw.fi> + <1952842.84R90M79oU@conductor> +MIME-Version: 1.0 +Content-Type: text/plain; charset=utf-8 +Content-Disposition: inline +Content-Transfer-Encoding: 8bit +In-Reply-To: <1952842.84R90M79oU@conductor> +User-Agent: Mutt/1.5.23 (2014-03-12) +X-Spam-Score: -3.0 +X-Spam-Score-int: -29 +X-Spam-Bar: --- +X-Scanned-By: pepperfish.net, Mon, 03 Aug 2015 07:23:09 +0100 +X-Spam-Report: Content analysis details: (-3.0 points) + pts rule name description + ---- ---------------------- -------------------------------------------------- + -1.0 PPF_USER_AGENT_MUTT User-Agent: contains Mutt (Mutt isn't a spam + tool) -0.5 PPF_USER_AGENT User-Agent: exists + 0.2 PPF_INREPLYTO_NODOTS In-Reply-To contains no dots after the @ + 0.2 PPF_REFERENCES_NODOTS References contains no dots after the @ + -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% + [score: 0.0000] +X-ACL-Warn: message may be spam +X-Scan-Signature: 2e65f5179848bd99ed9586f9b1c7ce7e +Subject: Re: forget --ignore-missing-chunks [was + --fsck-repair-missing-chunks] +X-BeenThere: obnam-dev@obnam.org +X-Mailman-Version: 2.1.5 +Precedence: list +List-Id: Obnam development discussions <obnam-dev-obnam.org> +List-Unsubscribe: <http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/obnam-dev-obnam.org>, + <mailto:obnam-dev-request@obnam.org?subject=unsubscribe> +List-Archive: <http://listmaster.pepperfish.net/pipermail/obnam-dev-obnam.org> +List-Post: <mailto:obnam-dev@obnam.org> +List-Help: <mailto:obnam-dev-request@obnam.org?subject=help> +List-Subscribe: <http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/obnam-dev-obnam.org>, + <mailto:obnam-dev-request@obnam.org?subject=subscribe> +Sender: obnam-dev-bounces@obnam.org +Errors-To: obnam-dev-bounces@obnam.org + +On Sun, Aug 02, 2015 at 10:59:36PM +0200, Lukáš Poláček wrote: +> On Sunday, August 02, 2015 15:45:08 Lars Wirzenius wrote: +> > On Sun, Aug 02, 2015 at 10:59:15AM +0200, Lukáš Poláček wrote: +> > > Okay. How come forget_plugin.py worked before? Was it because +> > > commit_client +> > > also commits chunk indexes? +> > +> > I'm not sure what you mean. commit_client doesn't commit chunk +> > indexes. The forget plugin committs chunk indexes separately. +> +> Where exactly? + +Hm, you're right. It seems to have gotten lost at some point in the +past few months. Crap. If we had an fsck that could fix that, it would +be really nice. + +-- +sic transit disci mundi, ergo obnam + +_______________________________________________ +obnam-dev mailing list +obnam-dev@obnam.org +http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/obnam-dev-obnam.org diff --git a/tickets/75301806a39d4d0bb41300eaf3db7fe2/Maildir/new/1455998996.M485692P17339Q52.exolobe1 b/tickets/75301806a39d4d0bb41300eaf3db7fe2/Maildir/new/1455998996.M485692P17339Q52.exolobe1 new file mode 100644 index 0000000..6b5ac7b --- /dev/null +++ b/tickets/75301806a39d4d0bb41300eaf3db7fe2/Maildir/new/1455998996.M485692P17339Q52.exolobe1 @@ -0,0 +1,184 @@ +Return-Path: <obnam-dev-bounces@obnam.org> +X-Original-To: distix@pieni.net +Delivered-To: distix@pieni.net +Received: from bagpuss.pepperfish.net (bagpuss.pepperfish.net [148.251.8.16]) + (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) + (No client certificate requested) + by pieni.net (Postfix) with ESMTPS id 80FD62AB46 + for <distix@pieni.net>; Wed, 22 Jul 2015 21:31:11 +0200 (CEST) +Received: from platypus.pepperfish.net (unknown [10.112.100.20]) + by bagpuss.pepperfish.net (Postfix) with ESMTP id F41202E1A; + Wed, 22 Jul 2015 20:31:10 +0100 (BST) +Received: from ip6-localhost ([::1] helo=platypus.pepperfish.net) + by platypus.pepperfish.net with esmtp (Exim 4.80 #2 (Debian)) + id 1ZHzjS-0007KO-SW; Wed, 22 Jul 2015 20:31:10 +0100 +Received: from inmail ([10.112.100.10] helo=mx0.pepperfish.net) + by platypus.pepperfish.net with esmtp (Exim 4.80 #2 (Debian)) + id 1ZHzjR-0007KG-Fc + for <obnam-dev@obnam.org>; Wed, 22 Jul 2015 20:31:09 +0100 +Received: from element.ksp.sk ([158.195.16.154] helo=ksp.sk ident=postfix) + by mx0.pepperfish.net with esmtp (Exim 4.80) + (envelope-from <lukas@ksp.sk>) id 1ZHzjP-00056o-G9 + for obnam-dev@obnam.org; Wed, 22 Jul 2015 20:31:09 +0100 +Received: from kongruent.localnet (c213-89-161-244.bredband.comhem.se + [213.89.161.244]) by ksp.sk (Postfix) with ESMTPSA id 3A57F4C009; + Wed, 22 Jul 2015 21:31:00 +0200 (CEST) +From: =?utf-8?B?THVrw6HFoSBQb2zDocSNZWs=?= <lukas@ksp.sk> +To: Lars Wirzenius <liw@liw.fi> +Date: Wed, 22 Jul 2015 21:30:59 +0200 +Message-ID: <1527462.Y7ExHB7XNM@kongruent> +User-Agent: KMail/4.14.8 (Linux/4.0.5-gentoo; KDE/4.14.10; x86_64; ; ) +In-Reply-To: <20150722191513.GG2366@exolobe1.liw.fi> +References: <5972291.20vWKz5Qal@kongruent> <1460492.xlg7OpTbOb@conductor> + <20150722191513.GG2366@exolobe1.liw.fi> +MIME-Version: 1.0 +Content-Transfer-Encoding: quoted-printable +Content-Type: text/plain; charset="utf-8" +X-Spam-Score: -3.6 +X-Spam-Score-int: -35 +X-Spam-Bar: --- +X-Scanned-By: pepperfish.net, Wed, 22 Jul 2015 20:31:09 +0100 +X-Spam-Report: Content analysis details: (-3.6 points) + pts rule name description + ---- ---------------------- -------------------------------------------------- + -0.5 PPF_USER_AGENT User-Agent: exists + 0.5 PPF_MESSAGEID_NODOTS Message-Id contains no dots after the @ + 0.2 PPF_REFERENCES_NODOTS References contains no dots after the @ + -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at http://www.dnswl.org/, low + trust [158.195.16.154 listed in list.dnswl.org] + -0.0 SPF_HELO_PASS SPF: HELO matches SPF record + -0.0 SPF_PASS SPF: sender matches SPF record + -1.2 RP_MATCHES_RCVD Envelope sender domain matches handover relay domain + -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% + [score: 0.0000] +X-ACL-Warn: message may be spam +X-Scan-Signature: 77f6b01525a8320d83ba7255a0c2c651 +Cc: Gary <gary@mups.co.uk>, obnam-dev@obnam.org +Subject: Re: forget --ignore-missing-chunks [was + --fsck-repair-missing-chunks] +X-BeenThere: obnam-dev@obnam.org +X-Mailman-Version: 2.1.5 +Precedence: list +List-Id: Obnam development discussions <obnam-dev-obnam.org> +List-Unsubscribe: <http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/obnam-dev-obnam.org>, + <mailto:obnam-dev-request@obnam.org?subject=unsubscribe> +List-Archive: <http://listmaster.pepperfish.net/pipermail/obnam-dev-obnam.org> +List-Post: <mailto:obnam-dev@obnam.org> +List-Help: <mailto:obnam-dev-request@obnam.org?subject=help> +List-Subscribe: <http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/obnam-dev-obnam.org>, + <mailto:obnam-dev-request@obnam.org?subject=subscribe> +Sender: obnam-dev-bounces@obnam.org +Errors-To: obnam-dev-bounces@obnam.org + +onsdagen den 22 juli 2015 22:15:13 skrev Lars Wirzenius: +> On Mon, Jul 20, 2015 at 05:57:59PM +0200, Luk=C3=A1=C5=A1 Pol=C3=A1=C4= +=8Dek wrote: +> > The new solution is to run 'obam forget' with +> > --ignore-missing-chunks. Here is a patch +> > https://github.com/lukipuki/obnam/pull/2 +>=20 +> Here's my current thinking about the "missing chunk" situation. +>=20 +> Zeroth, I'd like to thank everyone for the good discussion in this +> thread. I've been busy with things (including working on the upcoming= + +> new Obnam repository format), and don't always have time to respond +> promptly. It makes me glad, and it's actively helping me, when +> everyone else helps each other out. + +Thank you for such great software! + +> First, I'd really like to find the root cause or causes for why this +> happens. It happens too often to be random filesystem corruption, so +> I'm assuming it's a bug in Obnam. Unfortunately, I don't currently +> have a clue how to reproduce this reliably. Help wanted! + +While debugging this, I think I spotted a possible place in the code th= +at might be causing this (at least in the case of interrupted forget). = +I'll try to recall where it was and investigate. + +> Second, even if we fix all such Obnam bugs, there will always be othe= +r +> problems, including breaking hard drives. It would be good for Obnam +> to be robust against problems in the backup repository. Thus I think +> "obnam restore", "obnam mount", "obnam forget", and other Obnam +> commands need to be fixed to handle missing chunks, by reporting it a= +s +> an error, but preventing Obnam from continuing the operation. +>=20 +> I don't think we should have an option to enable this robustness. It +> should always happen. This is a change from what I've said before: +> I've changed my mind. This actually happens. I'm not as stubborn as a= + +> mule. I'm only as stubborn as an ... a donkey. + +Great! I agree. + +> The first step in making Obnam more robust is to add one or more test= +s +> for missing chunks. Ideally these would be in the yarn test suite. +> Something like this: +>=20 +> * Create L/foo with some random data. +> * Backup L. +> * Create L/bar with some other random data. +> * Create L/foobar which is a copy of L/foo. +> * Backup L. +> * Remove file chunk data files that were created in the second backup= +, +> but keep the ones that were there for the first backup. +> * Restore first generation. This should work perfectly. +> * Restore second generation. This should restore L/foo and L/foobar +> correctly, and report failure for L/bar. +> * Run fsck on the repository, getting it to fix problems. +> * Restore second generation. This should now work perfectly, given +> that fsck fixed problems. +>=20 +> With the test suite (possibly without fsck), writing fixes gets more +> sensible, since we can be more confident the fixes actually work. The= + +> test should be augmented by testing "obnam mount" as well. +>=20 +> As far as how make Obnam more robust against missing chunks, I'm goin= +g +> to claim that adding 0-byte replacement chunks to replace missing +> chunks is a bad idea. It means that when people do a restore, they +> silently get the wrong data. A better way to handle a missing chunk i= +s +> for restore to notice it, report an error, and then continue instead +> of crashing. Luk=C3=A1=C5=A1 has been working toward that goal, I bel= +ieve. + +As far as I can tell, restore (and mount) does this already. It reports= + "read error" or something similar when a file with a missing chunks is= + being restored, but the rest of the generation is just fine. I've test= +ed it on the copy of my broken repo. + +However, forget is not that robust and that's what I worked on. + +> What fsck should do about is that it should remove the missing chunk +> from the "chunk indexes", so that no new backups find the missing +> chunk using its checksum. Further backups would then make a new chunk= + +> for the missing data. I would not have fsck do further fixes, since +> that would hide the fact that a chunk has gone missing and that any +> restored data is incomplete. +>=20 +> I'll volunteer to make the changes in the yarn test suite, though it +> may take a while before I get it done. If someone else can do it firs= +t +> (it should be fairly simple), this will progress faster. +>=20 +> Luk=C3=A1=C5=A1, after the new tests are written, would you be happy = +to adjust, +> if necessary, your patches? + +Sure! + +Cheers, +Lukas + +_______________________________________________ +obnam-dev mailing list +obnam-dev@obnam.org +http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/obnam-dev-obnam.org diff --git a/tickets/75301806a39d4d0bb41300eaf3db7fe2/Maildir/new/1455998996.M5904P17339Q42.exolobe1 b/tickets/75301806a39d4d0bb41300eaf3db7fe2/Maildir/new/1455998996.M5904P17339Q42.exolobe1 new file mode 100644 index 0000000..7fb59bd --- /dev/null +++ b/tickets/75301806a39d4d0bb41300eaf3db7fe2/Maildir/new/1455998996.M5904P17339Q42.exolobe1 @@ -0,0 +1,88 @@ +Return-Path: <obnam-dev-bounces@obnam.org> +X-Original-To: distix@pieni.net +Delivered-To: distix@pieni.net +Received: from bagpuss.pepperfish.net (bagpuss.pepperfish.net [148.251.8.16]) + (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) + (No client certificate requested) + by pieni.net (Postfix) with ESMTPS id 4003E2CA47 + for <distix@pieni.net>; Sat, 1 Aug 2015 13:06:25 +0200 (CEST) +Received: from platypus.pepperfish.net (unknown [10.112.100.20]) + by bagpuss.pepperfish.net (Postfix) with ESMTP id A2D57BCE; + Sat, 1 Aug 2015 12:06:24 +0100 (BST) +Received: from ip6-localhost ([::1] helo=platypus.pepperfish.net) + by platypus.pepperfish.net with esmtp (Exim 4.80 #2 (Debian)) + id 1ZLUcS-0006tD-Ea; Sat, 01 Aug 2015 12:06:24 +0100 +Received: from inmail ([10.112.100.10] helo=mx0.pepperfish.net) + by platypus.pepperfish.net with esmtp (Exim 4.80 #2 (Debian)) + id 1ZLUcQ-0006t3-Gc + for <obnam-dev@obnam.org>; Sat, 01 Aug 2015 12:06:22 +0100 +Received: from pieni.net ([95.142.166.37] ident=postfix) + by mx0.pepperfish.net with esmtps (TLS1.2:DHE_RSA_AES_256_CBC_SHA256:256) + (Exim 4.80) (envelope-from <liw@liw.fi>) id 1ZLUcO-0005gm-Ku + for obnam-dev@obnam.org; Sat, 01 Aug 2015 12:06:22 +0100 +Received: from exolobe1.liw.fi (188-127-214-94.cust.suomicom.net + [188.127.214.94]) + (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) + (No client certificate requested) + by pieni.net (Postfix) with ESMTPSA id ABCE22CA47; + Sat, 1 Aug 2015 13:06:14 +0200 (CEST) +Received: from exolobe1.liw.fi (localhost [127.0.0.1]) + by exolobe1.liw.fi (Postfix) with ESMTPS id 0B84A40079; + Sat, 1 Aug 2015 14:06:14 +0300 (EEST) +Date: Sat, 1 Aug 2015 14:06:12 +0300 +From: Lars Wirzenius <liw@liw.fi> +To: =?utf-8?B?THVrw6HFoSBQb2zDocSNZWs=?= <lukas@ksp.sk>, + obnam-dev@obnam.org +Message-ID: <20150801110612.GH2398@exolobe1.liw.fi> +References: <5972291.20vWKz5Qal@kongruent> <5075317.ExUSC5bmSc@conductor> + <20150726174857.GA2366@exolobe1.liw.fi> + <11788310.BxzROgvz5X@kongruent> + <20150730193320.GU3328@exolobe1.liw.fi> +MIME-Version: 1.0 +Content-Type: text/plain; charset=us-ascii +Content-Disposition: inline +In-Reply-To: <20150730193320.GU3328@exolobe1.liw.fi> +User-Agent: Mutt/1.5.23 (2014-03-12) +X-Spam-Score: -3.2 +X-Spam-Score-int: -31 +X-Spam-Bar: --- +X-Scanned-By: pepperfish.net, Sat, 01 Aug 2015 12:06:22 +0100 +X-Spam-Report: Content analysis details: (-3.2 points) + pts rule name description + ---- ---------------------- -------------------------------------------------- + -1.0 PPF_USER_AGENT_MUTT User-Agent: contains Mutt (Mutt isn't a spam + tool) -0.5 PPF_USER_AGENT User-Agent: exists + 0.2 PPF_REFERENCES_NODOTS References contains no dots after the @ + -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% + [score: 0.0000] +X-ACL-Warn: message may be spam +X-Scan-Signature: 4d6a8138423bc3935caeba00a672474a +Subject: Re: forget --ignore-missing-chunks [was + --fsck-repair-missing-chunks] +X-BeenThere: obnam-dev@obnam.org +X-Mailman-Version: 2.1.5 +Precedence: list +List-Id: Obnam development discussions <obnam-dev-obnam.org> +List-Unsubscribe: <http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/obnam-dev-obnam.org>, + <mailto:obnam-dev-request@obnam.org?subject=unsubscribe> +List-Archive: <http://listmaster.pepperfish.net/pipermail/obnam-dev-obnam.org> +List-Post: <mailto:obnam-dev@obnam.org> +List-Help: <mailto:obnam-dev-request@obnam.org?subject=help> +List-Subscribe: <http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/obnam-dev-obnam.org>, + <mailto:obnam-dev-request@obnam.org?subject=subscribe> +Sender: obnam-dev-bounces@obnam.org +Errors-To: obnam-dev-bounces@obnam.org + +On Thu, Jul 30, 2015 at 10:33:20PM +0300, Lars Wirzenius wrote: +> I can have a try at this in the weekend. + +I've pushed my changes to remove chunk files only after references +have been changed to master now. + +-- +sic transit disci mundi, ergo obnam + +_______________________________________________ +obnam-dev mailing list +obnam-dev@obnam.org +http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/obnam-dev-obnam.org diff --git a/tickets/75301806a39d4d0bb41300eaf3db7fe2/Maildir/new/1455998996.M66607P17339Q44.exolobe1 b/tickets/75301806a39d4d0bb41300eaf3db7fe2/Maildir/new/1455998996.M66607P17339Q44.exolobe1 new file mode 100644 index 0000000..e701349 --- /dev/null +++ b/tickets/75301806a39d4d0bb41300eaf3db7fe2/Maildir/new/1455998996.M66607P17339Q44.exolobe1 @@ -0,0 +1,105 @@ +Return-Path: <obnam-dev-bounces@obnam.org> +X-Original-To: distix@pieni.net +Delivered-To: distix@pieni.net +Received: from bagpuss.pepperfish.net (bagpuss.pepperfish.net [148.251.8.16]) + (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) + (No client certificate requested) + by pieni.net (Postfix) with ESMTPS id AAEBC22B6A + for <distix@pieni.net>; Sun, 2 Aug 2015 10:59:32 +0200 (CEST) +Received: from platypus.pepperfish.net (unknown [10.112.100.20]) + by bagpuss.pepperfish.net (Postfix) with ESMTP id 17BC8C13; + Sun, 2 Aug 2015 09:59:32 +0100 (BST) +Received: from ip6-localhost ([::1] helo=platypus.pepperfish.net) + by platypus.pepperfish.net with esmtp (Exim 4.80 #2 (Debian)) + id 1ZLp7D-0003Dg-Vm; Sun, 02 Aug 2015 09:59:32 +0100 +Received: from inmail ([10.112.100.10] helo=mx0.pepperfish.net) + by platypus.pepperfish.net with esmtp (Exim 4.80 #2 (Debian)) + id 1ZLp7C-0003Da-11 + for <obnam-dev@obnam.org>; Sun, 02 Aug 2015 09:59:30 +0100 +Received: from element.ksp.sk ([158.195.16.154] helo=ksp.sk ident=postfix) + by mx0.pepperfish.net with esmtp (Exim 4.80) + (envelope-from <lukas@ksp.sk>) id 1ZLp7A-0000rh-9g + for obnam-dev@obnam.org; Sun, 02 Aug 2015 09:59:29 +0100 +Received: from conductor.localnet (vlan22.officevpn.sto.spotify.net + [194.68.181.235]) by ksp.sk (Postfix) with ESMTPSA id 52AE04C093; + Sun, 2 Aug 2015 10:59:18 +0200 (CEST) +From: =?utf-8?B?THVrw6HFoSBQb2zDocSNZWs=?= <lukas@ksp.sk> +To: Lars Wirzenius <liw@liw.fi> +Date: Sun, 02 Aug 2015 10:59:15 +0200 +Message-ID: <2978302.nGKuNUQN6W@conductor> +User-Agent: KMail/4.13.3 (Linux/3.13.0-57-generic; KDE/4.13.3; x86_64; ; ) +In-Reply-To: <20150730193320.GU3328@exolobe1.liw.fi> +References: <5972291.20vWKz5Qal@kongruent> <11788310.BxzROgvz5X@kongruent> + <20150730193320.GU3328@exolobe1.liw.fi> +MIME-Version: 1.0 +Content-Transfer-Encoding: quoted-printable +Content-Type: text/plain; charset="utf-8" +X-Spam-Score: -2.5 +X-Spam-Score-int: -24 +X-Spam-Bar: -- +X-Scanned-By: pepperfish.net, Sun, 02 Aug 2015 09:59:29 +0100 +X-Spam-Report: Content analysis details: (-2.5 points) + pts rule name description + ---- ---------------------- -------------------------------------------------- + -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at http://www.dnswl.org/, low + trust [158.195.16.154 listed in list.dnswl.org] + -0.5 PPF_USER_AGENT User-Agent: exists + 0.5 PPF_MESSAGEID_NODOTS Message-Id contains no dots after the @ + 0.2 PPF_REFERENCES_NODOTS References contains no dots after the @ + -0.0 SPF_HELO_PASS SPF: HELO matches SPF record + -0.0 SPF_PASS SPF: sender matches SPF record + -0.1 RP_MATCHES_RCVD Envelope sender domain matches handover relay domain + -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% + [score: 0.0000] +X-ACL-Warn: message may be spam +X-Scan-Signature: 31220cad705bfbd317f78b62475c9ba5 +Cc: obnam-dev@obnam.org +Subject: Re: forget --ignore-missing-chunks [was + --fsck-repair-missing-chunks] +X-BeenThere: obnam-dev@obnam.org +X-Mailman-Version: 2.1.5 +Precedence: list +List-Id: Obnam development discussions <obnam-dev-obnam.org> +List-Unsubscribe: <http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/obnam-dev-obnam.org>, + <mailto:obnam-dev-request@obnam.org?subject=unsubscribe> +List-Archive: <http://listmaster.pepperfish.net/pipermail/obnam-dev-obnam.org> +List-Post: <mailto:obnam-dev@obnam.org> +List-Help: <mailto:obnam-dev-request@obnam.org?subject=help> +List-Subscribe: <http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/obnam-dev-obnam.org>, + <mailto:obnam-dev-request@obnam.org?subject=subscribe> +Sender: obnam-dev-bounces@obnam.org +Errors-To: obnam-dev-bounces@obnam.org + +On Thursday, July 30, 2015 22:33:20 Lars Wirzenius wrote: +> On Sun, Jul 26, 2015 at 08:01:37PM +0200, Luk=C3=A1=C5=A1 Pol=C3=A1=C4= +=8Dek wrote: +> > > 1. Lock everything. +> > > 2. Find out which chunks can be removed. +> > > 3. Remove all references to the chunks (per-client data, chunk +> > >=20 +> > > indexes). +> > >=20 +> > > 4. Commit all changes (and unlock). +> > > 5. Delete the chunks. +> >=20 +> > That's what my patch does (except unlock, but that is a small detai= +l). +>=20 +> I don't think it does, actually. The chunk indexes get updated while +> chunks get removed, in flush_chunks in repo_fmt_6.py. All of the chun= +k +> indexes updates need to be committed before any of the chunk files ge= +t +> removed. Otherwise, if forget gets interrupted, the indexes may +> reference a chunk that's actually removed already. + +Okay. How come forget_plugin.py worked before? Was it because commit_cl= +ient=20 +also commits chunk indexes? + +Lukas + +_______________________________________________ +obnam-dev mailing list +obnam-dev@obnam.org +http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/obnam-dev-obnam.org diff --git a/tickets/75301806a39d4d0bb41300eaf3db7fe2/Maildir/new/1455998996.M725662P17339Q56.exolobe1 b/tickets/75301806a39d4d0bb41300eaf3db7fe2/Maildir/new/1455998996.M725662P17339Q56.exolobe1 new file mode 100644 index 0000000..65a0b25 --- /dev/null +++ b/tickets/75301806a39d4d0bb41300eaf3db7fe2/Maildir/new/1455998996.M725662P17339Q56.exolobe1 @@ -0,0 +1,130 @@ +Return-Path: <obnam-dev-bounces@obnam.org> +X-Original-To: distix@pieni.net +Delivered-To: distix@pieni.net +Received: from bagpuss.pepperfish.net (bagpuss.pepperfish.net [148.251.8.16]) + (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) + (No client certificate requested) + by pieni.net (Postfix) with ESMTPS id DA6902BA6E + for <distix@pieni.net>; Sun, 26 Jul 2015 20:29:27 +0200 (CEST) +Received: from platypus.pepperfish.net (unknown [10.112.100.20]) + by bagpuss.pepperfish.net (Postfix) with ESMTP id 7974DBBD; + Sun, 26 Jul 2015 19:29:27 +0100 (BST) +Received: from ip6-localhost ([::1] helo=platypus.pepperfish.net) + by platypus.pepperfish.net with esmtp (Exim 4.80 #2 (Debian)) + id 1ZJQfv-0003rL-C6; Sun, 26 Jul 2015 19:29:27 +0100 +Received: from inmail ([10.112.100.10] helo=mx0.pepperfish.net) + by platypus.pepperfish.net with esmtp (Exim 4.80 #2 (Debian)) + id 1ZJQfu-0003rF-3t + for <obnam-dev@obnam.org>; Sun, 26 Jul 2015 19:29:26 +0100 +Received: from element.ksp.sk ([158.195.16.154] helo=ksp.sk ident=postfix) + by mx0.pepperfish.net with esmtp (Exim 4.80) + (envelope-from <lukas@ksp.sk>) id 1ZJQfr-0001aX-BD + for obnam-dev@obnam.org; Sun, 26 Jul 2015 19:29:25 +0100 +Received: from conductor.localnet (c213-89-161-244.bredband.comhem.se + [213.89.161.244]) by ksp.sk (Postfix) with ESMTPSA id 583014C00E; + Sun, 26 Jul 2015 20:29:16 +0200 (CEST) +From: =?utf-8?B?THVrw6HFoSBQb2zDocSNZWs=?= <lukas@ksp.sk> +To: obnam-dev@obnam.org +Date: Sun, 26 Jul 2015 20:29:19 +0200 +Message-ID: <3288012.i7SmB4AIyl@conductor> +User-Agent: KMail/4.13.3 (Linux/3.13.0-57-generic; KDE/4.13.3; x86_64; ; ) +In-Reply-To: <20150726174857.GA2366@exolobe1.liw.fi> +References: <5972291.20vWKz5Qal@kongruent> <5075317.ExUSC5bmSc@conductor> + <20150726174857.GA2366@exolobe1.liw.fi> +MIME-Version: 1.0 +Content-Transfer-Encoding: quoted-printable +Content-Type: text/plain; charset="utf-8" +X-Spam-Score: -2.4 +X-Spam-Score-int: -23 +X-Spam-Bar: -- +X-Scanned-By: pepperfish.net, Sun, 26 Jul 2015 19:29:25 +0100 +X-Spam-Report: Content analysis details: (-2.4 points) + pts rule name description + ---- ---------------------- -------------------------------------------------- + -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at http://www.dnswl.org/, low + trust [158.195.16.154 listed in list.dnswl.org] + -0.5 PPF_USER_AGENT User-Agent: exists + 0.5 PPF_MESSAGEID_NODOTS Message-Id contains no dots after the @ + 0.2 PPF_REFERENCES_NODOTS References contains no dots after the @ + -0.0 SPF_HELO_PASS SPF: HELO matches SPF record + -0.0 SPF_PASS SPF: sender matches SPF record + -0.0 RP_MATCHES_RCVD Envelope sender domain matches handover relay domain + -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% + [score: 0.0000] +X-ACL-Warn: message may be spam +X-Scan-Signature: e70f835a820f1b345136a73b37b0b91a +Cc: Lars Wirzenius <liw@liw.fi> +Subject: Re: forget --ignore-missing-chunks [was + --fsck-repair-missing-chunks] +X-BeenThere: obnam-dev@obnam.org +X-Mailman-Version: 2.1.5 +Precedence: list +List-Id: Obnam development discussions <obnam-dev-obnam.org> +List-Unsubscribe: <http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/obnam-dev-obnam.org>, + <mailto:obnam-dev-request@obnam.org?subject=unsubscribe> +List-Archive: <http://listmaster.pepperfish.net/pipermail/obnam-dev-obnam.org> +List-Post: <mailto:obnam-dev@obnam.org> +List-Help: <mailto:obnam-dev-request@obnam.org?subject=help> +List-Subscribe: <http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/obnam-dev-obnam.org>, + <mailto:obnam-dev-request@obnam.org?subject=subscribe> +Sender: obnam-dev-bounces@obnam.org +Errors-To: obnam-dev-bounces@obnam.org + +On Sunday, July 26, 2015 20:48:57 Lars Wirzenius wrote: +> On Sat, Jul 25, 2015 at 03:28:17PM +0200, Luk=C3=A1=C5=A1 Pol=C3=A1=C4= +=8Dek wrote: +> > Done! See https://github.com/lukipuki/obnam/compare/interrupted-for= +get +> >=20 +> > This is what obnam is capable of now. Let's interrupt it with Ctrl-= +C: +> > $ obnam forget +> > forgetting generations: 11/31 done^C +> > $ obnam force-lock # need to unlock after interrupt +> > $ obnam forget +> > forgetting generations: 21/21 done +> >=20 +> > Not only it doesn't crash now, but it resumes deleting after the po= +int +> > where it was interrupted! +>=20 +> It struck me today that the right way to do forget is like this: +>=20 +> 1. Lock everything. +> 2. Find out which chunks can be removed. +> 3. Remove all references to the chunks (per-client data, chunk +> indexes). +> 4. Commit all changes (and unlock). +> 5. Delete the chunks. +>=20 +> If Obnam crashes during step 5, it means that some chunks will be +> left, but fsck should deal with that. (That assumes an fsck that's +> fast enough that it can be realistically run. The current one is too +> slow for most people.) +>=20 +> I'll ponder on this for a bit. Until I do, I won't make a new release= +, +> though. +>=20 +> I didn't yet look through your patch in detail. One note, though, is +> that I'd prefer to not have boolean "do this instead of that" +> switches, such as the unlock argument you add to commit_client. It's = +a +> better API to have those separate. + +I've now overwritten the last patch in my branch. I've added +"commit_client_without_unlock" to the API, but I don't like that name v= +ery=20 +much. + +I think the commit_client function should do just "commit" and then we = +can=20 +have "commit_and_unclock_client". + +Lukas + + +_______________________________________________ +obnam-dev mailing list +obnam-dev@obnam.org +http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/obnam-dev-obnam.org diff --git a/tickets/75301806a39d4d0bb41300eaf3db7fe2/Maildir/new/1455998999.M112042P17339Q90.exolobe1 b/tickets/75301806a39d4d0bb41300eaf3db7fe2/Maildir/new/1455998999.M112042P17339Q90.exolobe1 new file mode 100644 index 0000000..a824eb5 --- /dev/null +++ b/tickets/75301806a39d4d0bb41300eaf3db7fe2/Maildir/new/1455998999.M112042P17339Q90.exolobe1 @@ -0,0 +1,100 @@ +Return-Path: <obnam-dev-bounces@obnam.org> +X-Original-To: distix@pieni.net +Delivered-To: distix@pieni.net +Received: from bagpuss.pepperfish.net (bagpuss.pepperfish.net [148.251.8.16]) + (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) + (No client certificate requested) + by pieni.net (Postfix) with ESMTPS id 6DF6D2D3AC + for <distix@pieni.net>; Sun, 2 Aug 2015 22:59:48 +0200 (CEST) +Received: from platypus.pepperfish.net (unknown [10.112.100.20]) + by bagpuss.pepperfish.net (Postfix) with ESMTP id D2F94BC3; + Sun, 2 Aug 2015 21:59:47 +0100 (BST) +Received: from ip6-localhost ([::1] helo=platypus.pepperfish.net) + by platypus.pepperfish.net with esmtp (Exim 4.80 #2 (Debian)) + id 1ZM0MF-0000Zt-OH; Sun, 02 Aug 2015 21:59:47 +0100 +Received: from inmail ([10.112.100.10] helo=mx0.pepperfish.net) + by platypus.pepperfish.net with esmtp (Exim 4.80 #2 (Debian)) + id 1ZM0MD-0000Zh-Nw + for <obnam-dev@obnam.org>; Sun, 02 Aug 2015 21:59:45 +0100 +Received: from element.ksp.sk ([158.195.16.154] helo=ksp.sk ident=postfix) + by mx0.pepperfish.net with esmtp (Exim 4.80) + (envelope-from <lukas@ksp.sk>) id 1ZM0MB-0004g6-Gs + for obnam-dev@obnam.org; Sun, 02 Aug 2015 21:59:45 +0100 +Received: from conductor.localnet (c213-89-161-244.bredband.comhem.se + [213.89.161.244]) by ksp.sk (Postfix) with ESMTPSA id C0EB14C094; + Sun, 2 Aug 2015 22:59:36 +0200 (CEST) +From: =?utf-8?B?THVrw6HFoSBQb2zDocSNZWs=?= <lukas@ksp.sk> +To: obnam-dev@obnam.org +Date: Sun, 02 Aug 2015 22:59:36 +0200 +Message-ID: <1952842.84R90M79oU@conductor> +User-Agent: KMail/4.13.3 (Linux/3.13.0-57-generic; KDE/4.13.3; x86_64; ; ) +In-Reply-To: <20150802124508.GT2398@exolobe1.liw.fi> +References: <5972291.20vWKz5Qal@kongruent> <2978302.nGKuNUQN6W@conductor> + <20150802124508.GT2398@exolobe1.liw.fi> +MIME-Version: 1.0 +Content-Transfer-Encoding: quoted-printable +Content-Type: text/plain; charset="utf-8" +X-Spam-Score: -2.5 +X-Spam-Score-int: -24 +X-Spam-Bar: -- +X-Scanned-By: pepperfish.net, Sun, 02 Aug 2015 21:59:45 +0100 +X-Spam-Report: Content analysis details: (-2.5 points) + pts rule name description + ---- ---------------------- -------------------------------------------------- + -0.5 PPF_USER_AGENT User-Agent: exists + 0.5 PPF_MESSAGEID_NODOTS Message-Id contains no dots after the @ + 0.2 PPF_REFERENCES_NODOTS References contains no dots after the @ + -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at http://www.dnswl.org/, low + trust [158.195.16.154 listed in list.dnswl.org] + -0.0 SPF_HELO_PASS SPF: HELO matches SPF record + -0.0 SPF_PASS SPF: sender matches SPF record + -0.1 RP_MATCHES_RCVD Envelope sender domain matches handover relay domain + -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% + [score: 0.0000] +X-ACL-Warn: message may be spam +X-Scan-Signature: dec02e0749d215982dbb7ebe51425d50 +Cc: Lars Wirzenius <liw@liw.fi> +Subject: Re: forget --ignore-missing-chunks [was + --fsck-repair-missing-chunks] +X-BeenThere: obnam-dev@obnam.org +X-Mailman-Version: 2.1.5 +Precedence: list +List-Id: Obnam development discussions <obnam-dev-obnam.org> +List-Unsubscribe: <http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/obnam-dev-obnam.org>, + <mailto:obnam-dev-request@obnam.org?subject=unsubscribe> +List-Archive: <http://listmaster.pepperfish.net/pipermail/obnam-dev-obnam.org> +List-Post: <mailto:obnam-dev@obnam.org> +List-Help: <mailto:obnam-dev-request@obnam.org?subject=help> +List-Subscribe: <http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/obnam-dev-obnam.org>, + <mailto:obnam-dev-request@obnam.org?subject=subscribe> +Sender: obnam-dev-bounces@obnam.org +Errors-To: obnam-dev-bounces@obnam.org + +On Sunday, August 02, 2015 15:45:08 Lars Wirzenius wrote: +> On Sun, Aug 02, 2015 at 10:59:15AM +0200, Luk=C3=A1=C5=A1 Pol=C3=A1=C4= +=8Dek wrote: +> > Okay. How come forget_plugin.py worked before? Was it because +> > commit_client +> > also commits chunk indexes? +>=20 +> I'm not sure what you mean. commit_client doesn't commit chunk +> indexes. The forget plugin committs chunk indexes separately. + +Where exactly? + +I'm looking at repository checked out at 38e95900, before I started wri= +ting my=20 +changes. repo.commit_chunk_indexes() is only called in fsck_plugin.py a= +nd=20 +backup_plugin.py and I can't find it in forget_plugin.py. + +I'm asking, because I'd like to understand the code better as well as t= +he repo=20 +format. + +Lukas + +_______________________________________________ +obnam-dev mailing list +obnam-dev@obnam.org +http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/obnam-dev-obnam.org diff --git a/tickets/75301806a39d4d0bb41300eaf3db7fe2/Maildir/new/1455998999.M184667P17339Q92.exolobe1 b/tickets/75301806a39d4d0bb41300eaf3db7fe2/Maildir/new/1455998999.M184667P17339Q92.exolobe1 new file mode 100644 index 0000000..d20992c --- /dev/null +++ b/tickets/75301806a39d4d0bb41300eaf3db7fe2/Maildir/new/1455998999.M184667P17339Q92.exolobe1 @@ -0,0 +1,93 @@ +Return-Path: <obnam-dev-bounces@obnam.org> +X-Original-To: distix@pieni.net +Delivered-To: distix@pieni.net +Received: from bagpuss.pepperfish.net (bagpuss.pepperfish.net [148.251.8.16]) + (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) + (No client certificate requested) + by pieni.net (Postfix) with ESMTPS id 062442CA57 + for <distix@pieni.net>; Sat, 1 Aug 2015 15:15:25 +0200 (CEST) +Received: from platypus.pepperfish.net (unknown [10.112.100.20]) + by bagpuss.pepperfish.net (Postfix) with ESMTP id 797DFCE7; + Sat, 1 Aug 2015 14:15:24 +0100 (BST) +Received: from ip6-localhost ([::1] helo=platypus.pepperfish.net) + by platypus.pepperfish.net with esmtp (Exim 4.80 #2 (Debian)) + id 1ZLWdI-0007UC-Ay; Sat, 01 Aug 2015 14:15:24 +0100 +Received: from inmail ([10.112.100.10] helo=mx0.pepperfish.net) + by platypus.pepperfish.net with esmtp (Exim 4.80 #2 (Debian)) + id 1ZLWdG-0007U6-QC + for <obnam-dev@obnam.org>; Sat, 01 Aug 2015 14:15:22 +0100 +Received: from pieni.net ([95.142.166.37] ident=postfix) + by mx0.pepperfish.net with esmtps (TLS1.2:DHE_RSA_AES_256_CBC_SHA256:256) + (Exim 4.80) (envelope-from <liw@liw.fi>) id 1ZLWdE-00011G-Km + for obnam-dev@obnam.org; Sat, 01 Aug 2015 14:15:22 +0100 +Received: from exolobe1.liw.fi (188-127-214-94.cust.suomicom.net + [188.127.214.94]) + (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) + (No client certificate requested) + by pieni.net (Postfix) with ESMTPSA id 123F62CA57; + Sat, 1 Aug 2015 15:15:13 +0200 (CEST) +Received: from exolobe1.liw.fi (localhost [127.0.0.1]) + by exolobe1.liw.fi (Postfix) with ESMTPS id 7464840079; + Sat, 1 Aug 2015 16:15:12 +0300 (EEST) +Date: Sat, 1 Aug 2015 16:15:11 +0300 +From: Lars Wirzenius <liw@liw.fi> +To: =?utf-8?B?THVrw6HFoSBQb2zDocSNZWs=?= <lukas@ksp.sk>, + obnam-dev@obnam.org +Message-ID: <20150801131511.GN2398@exolobe1.liw.fi> +References: <5972291.20vWKz5Qal@kongruent> <5075317.ExUSC5bmSc@conductor> + <20150726174857.GA2366@exolobe1.liw.fi> + <11788310.BxzROgvz5X@kongruent> + <20150730193320.GU3328@exolobe1.liw.fi> + <20150801110612.GH2398@exolobe1.liw.fi> +MIME-Version: 1.0 +Content-Type: text/plain; charset=us-ascii +Content-Disposition: inline +In-Reply-To: <20150801110612.GH2398@exolobe1.liw.fi> +User-Agent: Mutt/1.5.23 (2014-03-12) +X-Spam-Score: -3.2 +X-Spam-Score-int: -31 +X-Spam-Bar: --- +X-Scanned-By: pepperfish.net, Sat, 01 Aug 2015 14:15:22 +0100 +X-Spam-Report: Content analysis details: (-3.2 points) + pts rule name description + ---- ---------------------- -------------------------------------------------- + -1.0 PPF_USER_AGENT_MUTT User-Agent: contains Mutt (Mutt isn't a spam + tool) -0.5 PPF_USER_AGENT User-Agent: exists + 0.2 PPF_REFERENCES_NODOTS References contains no dots after the @ + -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% + [score: 0.0000] +X-ACL-Warn: message may be spam +X-Scan-Signature: cecca6c27994651bb0dac64a37340985 +Subject: Re: forget --ignore-missing-chunks [was + --fsck-repair-missing-chunks] +X-BeenThere: obnam-dev@obnam.org +X-Mailman-Version: 2.1.5 +Precedence: list +List-Id: Obnam development discussions <obnam-dev-obnam.org> +List-Unsubscribe: <http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/obnam-dev-obnam.org>, + <mailto:obnam-dev-request@obnam.org?subject=unsubscribe> +List-Archive: <http://listmaster.pepperfish.net/pipermail/obnam-dev-obnam.org> +List-Post: <mailto:obnam-dev@obnam.org> +List-Help: <mailto:obnam-dev-request@obnam.org?subject=help> +List-Subscribe: <http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/obnam-dev-obnam.org>, + <mailto:obnam-dev-request@obnam.org?subject=subscribe> +Sender: obnam-dev-bounces@obnam.org +Errors-To: obnam-dev-bounces@obnam.org + +On Sat, Aug 01, 2015 at 02:06:12PM +0300, Lars Wirzenius wrote: +> On Thu, Jul 30, 2015 at 10:33:20PM +0300, Lars Wirzenius wrote: +> > I can have a try at this in the weekend. +> +> I've pushed my changes to remove chunk files only after references +> have been changed to master now. + +I've now also pushed changes to re-do the work to commit changes after +every generation during "obnam forget". + +-- +sic transit disci mundi, ergo obnam + +_______________________________________________ +obnam-dev mailing list +obnam-dev@obnam.org +http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/obnam-dev-obnam.org diff --git a/tickets/75301806a39d4d0bb41300eaf3db7fe2/Maildir/new/1455999000.M255721P17339Q103.exolobe1 b/tickets/75301806a39d4d0bb41300eaf3db7fe2/Maildir/new/1455999000.M255721P17339Q103.exolobe1 new file mode 100644 index 0000000..4071226 --- /dev/null +++ b/tickets/75301806a39d4d0bb41300eaf3db7fe2/Maildir/new/1455999000.M255721P17339Q103.exolobe1 @@ -0,0 +1,92 @@ +Return-Path: <obnam-dev-bounces@obnam.org> +X-Original-To: distix@pieni.net +Delivered-To: distix@pieni.net +Received: from bagpuss.pepperfish.net (bagpuss.pepperfish.net [148.251.8.16]) + (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) + (No client certificate requested) + by pieni.net (Postfix) with ESMTPS id B79AC2B921 + for <distix@pieni.net>; Sat, 25 Jul 2015 13:34:10 +0200 (CEST) +Received: from platypus.pepperfish.net (unknown [10.112.100.20]) + by bagpuss.pepperfish.net (Postfix) with ESMTP id 39929EF1; + Sat, 25 Jul 2015 12:34:10 +0100 (BST) +Received: from ip6-localhost ([::1] helo=platypus.pepperfish.net) + by platypus.pepperfish.net with esmtp (Exim 4.80 #2 (Debian)) + id 1ZIxiU-0000c6-3p; Sat, 25 Jul 2015 12:34:10 +0100 +Received: from inmail ([10.112.100.10] helo=mx0.pepperfish.net) + by platypus.pepperfish.net with esmtp (Exim 4.80 #2 (Debian)) + id 1ZIxiS-0000bx-MZ + for <obnam-dev@obnam.org>; Sat, 25 Jul 2015 12:34:08 +0100 +Received: from pieni.net ([95.142.166.37] ident=postfix) + by mx0.pepperfish.net with esmtps (TLS1.2:DHE_RSA_AES_256_CBC_SHA256:256) + (Exim 4.80) (envelope-from <liw@liw.fi>) id 1ZIxiQ-0007x7-PH + for obnam-dev@obnam.org; Sat, 25 Jul 2015 12:34:08 +0100 +Received: from exolobe1.liw.fi (82-181-8-107.bb.dnainternet.fi [82.181.8.107]) + (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) + (No client certificate requested) + by pieni.net (Postfix) with ESMTPSA id 6CBF72B921; + Sat, 25 Jul 2015 13:33:59 +0200 (CEST) +Received: from exolobe1.liw.fi (localhost [127.0.0.1]) + by exolobe1.liw.fi (Postfix) with ESMTPS id B5A7E400E1; + Sat, 25 Jul 2015 14:33:58 +0300 (EEST) +Date: Sat, 25 Jul 2015 14:33:57 +0300 +From: Lars Wirzenius <liw@liw.fi> +To: =?utf-8?B?THVrw6HFoSBQb2zDocSNZWs=?= <lukas@ksp.sk> +Message-ID: <20150725113357.GU2366@exolobe1.liw.fi> +References: <5972291.20vWKz5Qal@kongruent> <1527462.Y7ExHB7XNM@kongruent> + <44929067.8IX34BIZvD@conductor> <2432528.QdFqWFWzmv@conductor> +MIME-Version: 1.0 +Content-Type: text/plain; charset=utf-8 +Content-Disposition: inline +Content-Transfer-Encoding: 8bit +In-Reply-To: <2432528.QdFqWFWzmv@conductor> +User-Agent: Mutt/1.5.23 (2014-03-12) +X-Spam-Score: -3.0 +X-Spam-Score-int: -29 +X-Spam-Bar: --- +X-Scanned-By: pepperfish.net, Sat, 25 Jul 2015 12:34:08 +0100 +X-Spam-Report: Content analysis details: (-3.0 points) + pts rule name description + ---- ---------------------- -------------------------------------------------- + -1.0 PPF_USER_AGENT_MUTT User-Agent: contains Mutt (Mutt isn't a spam + tool) -0.5 PPF_USER_AGENT User-Agent: exists + 0.2 PPF_INREPLYTO_NODOTS In-Reply-To contains no dots after the @ + 0.2 PPF_REFERENCES_NODOTS References contains no dots after the @ + -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% + [score: 0.0000] +X-ACL-Warn: message may be spam +X-Scan-Signature: da03fc744e23195c883997a4bc59532e +Cc: Gary <gary@mups.co.uk>, obnam-dev@obnam.org +Subject: Re: forget --ignore-missing-chunks [was + --fsck-repair-missing-chunks] +X-BeenThere: obnam-dev@obnam.org +X-Mailman-Version: 2.1.5 +Precedence: list +List-Id: Obnam development discussions <obnam-dev-obnam.org> +List-Unsubscribe: <http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/obnam-dev-obnam.org>, + <mailto:obnam-dev-request@obnam.org?subject=unsubscribe> +List-Archive: <http://listmaster.pepperfish.net/pipermail/obnam-dev-obnam.org> +List-Post: <mailto:obnam-dev@obnam.org> +List-Help: <mailto:obnam-dev-request@obnam.org?subject=help> +List-Subscribe: <http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/obnam-dev-obnam.org>, + <mailto:obnam-dev-request@obnam.org?subject=subscribe> +Sender: obnam-dev-bounces@obnam.org +Errors-To: obnam-dev-bounces@obnam.org + +On Wed, Jul 22, 2015 at 11:01:29PM +0200, Lukáš Poláček wrote: +> It turned out I wasn't too tired and the fix was fairly simple: +> https://github.com/lukipuki/obnam/compare/interrupted-forget + +I've merged this now, with modifications. I dropped the +--ignore-missing-chunks option, as I don't think it makes sense to +have it. I'd rather Obnam was robust by default and always. The test +scenario I wrote earlier now passes, so that's merged as well. + +Thanks, Lukas! + +-- +sic transit disci mundi, ergo obnam + +_______________________________________________ +obnam-dev mailing list +obnam-dev@obnam.org +http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/obnam-dev-obnam.org diff --git a/tickets/75301806a39d4d0bb41300eaf3db7fe2/Maildir/new/1455999002.M680469P17339Q126.exolobe1 b/tickets/75301806a39d4d0bb41300eaf3db7fe2/Maildir/new/1455999002.M680469P17339Q126.exolobe1 new file mode 100644 index 0000000..eadbc88 --- /dev/null +++ b/tickets/75301806a39d4d0bb41300eaf3db7fe2/Maildir/new/1455999002.M680469P17339Q126.exolobe1 @@ -0,0 +1,125 @@ +Return-Path: <obnam-dev-bounces@obnam.org> +X-Original-To: distix@pieni.net +Delivered-To: distix@pieni.net +Received: from bagpuss.pepperfish.net (bagpuss.pepperfish.net [148.251.8.16]) + (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) + (No client certificate requested) + by pieni.net (Postfix) with ESMTPS id A9DB42BC95 + for <distix@pieni.net>; Sun, 26 Jul 2015 19:49:12 +0200 (CEST) +Received: from platypus.pepperfish.net (unknown [10.112.100.20]) + by bagpuss.pepperfish.net (Postfix) with ESMTP id C09EEBA8; + Sun, 26 Jul 2015 18:49:11 +0100 (BST) +Received: from ip6-localhost ([::1] helo=platypus.pepperfish.net) + by platypus.pepperfish.net with esmtp (Exim 4.80 #2 (Debian)) + id 1ZJQ2x-0001AP-M0; Sun, 26 Jul 2015 18:49:11 +0100 +Received: from inmail ([10.112.100.10] helo=mx0.pepperfish.net) + by platypus.pepperfish.net with esmtp (Exim 4.80 #2 (Debian)) + id 1ZJQ2w-0001AJ-Ol + for <obnam-dev@obnam.org>; Sun, 26 Jul 2015 18:49:10 +0100 +Received: from pieni.net ([95.142.166.37] ident=postfix) + by mx0.pepperfish.net with esmtps (TLS1.2:DHE_RSA_AES_256_CBC_SHA256:256) + (Exim 4.80) (envelope-from <liw@liw.fi>) id 1ZJQ2t-0000Rf-F7 + for obnam-dev@obnam.org; Sun, 26 Jul 2015 18:49:10 +0100 +Received: from exolobe1.liw.fi (82-181-8-107.bb.dnainternet.fi [82.181.8.107]) + (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) + (No client certificate requested) + by pieni.net (Postfix) with ESMTPSA id A430D2B874; + Sun, 26 Jul 2015 19:48:59 +0200 (CEST) +Received: from exolobe1.liw.fi (localhost [127.0.0.1]) + by exolobe1.liw.fi (Postfix) with ESMTPS id E120E402AA; + Sun, 26 Jul 2015 20:48:58 +0300 (EEST) +Date: Sun, 26 Jul 2015 20:48:57 +0300 +From: Lars Wirzenius <liw@liw.fi> +To: =?utf-8?B?THVrw6HFoSBQb2zDocSNZWs=?= <lukas@ksp.sk> +Message-ID: <20150726174857.GA2366@exolobe1.liw.fi> +References: <5972291.20vWKz5Qal@kongruent> <1499425.HvNKxRh8XS@conductor> + <20150725122715.GV2366@exolobe1.liw.fi> + <5075317.ExUSC5bmSc@conductor> +MIME-Version: 1.0 +Content-Type: text/plain; charset=utf-8 +Content-Disposition: inline +Content-Transfer-Encoding: 8bit +In-Reply-To: <5075317.ExUSC5bmSc@conductor> +User-Agent: Mutt/1.5.23 (2014-03-12) +X-Spam-Score: -3.0 +X-Spam-Score-int: -29 +X-Spam-Bar: --- +X-Scanned-By: pepperfish.net, Sun, 26 Jul 2015 18:49:10 +0100 +X-Spam-Report: Content analysis details: (-3.0 points) + pts rule name description + ---- ---------------------- -------------------------------------------------- + -1.0 PPF_USER_AGENT_MUTT User-Agent: contains Mutt (Mutt isn't a spam + tool) -0.5 PPF_USER_AGENT User-Agent: exists + 0.2 PPF_INREPLYTO_NODOTS In-Reply-To contains no dots after the @ + 0.2 PPF_REFERENCES_NODOTS References contains no dots after the @ + -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% + [score: 0.0000] +X-ACL-Warn: message may be spam +X-Scan-Signature: f002631632f2cb3301b65fcd1d45d147 +Cc: obnam-dev@obnam.org +Subject: Re: forget --ignore-missing-chunks [was + --fsck-repair-missing-chunks] +X-BeenThere: obnam-dev@obnam.org +X-Mailman-Version: 2.1.5 +Precedence: list +List-Id: Obnam development discussions <obnam-dev-obnam.org> +List-Unsubscribe: <http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/obnam-dev-obnam.org>, + <mailto:obnam-dev-request@obnam.org?subject=unsubscribe> +List-Archive: <http://listmaster.pepperfish.net/pipermail/obnam-dev-obnam.org> +List-Post: <mailto:obnam-dev@obnam.org> +List-Help: <mailto:obnam-dev-request@obnam.org?subject=help> +List-Subscribe: <http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/obnam-dev-obnam.org>, + <mailto:obnam-dev-request@obnam.org?subject=subscribe> +Sender: obnam-dev-bounces@obnam.org +Errors-To: obnam-dev-bounces@obnam.org + +On Sat, Jul 25, 2015 at 03:28:17PM +0200, Lukáš Poláček wrote: +> Done! See https://github.com/lukipuki/obnam/compare/interrupted-forget +> +> This is what obnam is capable of now. Let's interrupt it with Ctrl-C: +> $ obnam forget +> forgetting generations: 11/31 done^C +> $ obnam force-lock # need to unlock after interrupt +> $ obnam forget +> forgetting generations: 21/21 done +> +> Not only it doesn't crash now, but it resumes deleting after the point where +> it was interrupted! + +It struck me today that the right way to do forget is like this: + +1. Lock everything. +2. Find out which chunks can be removed. +3. Remove all references to the chunks (per-client data, chunk + indexes). +4. Commit all changes (and unlock). +5. Delete the chunks. + +If Obnam crashes during step 5, it means that some chunks will be +left, but fsck should deal with that. (That assumes an fsck that's +fast enough that it can be realistically run. The current one is too +slow for most people.) + +I'll ponder on this for a bit. Until I do, I won't make a new release, +though. + +I didn't yet look through your patch in detail. One note, though, is +that I'd prefer to not have boolean "do this instead of that" +switches, such as the unlock argument you add to commit_client. It's a +better API to have those separate. + +> Btw, it's a nice code base. Every time I needed to add some +> functionality, I didn't have to touch too many files and too many +> different places in the code. My last patch is therefore very small, +> but the change adds a lot of functionality. + +Thanks, I do try to keep the code clean, even if it's not as clean as +I want it to be. + +-- +sic transit disci mundi, ergo obnam + +_______________________________________________ +obnam-dev mailing list +obnam-dev@obnam.org +http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/obnam-dev-obnam.org diff --git a/tickets/75301806a39d4d0bb41300eaf3db7fe2/Maildir/new/1455999004.M728107P17339Q147.exolobe1 b/tickets/75301806a39d4d0bb41300eaf3db7fe2/Maildir/new/1455999004.M728107P17339Q147.exolobe1 new file mode 100644 index 0000000..2bf1cb8 --- /dev/null +++ b/tickets/75301806a39d4d0bb41300eaf3db7fe2/Maildir/new/1455999004.M728107P17339Q147.exolobe1 @@ -0,0 +1,91 @@ +Return-Path: <obnam-dev-bounces@obnam.org> +X-Original-To: distix@pieni.net +Delivered-To: distix@pieni.net +Received: from bagpuss.pepperfish.net (bagpuss.pepperfish.net [148.251.8.16]) + (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) + (No client certificate requested) + by pieni.net (Postfix) with ESMTPS id 9390322798 + for <distix@pieni.net>; Mon, 20 Jul 2015 09:05:08 +0200 (CEST) +Received: from platypus.pepperfish.net (unknown [10.112.100.20]) + by bagpuss.pepperfish.net (Postfix) with ESMTP id 02F5D2920; + Mon, 20 Jul 2015 08:05:08 +0100 (BST) +Received: from ip6-localhost ([::1] helo=platypus.pepperfish.net) + by platypus.pepperfish.net with esmtp (Exim 4.80 #2 (Debian)) + id 1ZH58N-0001TN-Se; Mon, 20 Jul 2015 08:05:07 +0100 +Received: from inmail ([10.112.100.10] helo=mx0.pepperfish.net) + by platypus.pepperfish.net with esmtp (Exim 4.80 #2 (Debian)) + id 1ZH58M-0001R3-2L + for <obnam-dev@obnam.org>; Mon, 20 Jul 2015 08:05:06 +0100 +Received: from element.ksp.sk ([158.195.16.154] helo=ksp.sk ident=postfix) + by mx0.pepperfish.net with esmtp (Exim 4.80) + (envelope-from <lukas@ksp.sk>) id 1ZH58I-0007Zy-P0 + for obnam-dev@obnam.org; Mon, 20 Jul 2015 08:05:05 +0100 +Received: from kongruent.localnet (c213-89-161-244.bredband.comhem.se + [213.89.161.244]) by ksp.sk (Postfix) with ESMTPSA id 6D3174C009 + for <obnam-dev@obnam.org>; Mon, 20 Jul 2015 09:04:56 +0200 (CEST) +From: =?utf-8?B?THVrw6HFoSBQb2zDocSNZWs=?= <lukas@ksp.sk> +To: obnam-dev@obnam.org +Date: Mon, 20 Jul 2015 09:04:54 +0200 +Message-ID: <5972291.20vWKz5Qal@kongruent> +User-Agent: KMail/4.14.8 (Linux/4.0.5-gentoo; KDE/4.14.9; x86_64; ; ) +MIME-Version: 1.0 +Content-Transfer-Encoding: 7Bit +Content-Type: text/plain; charset="us-ascii" +X-Spam-Score: -2.8 +X-Spam-Score-int: -27 +X-Spam-Bar: -- +X-Scanned-By: pepperfish.net, Mon, 20 Jul 2015 08:05:05 +0100 +X-Spam-Report: Content analysis details: (-2.8 points) + pts rule name description + ---- ---------------------- -------------------------------------------------- + -0.5 PPF_USER_AGENT User-Agent: exists + 0.5 PPF_MESSAGEID_NODOTS Message-Id contains no dots after the @ + 1.0 SUBJ_NOSPACE Subject has no spaces in it + -0.0 SPF_HELO_PASS SPF: HELO matches SPF record + -0.0 SPF_PASS SPF: sender matches SPF record + -1.2 RP_MATCHES_RCVD Envelope sender domain matches handover relay domain + -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% + [score: 0.0000] + -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at http://www.dnswl.org/, low + trust [158.195.16.154 listed in list.dnswl.org] +X-ACL-Warn: message may be spam +Subject: --fsck-repair-missing-chunks +X-BeenThere: obnam-dev@obnam.org +X-Mailman-Version: 2.1.5 +Precedence: list +List-Id: Obnam development discussions <obnam-dev-obnam.org> +List-Unsubscribe: <http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/obnam-dev-obnam.org>, + <mailto:obnam-dev-request@obnam.org?subject=unsubscribe> +List-Archive: <http://listmaster.pepperfish.net/pipermail/obnam-dev-obnam.org> +List-Post: <mailto:obnam-dev@obnam.org> +List-Help: <mailto:obnam-dev-request@obnam.org?subject=help> +List-Subscribe: <http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/obnam-dev-obnam.org>, + <mailto:obnam-dev-request@obnam.org?subject=subscribe> +Sender: obnam-dev-bounces@obnam.org +Errors-To: obnam-dev-bounces@obnam.org + +Hi, +I sent a similar mail to obnam-support, but I think I should also send it here. + +I had a problem with missing chunks when running forget: +$ obnam forget +forgetting generations: 0/60 doneERROR: R43272X: Repository doesn't contain chunk 9412000916050223474. It is expected at chunks/1689/2989/295/829e24f75ad32172 + +I ended up writing a patch that fixes it, it adds option --fsck-repair-missing-chunks to fsck: +https://github.com/lukipuki/obnam/pull/1/files + +It creates an empty chunk file whenever the file is missing. This is useful in situations like mine, +but probably less so in others. + +By the way, I had some trouble with assertRaises, so I did a work-around. Can someone have a look on what I did wrong? My original code is commented out: +https://github.com/lukipuki/obnam/pull/1/files#diff-90654461bc7bd4effbe04c3f5257bfeeR2160 + +I also have ideas for a couple more options for fsck, so that one can repair missing chunks in the order of minutes rather than hours. + +Cheers, +Lukas + +_______________________________________________ +obnam-dev mailing list +obnam-dev@obnam.org +http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/obnam-dev-obnam.org diff --git a/tickets/75301806a39d4d0bb41300eaf3db7fe2/Maildir/new/1455999005.M749655P17339Q158.exolobe1 b/tickets/75301806a39d4d0bb41300eaf3db7fe2/Maildir/new/1455999005.M749655P17339Q158.exolobe1 new file mode 100644 index 0000000..8ecb288 --- /dev/null +++ b/tickets/75301806a39d4d0bb41300eaf3db7fe2/Maildir/new/1455999005.M749655P17339Q158.exolobe1 @@ -0,0 +1,94 @@ +Return-Path: <obnam-dev-bounces@obnam.org> +X-Original-To: distix@pieni.net +Delivered-To: distix@pieni.net +Received: from bagpuss.pepperfish.net (bagpuss.pepperfish.net [148.251.8.16]) + (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) + (No client certificate requested) + by pieni.net (Postfix) with ESMTPS id BE1F02AC9E + for <distix@pieni.net>; Thu, 23 Jul 2015 19:39:43 +0200 (CEST) +Received: from platypus.pepperfish.net (unknown [10.112.100.20]) + by bagpuss.pepperfish.net (Postfix) with ESMTP id 47CDA2659; + Thu, 23 Jul 2015 18:39:43 +0100 (BST) +Received: from ip6-localhost ([::1] helo=platypus.pepperfish.net) + by platypus.pepperfish.net with esmtp (Exim 4.80 #2 (Debian)) + id 1ZIKT9-0008E4-5m; Thu, 23 Jul 2015 18:39:43 +0100 +Received: from inmail ([10.112.100.10] helo=mx0.pepperfish.net) + by platypus.pepperfish.net with esmtp (Exim 4.80 #2 (Debian)) + id 1ZIKT8-0008Dy-AV + for <obnam-dev@obnam.org>; Thu, 23 Jul 2015 18:39:42 +0100 +Received: from pieni.net ([95.142.166.37] ident=postfix) + by mx0.pepperfish.net with esmtps (TLS1.2:DHE_RSA_AES_256_CBC_SHA256:256) + (Exim 4.80) (envelope-from <liw@liw.fi>) id 1ZIKT6-0002Tc-EB + for obnam-dev@obnam.org; Thu, 23 Jul 2015 18:39:42 +0100 +Received: from exolobe1.liw.fi (82-181-8-107.bb.dnainternet.fi [82.181.8.107]) + (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) + (No client certificate requested) + by pieni.net (Postfix) with ESMTPSA id 5032D2AC9E + for <obnam-dev@obnam.org>; Thu, 23 Jul 2015 19:39:33 +0200 (CEST) +Received: from exolobe1.liw.fi (localhost [127.0.0.1]) + by exolobe1.liw.fi (Postfix) with ESMTPS id B2664408D4 + for <obnam-dev@obnam.org>; Thu, 23 Jul 2015 20:39:32 +0300 (EEST) +Date: Thu, 23 Jul 2015 20:39:31 +0300 +From: Lars Wirzenius <liw@liw.fi> +To: obnam-dev@obnam.org +Message-ID: <20150723173931.GN2366@exolobe1.liw.fi> +References: <5972291.20vWKz5Qal@kongruent> <1460492.xlg7OpTbOb@conductor> + <20150722191513.GG2366@exolobe1.liw.fi> + <1527462.Y7ExHB7XNM@kongruent> +MIME-Version: 1.0 +Content-Type: text/plain; charset=utf-8 +Content-Disposition: inline +Content-Transfer-Encoding: 8bit +In-Reply-To: <1527462.Y7ExHB7XNM@kongruent> +User-Agent: Mutt/1.5.23 (2014-03-12) +X-Spam-Score: -3.0 +X-Spam-Score-int: -29 +X-Spam-Bar: --- +X-Scanned-By: pepperfish.net, Thu, 23 Jul 2015 18:39:42 +0100 +X-Spam-Report: Content analysis details: (-3.0 points) + pts rule name description + ---- ---------------------- -------------------------------------------------- + -1.0 PPF_USER_AGENT_MUTT User-Agent: contains Mutt (Mutt isn't a spam + tool) -0.5 PPF_USER_AGENT User-Agent: exists + 0.2 PPF_INREPLYTO_NODOTS In-Reply-To contains no dots after the @ + 0.2 PPF_REFERENCES_NODOTS References contains no dots after the @ + -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% + [score: 0.0000] +X-ACL-Warn: message may be spam +X-Scan-Signature: 652e3f7dea445ece66611117191a1de2 +Subject: Re: forget --ignore-missing-chunks [was + --fsck-repair-missing-chunks] +X-BeenThere: obnam-dev@obnam.org +X-Mailman-Version: 2.1.5 +Precedence: list +List-Id: Obnam development discussions <obnam-dev-obnam.org> +List-Unsubscribe: <http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/obnam-dev-obnam.org>, + <mailto:obnam-dev-request@obnam.org?subject=unsubscribe> +List-Archive: <http://listmaster.pepperfish.net/pipermail/obnam-dev-obnam.org> +List-Post: <mailto:obnam-dev@obnam.org> +List-Help: <mailto:obnam-dev-request@obnam.org?subject=help> +List-Subscribe: <http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/obnam-dev-obnam.org>, + <mailto:obnam-dev-request@obnam.org?subject=subscribe> +Sender: obnam-dev-bounces@obnam.org +Errors-To: obnam-dev-bounces@obnam.org + +On Wed, Jul 22, 2015 at 09:30:59PM +0200, Lukáš Poláček wrote: +> As far as I can tell, restore (and mount) does this already. It +> reports "read error" or something similar when a file with a missing +> chunks is being restored, but the rest of the generation is just +> fine. I've tested it on the copy of my broken repo. +> +> However, forget is not that robust and that's what I worked on. + +Er, right. Somewhere while writing that email my brain turned "forget" +to "restore". But obviously a test scenario for this should test at +least all the major operations. + + +-- +sic transit disci mundi, ergo obnam + +_______________________________________________ +obnam-dev mailing list +obnam-dev@obnam.org +http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/obnam-dev-obnam.org diff --git a/tickets/75301806a39d4d0bb41300eaf3db7fe2/Maildir/new/1455999006.M650008P17339Q167.exolobe1 b/tickets/75301806a39d4d0bb41300eaf3db7fe2/Maildir/new/1455999006.M650008P17339Q167.exolobe1 new file mode 100644 index 0000000..66f70a9 --- /dev/null +++ b/tickets/75301806a39d4d0bb41300eaf3db7fe2/Maildir/new/1455999006.M650008P17339Q167.exolobe1 @@ -0,0 +1,93 @@ +Return-Path: <obnam-dev-bounces@obnam.org> +X-Original-To: distix@pieni.net +Delivered-To: distix@pieni.net +Received: from bagpuss.pepperfish.net (bagpuss.pepperfish.net [148.251.8.16]) + (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) + (No client certificate requested) + by pieni.net (Postfix) with ESMTPS id 15E8422B6A + for <distix@pieni.net>; Sun, 2 Aug 2015 11:00:18 +0200 (CEST) +Received: from platypus.pepperfish.net (unknown [10.112.100.20]) + by bagpuss.pepperfish.net (Postfix) with ESMTP id C7F77C13; + Sun, 2 Aug 2015 10:00:17 +0100 (BST) +Received: from ip6-localhost ([::1] helo=platypus.pepperfish.net) + by platypus.pepperfish.net with esmtp (Exim 4.80 #2 (Debian)) + id 1ZLp7x-0005cy-KE; Sun, 02 Aug 2015 10:00:17 +0100 +Received: from inmail ([10.112.100.10] helo=mx0.pepperfish.net) + by platypus.pepperfish.net with esmtp (Exim 4.80 #2 (Debian)) + id 1ZLp7w-0005ck-5g + for <obnam-dev@obnam.org>; Sun, 02 Aug 2015 10:00:16 +0100 +Received: from element.ksp.sk ([158.195.16.154] helo=ksp.sk ident=postfix) + by mx0.pepperfish.net with esmtp (Exim 4.80) + (envelope-from <lukas@ksp.sk>) id 1ZLp7u-00010M-HQ + for obnam-dev@obnam.org; Sun, 02 Aug 2015 10:00:16 +0100 +Received: from conductor.localnet (vlan22.officevpn.sto.spotify.net + [194.68.181.235]) by ksp.sk (Postfix) with ESMTPSA id 574C24C095; + Sun, 2 Aug 2015 11:00:07 +0200 (CEST) +From: =?utf-8?B?THVrw6HFoSBQb2zDocSNZWs=?= <lukas@ksp.sk> +To: Lars Wirzenius <liw@liw.fi> +Date: Sun, 02 Aug 2015 11:00:06 +0200 +Message-ID: <1960570.i8xcZkjVQ4@conductor> +User-Agent: KMail/4.13.3 (Linux/3.13.0-57-generic; KDE/4.13.3; x86_64; ; ) +In-Reply-To: <20150801131511.GN2398@exolobe1.liw.fi> +References: <5972291.20vWKz5Qal@kongruent> + <20150801110612.GH2398@exolobe1.liw.fi> + <20150801131511.GN2398@exolobe1.liw.fi> +MIME-Version: 1.0 +Content-Transfer-Encoding: 7Bit +Content-Type: text/plain; charset="us-ascii" +X-Spam-Score: -2.5 +X-Spam-Score-int: -24 +X-Spam-Bar: -- +X-Scanned-By: pepperfish.net, Sun, 02 Aug 2015 10:00:16 +0100 +X-Spam-Report: Content analysis details: (-2.5 points) + pts rule name description + ---- ---------------------- -------------------------------------------------- + -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at http://www.dnswl.org/, low + trust [158.195.16.154 listed in list.dnswl.org] + -0.5 PPF_USER_AGENT User-Agent: exists + 0.5 PPF_MESSAGEID_NODOTS Message-Id contains no dots after the @ + 0.2 PPF_REFERENCES_NODOTS References contains no dots after the @ + -0.0 SPF_HELO_PASS SPF: HELO matches SPF record + -0.0 SPF_PASS SPF: sender matches SPF record + -0.1 RP_MATCHES_RCVD Envelope sender domain matches handover relay domain + -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% + [score: 0.0000] +X-ACL-Warn: message may be spam +X-Scan-Signature: 652e3f7dea445ece66611117191a1de2 +Cc: obnam-dev@obnam.org +Subject: Re: forget --ignore-missing-chunks [was + --fsck-repair-missing-chunks] +X-BeenThere: obnam-dev@obnam.org +X-Mailman-Version: 2.1.5 +Precedence: list +List-Id: Obnam development discussions <obnam-dev-obnam.org> +List-Unsubscribe: <http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/obnam-dev-obnam.org>, + <mailto:obnam-dev-request@obnam.org?subject=unsubscribe> +List-Archive: <http://listmaster.pepperfish.net/pipermail/obnam-dev-obnam.org> +List-Post: <mailto:obnam-dev@obnam.org> +List-Help: <mailto:obnam-dev-request@obnam.org?subject=help> +List-Subscribe: <http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/obnam-dev-obnam.org>, + <mailto:obnam-dev-request@obnam.org?subject=subscribe> +Sender: obnam-dev-bounces@obnam.org +Errors-To: obnam-dev-bounces@obnam.org + +On Saturday, August 01, 2015 16:15:11 Lars Wirzenius wrote: +> On Sat, Aug 01, 2015 at 02:06:12PM +0300, Lars Wirzenius wrote: +> > On Thu, Jul 30, 2015 at 10:33:20PM +0300, Lars Wirzenius wrote: +> > > I can have a try at this in the weekend. +> > +> > I've pushed my changes to remove chunk files only after references +> > have been changed to master now. +> +> I've now also pushed changes to re-do the work to commit changes after +> every generation during "obnam forget". + +Cool! I've tested this and it correctly resumes an interrupted forget, without +doing the same generation twice. + +Lukas + +_______________________________________________ +obnam-dev mailing list +obnam-dev@obnam.org +http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/obnam-dev-obnam.org diff --git a/tickets/75301806a39d4d0bb41300eaf3db7fe2/Maildir/new/1455999006.M726831P17339Q169.exolobe1 b/tickets/75301806a39d4d0bb41300eaf3db7fe2/Maildir/new/1455999006.M726831P17339Q169.exolobe1 new file mode 100644 index 0000000..74a5566 --- /dev/null +++ b/tickets/75301806a39d4d0bb41300eaf3db7fe2/Maildir/new/1455999006.M726831P17339Q169.exolobe1 @@ -0,0 +1,114 @@ +Return-Path: <obnam-dev-bounces@obnam.org> +X-Original-To: distix@pieni.net +Delivered-To: distix@pieni.net +Received: from bagpuss.pepperfish.net (bagpuss.pepperfish.net [148.251.8.16]) + (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) + (No client certificate requested) + by pieni.net (Postfix) with ESMTPS id 6EFD52B764 + for <distix@pieni.net>; Sat, 25 Jul 2015 14:27:28 +0200 (CEST) +Received: from platypus.pepperfish.net (unknown [10.112.100.20]) + by bagpuss.pepperfish.net (Postfix) with ESMTP id 19DB0EFC; + Sat, 25 Jul 2015 13:27:28 +0100 (BST) +Received: from ip6-localhost ([::1] helo=platypus.pepperfish.net) + by platypus.pepperfish.net with esmtp (Exim 4.80 #2 (Debian)) + id 1ZIyY3-00042k-WD; Sat, 25 Jul 2015 13:27:28 +0100 +Received: from inmail ([10.112.100.10] helo=mx0.pepperfish.net) + by platypus.pepperfish.net with esmtp (Exim 4.80 #2 (Debian)) + id 1ZIyY2-00042d-T2 + for <obnam-dev@obnam.org>; Sat, 25 Jul 2015 13:27:27 +0100 +Received: from pieni.net ([95.142.166.37] ident=postfix) + by mx0.pepperfish.net with esmtps (TLS1.2:DHE_RSA_AES_256_CBC_SHA256:256) + (Exim 4.80) (envelope-from <liw@liw.fi>) id 1ZIyY0-00015w-TJ + for obnam-dev@obnam.org; Sat, 25 Jul 2015 13:27:26 +0100 +Received: from exolobe1.liw.fi (82-181-8-107.bb.dnainternet.fi [82.181.8.107]) + (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) + (No client certificate requested) + by pieni.net (Postfix) with ESMTPSA id BC4082B764 + for <obnam-dev@obnam.org>; Sat, 25 Jul 2015 14:27:17 +0200 (CEST) +Received: from exolobe1.liw.fi (localhost [127.0.0.1]) + by exolobe1.liw.fi (Postfix) with ESMTPS id E350A402AA + for <obnam-dev@obnam.org>; Sat, 25 Jul 2015 15:27:16 +0300 (EEST) +Date: Sat, 25 Jul 2015 15:27:15 +0300 +From: Lars Wirzenius <liw@liw.fi> +To: obnam-dev@obnam.org +Message-ID: <20150725122715.GV2366@exolobe1.liw.fi> +References: <5972291.20vWKz5Qal@kongruent> <2432528.QdFqWFWzmv@conductor> + <20150725113357.GU2366@exolobe1.liw.fi> + <1499425.HvNKxRh8XS@conductor> +MIME-Version: 1.0 +Content-Type: text/plain; charset=utf-8 +Content-Disposition: inline +Content-Transfer-Encoding: 8bit +In-Reply-To: <1499425.HvNKxRh8XS@conductor> +User-Agent: Mutt/1.5.23 (2014-03-12) +X-Spam-Score: -3.0 +X-Spam-Score-int: -29 +X-Spam-Bar: --- +X-Scanned-By: pepperfish.net, Sat, 25 Jul 2015 13:27:26 +0100 +X-Spam-Report: Content analysis details: (-3.0 points) + pts rule name description + ---- ---------------------- -------------------------------------------------- + -1.0 PPF_USER_AGENT_MUTT User-Agent: contains Mutt (Mutt isn't a spam + tool) -0.5 PPF_USER_AGENT User-Agent: exists + 0.2 PPF_INREPLYTO_NODOTS In-Reply-To contains no dots after the @ + 0.2 PPF_REFERENCES_NODOTS References contains no dots after the @ + -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% + [score: 0.0000] +X-ACL-Warn: message may be spam +X-Scan-Signature: 8887c701ef4198506b295ef73f0e38b1 +Subject: Re: forget --ignore-missing-chunks [was + --fsck-repair-missing-chunks] +X-BeenThere: obnam-dev@obnam.org +X-Mailman-Version: 2.1.5 +Precedence: list +List-Id: Obnam development discussions <obnam-dev-obnam.org> +List-Unsubscribe: <http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/obnam-dev-obnam.org>, + <mailto:obnam-dev-request@obnam.org?subject=unsubscribe> +List-Archive: <http://listmaster.pepperfish.net/pipermail/obnam-dev-obnam.org> +List-Post: <mailto:obnam-dev@obnam.org> +List-Help: <mailto:obnam-dev-request@obnam.org?subject=help> +List-Subscribe: <http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/obnam-dev-obnam.org>, + <mailto:obnam-dev-request@obnam.org?subject=subscribe> +Sender: obnam-dev-bounces@obnam.org +Errors-To: obnam-dev-bounces@obnam.org + +On Sat, Jul 25, 2015 at 01:50:18PM +0200, Lukáš Poláček wrote: +> On Saturday, July 25, 2015 14:33:57 Lars Wirzenius wrote: +> > On Wed, Jul 22, 2015 at 11:01:29PM +0200, Lukáš Poláček wrote: +> > > It turned out I wasn't too tired and the fix was fairly simple: +> > > https://github.com/lukipuki/obnam/compare/interrupted-forget +> > +> > I've merged this now, with modifications. I dropped the +> > --ignore-missing-chunks option, as I don't think it makes sense to +> > have it. I'd rather Obnam was robust by default and always. The test +> > scenario I wrote earlier now passes, so that's merged as well. +> > +> > Thanks, Lukas! +> +> Cool! +> +> Though I think you meant the other patch, this one fixes interrupted forget +> which you haven't merged yet. + +Er, right. Commit 0da82b27bd07b781e441793b08c661516a33489b is what I +merged. + +> I have some further improvements in mind for the interrupted-forget patch: +> We should commit client and remove chunks after deleting each generation. +> Currently we commit and remove chunks after all generations are processed, +> which can take hours. + +That's probably OK, too. Haven't looked at interrupted-forget yet. + +> I'll try to add one more patch to my interrupted-forget branch today or +> tomorrow. + +Send an email to obnam-dev when you have. :) + +-- +sic transit disci mundi, ergo obnam + +_______________________________________________ +obnam-dev mailing list +obnam-dev@obnam.org +http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/obnam-dev-obnam.org diff --git a/tickets/75301806a39d4d0bb41300eaf3db7fe2/Maildir/new/1455999007.M930567P17339Q182.exolobe1 b/tickets/75301806a39d4d0bb41300eaf3db7fe2/Maildir/new/1455999007.M930567P17339Q182.exolobe1 new file mode 100644 index 0000000..06d7eba --- /dev/null +++ b/tickets/75301806a39d4d0bb41300eaf3db7fe2/Maildir/new/1455999007.M930567P17339Q182.exolobe1 @@ -0,0 +1,147 @@ +Return-Path: <obnam-dev-bounces@obnam.org> +X-Original-To: distix@pieni.net +Delivered-To: distix@pieni.net +Received: from bagpuss.pepperfish.net (bagpuss.pepperfish.net [148.251.8.16]) + (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) + (No client certificate requested) + by pieni.net (Postfix) with ESMTPS id 7A2602ABA2 + for <distix@pieni.net>; Wed, 22 Jul 2015 22:35:09 +0200 (CEST) +Received: from platypus.pepperfish.net (unknown [10.112.100.20]) + by bagpuss.pepperfish.net (Postfix) with ESMTP id 70AA82D74; + Wed, 22 Jul 2015 21:35:08 +0100 (BST) +Received: from ip6-localhost ([::1] helo=platypus.pepperfish.net) + by platypus.pepperfish.net with esmtp (Exim 4.80 #2 (Debian)) + id 1ZI0jM-0002za-Au; Wed, 22 Jul 2015 21:35:08 +0100 +Received: from inmail ([10.112.100.10] helo=mx0.pepperfish.net) + by platypus.pepperfish.net with esmtp (Exim 4.80 #2 (Debian)) + id 1ZI0jK-0002zA-WC + for <obnam-dev@obnam.org>; Wed, 22 Jul 2015 21:35:07 +0100 +Received: from element.ksp.sk ([158.195.16.154] helo=ksp.sk ident=postfix) + by mx0.pepperfish.net with esmtp (Exim 4.80) + (envelope-from <lukas@ksp.sk>) id 1ZI0jF-0006pO-46 + for obnam-dev@obnam.org; Wed, 22 Jul 2015 21:35:06 +0100 +Received: from conductor.localnet (vlan22.officevpn.sto.spotify.net + [194.68.181.235]) by ksp.sk (Postfix) with ESMTPSA id 6B35A4C009; + Wed, 22 Jul 2015 22:34:54 +0200 (CEST) +From: =?utf-8?B?THVrw6HFoSBQb2zDocSNZWs=?= <lukas@ksp.sk> +To: obnam-dev@obnam.org +Date: Wed, 22 Jul 2015 22:34:53 +0200 +Message-ID: <44929067.8IX34BIZvD@conductor> +User-Agent: KMail/4.13.3 (Linux/3.13.0-57-generic; KDE/4.13.3; x86_64; ; ) +In-Reply-To: <1527462.Y7ExHB7XNM@kongruent> +References: <5972291.20vWKz5Qal@kongruent> + <20150722191513.GG2366@exolobe1.liw.fi> <1527462.Y7ExHB7XNM@kongruent> +MIME-Version: 1.0 +Content-Transfer-Encoding: quoted-printable +Content-Type: text/plain; charset="utf-8" +X-Spam-Score: -3.4 +X-Spam-Score-int: -33 +X-Spam-Bar: --- +X-Scanned-By: pepperfish.net, Wed, 22 Jul 2015 21:35:06 +0100 +X-Spam-Report: Content analysis details: (-3.4 points) + pts rule name description + ---- ---------------------- -------------------------------------------------- + -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at http://www.dnswl.org/, low + trust [158.195.16.154 listed in list.dnswl.org] + -0.5 PPF_USER_AGENT User-Agent: exists + 0.5 PPF_MESSAGEID_NODOTS Message-Id contains no dots after the @ + 0.2 PPF_INREPLYTO_NODOTS In-Reply-To contains no dots after the @ + 0.2 PPF_REFERENCES_NODOTS References contains no dots after the @ + -0.0 SPF_HELO_PASS SPF: HELO matches SPF record + -0.0 SPF_PASS SPF: sender matches SPF record + -1.2 RP_MATCHES_RCVD Envelope sender domain matches handover relay domain + -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% + [score: 0.0000] +X-ACL-Warn: message may be spam +X-Scan-Signature: 376fdcb530e2150ed4e49487840007ac +Cc: Gary <gary@mups.co.uk>, Lars Wirzenius <liw@liw.fi> +Subject: Re: forget --ignore-missing-chunks [was + --fsck-repair-missing-chunks] +X-BeenThere: obnam-dev@obnam.org +X-Mailman-Version: 2.1.5 +Precedence: list +List-Id: Obnam development discussions <obnam-dev-obnam.org> +List-Unsubscribe: <http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/obnam-dev-obnam.org>, + <mailto:obnam-dev-request@obnam.org?subject=unsubscribe> +List-Archive: <http://listmaster.pepperfish.net/pipermail/obnam-dev-obnam.org> +List-Post: <mailto:obnam-dev@obnam.org> +List-Help: <mailto:obnam-dev-request@obnam.org?subject=help> +List-Subscribe: <http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/obnam-dev-obnam.org>, + <mailto:obnam-dev-request@obnam.org?subject=subscribe> +Sender: obnam-dev-bounces@obnam.org +Errors-To: obnam-dev-bounces@obnam.org + +On Wednesday, July 22, 2015 21:30:59 Luk=C3=A1=C5=A1 Pol=C3=A1=C4=8Dek = +wrote: +> onsdagen den 22 juli 2015 22:15:13 skrev Lars Wirzenius: +> > On Mon, Jul 20, 2015 at 05:57:59PM +0200, Luk=C3=A1=C5=A1 Pol=C3=A1= +=C4=8Dek wrote: +> > > The new solution is to run 'obam forget' with +> > > --ignore-missing-chunks. Here is a patch +> > > https://github.com/lukipuki/obnam/pull/2 +> >=20 +> > Here's my current thinking about the "missing chunk" situation. +> >=20 +> > Zeroth, I'd like to thank everyone for the good discussion in this +> > thread. I've been busy with things (including working on the upcomi= +ng +> > new Obnam repository format), and don't always have time to respond= + +> > promptly. It makes me glad, and it's actively helping me, when +> > everyone else helps each other out. +>=20 +> Thank you for such great software! +>=20 +> > First, I'd really like to find the root cause or causes for why thi= +s +> > happens. It happens too often to be random filesystem corruption, s= +o +> > I'm assuming it's a bug in Obnam. Unfortunately, I don't currently +> > have a clue how to reproduce this reliably. Help wanted! +>=20 +> While debugging this, I think I spotted a possible place in the code = +that +> might be causing this (at least in the case of interrupted forget). I= +'ll +> try to recall where it was and investigate. + +Reproduced! + +Steps: +1. Add "raise Exception" on line 565 in repo_fmt_6.py, like so:=20 +self._remove_chunks_from_removed_generations(client_name, [gen_number])= + +raise Exception +open_client_info.client.start_changes(create_tree=3DFalse) +open_client_info.client.remove_generation(gen_number) + +(We are forcing obnam to remove chunks and crash before the generation = +is=20 +removed from the client) + +2. Run "obnam forget" so that it forgets at least one generation. Chunk= +s that=20 +are not needed get deleted but the generation is still stored in the cl= +ient,=20 +because obnam was interrupted by an exception. + +3. Run "obnam force-lock" (because the exception caused it to stay lock= +ed) and=20 +then "obnam forget" again: +forgetting generations: 0/10 doneERROR: R43272X: Repository doesn't con= +tain=20 +chunk 2564090581110374861. It is expected at=20 +chunks/2066/1585/3030/23957acc630241cd + + +The fix should be fairly simple, although it might need some refactorin= +g. Too=20 +tired to write a patch now :) + +Cheers, +Lukas + +_______________________________________________ +obnam-dev mailing list +obnam-dev@obnam.org +http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/obnam-dev-obnam.org diff --git a/tickets/75301806a39d4d0bb41300eaf3db7fe2/Maildir/new/1455999008.M264508P17339Q192.exolobe1 b/tickets/75301806a39d4d0bb41300eaf3db7fe2/Maildir/new/1455999008.M264508P17339Q192.exolobe1 new file mode 100644 index 0000000..fd280b7 --- /dev/null +++ b/tickets/75301806a39d4d0bb41300eaf3db7fe2/Maildir/new/1455999008.M264508P17339Q192.exolobe1 @@ -0,0 +1,121 @@ +Return-Path: <obnam-dev-bounces@obnam.org> +X-Original-To: distix@pieni.net +Delivered-To: distix@pieni.net +Received: from bagpuss.pepperfish.net (bagpuss.pepperfish.net [148.251.8.16]) + (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) + (No client certificate requested) + by pieni.net (Postfix) with ESMTPS id B28FE2ABE1 + for <distix@pieni.net>; Sat, 25 Jul 2015 13:50:28 +0200 (CEST) +Received: from platypus.pepperfish.net (unknown [10.112.100.20]) + by bagpuss.pepperfish.net (Postfix) with ESMTP id DD7A43E0; + Sat, 25 Jul 2015 12:50:27 +0100 (BST) +Received: from ip6-localhost ([::1] helo=platypus.pepperfish.net) + by platypus.pepperfish.net with esmtp (Exim 4.80 #2 (Debian)) + id 1ZIxyF-0001pc-Pq; Sat, 25 Jul 2015 12:50:27 +0100 +Received: from inmail ([10.112.100.10] helo=mx0.pepperfish.net) + by platypus.pepperfish.net with esmtp (Exim 4.80 #2 (Debian)) + id 1ZIxyE-0001pW-Rj + for <obnam-dev@obnam.org>; Sat, 25 Jul 2015 12:50:26 +0100 +Received: from element.ksp.sk ([158.195.16.154] helo=ksp.sk ident=postfix) + by mx0.pepperfish.net with esmtp (Exim 4.80) + (envelope-from <lukas@ksp.sk>) id 1ZIxyC-0008W7-Ve + for obnam-dev@obnam.org; Sat, 25 Jul 2015 12:50:26 +0100 +Received: from conductor.localnet (c213-89-161-244.bredband.comhem.se + [213.89.161.244]) by ksp.sk (Postfix) with ESMTPSA id D7BE14C073; + Sat, 25 Jul 2015 13:50:16 +0200 (CEST) +From: =?utf-8?B?THVrw6HFoSBQb2zDocSNZWs=?= <lukas@ksp.sk> +To: obnam-dev@obnam.org +Date: Sat, 25 Jul 2015 13:50:18 +0200 +Message-ID: <1499425.HvNKxRh8XS@conductor> +User-Agent: KMail/4.13.3 (Linux/3.13.0-57-generic; KDE/4.13.3; x86_64; ; ) +In-Reply-To: <20150725113357.GU2366@exolobe1.liw.fi> +References: <5972291.20vWKz5Qal@kongruent> <2432528.QdFqWFWzmv@conductor> + <20150725113357.GU2366@exolobe1.liw.fi> +MIME-Version: 1.0 +Content-Transfer-Encoding: quoted-printable +Content-Type: text/plain; charset="utf-8" +X-Spam-Score: -3.6 +X-Spam-Score-int: -35 +X-Spam-Bar: --- +X-Scanned-By: pepperfish.net, Sat, 25 Jul 2015 12:50:26 +0100 +X-Spam-Report: Content analysis details: (-3.6 points) + pts rule name description + ---- ---------------------- -------------------------------------------------- + -0.5 PPF_USER_AGENT User-Agent: exists + 0.5 PPF_MESSAGEID_NODOTS Message-Id contains no dots after the @ + 0.2 PPF_REFERENCES_NODOTS References contains no dots after the @ + -0.0 SPF_HELO_PASS SPF: HELO matches SPF record + -0.0 SPF_PASS SPF: sender matches SPF record + -1.2 RP_MATCHES_RCVD Envelope sender domain matches handover relay domain + -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% + [score: 0.0000] + -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at http://www.dnswl.org/, low + trust [158.195.16.154 listed in list.dnswl.org] +X-ACL-Warn: message may be spam +X-Scan-Signature: 4c6022c3dc230a3b6e638b0cf7167be3 +Cc: Gary <gary@mups.co.uk>, Lars Wirzenius <liw@liw.fi> +Subject: Re: forget --ignore-missing-chunks [was + --fsck-repair-missing-chunks] +X-BeenThere: obnam-dev@obnam.org +X-Mailman-Version: 2.1.5 +Precedence: list +List-Id: Obnam development discussions <obnam-dev-obnam.org> +List-Unsubscribe: <http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/obnam-dev-obnam.org>, + <mailto:obnam-dev-request@obnam.org?subject=unsubscribe> +List-Archive: <http://listmaster.pepperfish.net/pipermail/obnam-dev-obnam.org> +List-Post: <mailto:obnam-dev@obnam.org> +List-Help: <mailto:obnam-dev-request@obnam.org?subject=help> +List-Subscribe: <http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/obnam-dev-obnam.org>, + <mailto:obnam-dev-request@obnam.org?subject=subscribe> +Sender: obnam-dev-bounces@obnam.org +Errors-To: obnam-dev-bounces@obnam.org + +On Saturday, July 25, 2015 14:33:57 Lars Wirzenius wrote: +> On Wed, Jul 22, 2015 at 11:01:29PM +0200, Luk=C3=A1=C5=A1 Pol=C3=A1=C4= +=8Dek wrote: +> > It turned out I wasn't too tired and the fix was fairly simple: +> > https://github.com/lukipuki/obnam/compare/interrupted-forget +>=20 +> I've merged this now, with modifications. I dropped the +> --ignore-missing-chunks option, as I don't think it makes sense to +> have it. I'd rather Obnam was robust by default and always. The test +> scenario I wrote earlier now passes, so that's merged as well. +>=20 +> Thanks, Lukas! + +Cool! + +Though I think you meant the other patch, this one fixes interrupted fo= +rget=20 +which you haven't merged yet. + +I have some further improvements in mind for the interrupted-forget pat= +ch: +We should commit client and remove chunks after deleting each generatio= +n.=20 +Currently we commit and remove chunks after all generations are process= +ed,=20 +which can take hours. + +For example, my $HOME repository was broken with missing chunks for abo= +ut 4=20 +months and I only fixed it last weekend thanks to my patch. Then I had = +about=20 +100 generations to remove and "obanm forget" took about 5 hours. Now wi= +th the=20 +current patch all the chunks and 100 generations are removed at the end= + of the=20 +5 hour period, which is not very good. If you interrupt a very long for= +get=20 +after deleting 90% of your generations, you get back to step 0. + +I'll try to add one more patch to my interrupted-forget branch today or= +=20 +tomorrow. + +Lukas + +_______________________________________________ +obnam-dev mailing list +obnam-dev@obnam.org +http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/obnam-dev-obnam.org diff --git a/tickets/75301806a39d4d0bb41300eaf3db7fe2/Maildir/new/1455999008.M757806P17339Q194.exolobe1 b/tickets/75301806a39d4d0bb41300eaf3db7fe2/Maildir/new/1455999008.M757806P17339Q194.exolobe1 new file mode 100644 index 0000000..2512b10 --- /dev/null +++ b/tickets/75301806a39d4d0bb41300eaf3db7fe2/Maildir/new/1455999008.M757806P17339Q194.exolobe1 @@ -0,0 +1,100 @@ +Return-Path: <obnam-dev-bounces@obnam.org> +X-Original-To: distix@pieni.net +Delivered-To: distix@pieni.net +Received: from bagpuss.pepperfish.net (bagpuss.pepperfish.net [148.251.8.16]) + (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) + (No client certificate requested) + by pieni.net (Postfix) with ESMTPS id D11832C82A + for <distix@pieni.net>; Thu, 30 Jul 2015 21:33:35 +0200 (CEST) +Received: from platypus.pepperfish.net (unknown [10.112.100.20]) + by bagpuss.pepperfish.net (Postfix) with ESMTP id 3C4CAF4B; + Thu, 30 Jul 2015 20:33:35 +0100 (BST) +Received: from ip6-localhost ([::1] helo=platypus.pepperfish.net) + by platypus.pepperfish.net with esmtp (Exim 4.80 #2 (Debian)) + id 1ZKtaB-0006Bu-4Z; Thu, 30 Jul 2015 20:33:35 +0100 +Received: from inmail ([10.112.100.10] helo=mx0.pepperfish.net) + by platypus.pepperfish.net with esmtp (Exim 4.80 #2 (Debian)) + id 1ZKta8-0006Bn-TF + for <obnam-dev@obnam.org>; Thu, 30 Jul 2015 20:33:33 +0100 +Received: from pieni.net ([95.142.166.37] ident=postfix) + by mx0.pepperfish.net with esmtps (TLS1.2:DHE_RSA_AES_256_CBC_SHA256:256) + (Exim 4.80) (envelope-from <liw@liw.fi>) id 1ZKta6-0003nz-UJ + for obnam-dev@obnam.org; Thu, 30 Jul 2015 20:33:32 +0100 +Received: from exolobe1.liw.fi (82-181-8-107.bb.dnainternet.fi [82.181.8.107]) + (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) + (No client certificate requested) + by pieni.net (Postfix) with ESMTPSA id 54BEF2BD6C; + Thu, 30 Jul 2015 21:33:22 +0200 (CEST) +Received: from exolobe1.liw.fi (localhost [127.0.0.1]) + by exolobe1.liw.fi (Postfix) with ESMTPS id A410240077; + Thu, 30 Jul 2015 22:33:21 +0300 (EEST) +Date: Thu, 30 Jul 2015 22:33:20 +0300 +From: Lars Wirzenius <liw@liw.fi> +To: =?utf-8?B?THVrw6HFoSBQb2zDocSNZWs=?= <lukas@ksp.sk> +Message-ID: <20150730193320.GU3328@exolobe1.liw.fi> +References: <5972291.20vWKz5Qal@kongruent> <5075317.ExUSC5bmSc@conductor> + <20150726174857.GA2366@exolobe1.liw.fi> + <11788310.BxzROgvz5X@kongruent> +MIME-Version: 1.0 +Content-Type: text/plain; charset=utf-8 +Content-Disposition: inline +Content-Transfer-Encoding: 8bit +In-Reply-To: <11788310.BxzROgvz5X@kongruent> +User-Agent: Mutt/1.5.23 (2014-03-12) +X-Spam-Score: -3.0 +X-Spam-Score-int: -29 +X-Spam-Bar: --- +X-Scanned-By: pepperfish.net, Thu, 30 Jul 2015 20:33:32 +0100 +X-Spam-Report: Content analysis details: (-3.0 points) + pts rule name description + ---- ---------------------- -------------------------------------------------- + -1.0 PPF_USER_AGENT_MUTT User-Agent: contains Mutt (Mutt isn't a spam + tool) -0.5 PPF_USER_AGENT User-Agent: exists + 0.2 PPF_INREPLYTO_NODOTS In-Reply-To contains no dots after the @ + 0.2 PPF_REFERENCES_NODOTS References contains no dots after the @ + -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% + [score: 0.0000] +X-ACL-Warn: message may be spam +X-Scan-Signature: 33c28d4dad91734d931da14cc3b51e8a +Cc: obnam-dev@obnam.org +Subject: Re: forget --ignore-missing-chunks [was + --fsck-repair-missing-chunks] +X-BeenThere: obnam-dev@obnam.org +X-Mailman-Version: 2.1.5 +Precedence: list +List-Id: Obnam development discussions <obnam-dev-obnam.org> +List-Unsubscribe: <http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/obnam-dev-obnam.org>, + <mailto:obnam-dev-request@obnam.org?subject=unsubscribe> +List-Archive: <http://listmaster.pepperfish.net/pipermail/obnam-dev-obnam.org> +List-Post: <mailto:obnam-dev@obnam.org> +List-Help: <mailto:obnam-dev-request@obnam.org?subject=help> +List-Subscribe: <http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/obnam-dev-obnam.org>, + <mailto:obnam-dev-request@obnam.org?subject=subscribe> +Sender: obnam-dev-bounces@obnam.org +Errors-To: obnam-dev-bounces@obnam.org + +On Sun, Jul 26, 2015 at 08:01:37PM +0200, Lukáš Poláček wrote: +> > 1. Lock everything. +> > 2. Find out which chunks can be removed. +> > 3. Remove all references to the chunks (per-client data, chunk +> > indexes). +> > 4. Commit all changes (and unlock). +> > 5. Delete the chunks. +> +> That's what my patch does (except unlock, but that is a small detail). + +I don't think it does, actually. The chunk indexes get updated while +chunks get removed, in flush_chunks in repo_fmt_6.py. All of the chunk +indexes updates need to be committed before any of the chunk files get +removed. Otherwise, if forget gets interrupted, the indexes may +reference a chunk that's actually removed already. + +I can have a try at this in the weekend. + +-- +sic transit disci mundi, ergo obnam + +_______________________________________________ +obnam-dev mailing list +obnam-dev@obnam.org +http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/obnam-dev-obnam.org diff --git a/tickets/75301806a39d4d0bb41300eaf3db7fe2/Maildir/new/1455999008.M77616P17339Q186.exolobe1 b/tickets/75301806a39d4d0bb41300eaf3db7fe2/Maildir/new/1455999008.M77616P17339Q186.exolobe1 new file mode 100644 index 0000000..ba43925 --- /dev/null +++ b/tickets/75301806a39d4d0bb41300eaf3db7fe2/Maildir/new/1455999008.M77616P17339Q186.exolobe1 @@ -0,0 +1,94 @@ +Return-Path: <obnam-dev-bounces@obnam.org> +X-Original-To: distix@pieni.net +Delivered-To: distix@pieni.net +Received: from bagpuss.pepperfish.net (bagpuss.pepperfish.net [148.251.8.16]) + (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) + (No client certificate requested) + by pieni.net (Postfix) with ESMTPS id 1011E2BBD7 + for <distix@pieni.net>; Sun, 26 Jul 2015 20:03:42 +0200 (CEST) +Received: from platypus.pepperfish.net (unknown [10.112.100.20]) + by bagpuss.pepperfish.net (Postfix) with ESMTP id B9B6FBAF; + Sun, 26 Jul 2015 19:03:41 +0100 (BST) +Received: from ip6-localhost ([::1] helo=platypus.pepperfish.net) + by platypus.pepperfish.net with esmtp (Exim 4.80 #2 (Debian)) + id 1ZJQGz-0001yC-LA; Sun, 26 Jul 2015 19:03:41 +0100 +Received: from inmail ([10.112.100.10] helo=mx0.pepperfish.net) + by platypus.pepperfish.net with esmtp (Exim 4.80 #2 (Debian)) + id 1ZJQGx-0001y5-Co + for <obnam-dev@obnam.org>; Sun, 26 Jul 2015 19:03:39 +0100 +Received: from pieni.net ([95.142.166.37] ident=postfix) + by mx0.pepperfish.net with esmtps (TLS1.2:DHE_RSA_AES_256_CBC_SHA256:256) + (Exim 4.80) (envelope-from <liw@liw.fi>) id 1ZJQGv-0000rq-GA + for obnam-dev@obnam.org; Sun, 26 Jul 2015 19:03:39 +0100 +Received: from exolobe1.liw.fi (82-181-8-107.bb.dnainternet.fi [82.181.8.107]) + (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) + (No client certificate requested) + by pieni.net (Postfix) with ESMTPSA id 607AB2BBD7; + Sun, 26 Jul 2015 20:03:30 +0200 (CEST) +Received: from exolobe1.liw.fi (localhost [127.0.0.1]) + by exolobe1.liw.fi (Postfix) with ESMTPS id A20B5402AA; + Sun, 26 Jul 2015 21:03:29 +0300 (EEST) +Date: Sun, 26 Jul 2015 21:03:28 +0300 +From: Lars Wirzenius <liw@liw.fi> +To: =?utf-8?B?THVrw6HFoSBQb2zDocSNZWs=?= <lukas@ksp.sk> +Message-ID: <20150726180328.GB2366@exolobe1.liw.fi> +References: <5972291.20vWKz5Qal@kongruent> <5075317.ExUSC5bmSc@conductor> + <20150726174857.GA2366@exolobe1.liw.fi> + <11788310.BxzROgvz5X@kongruent> +MIME-Version: 1.0 +Content-Type: text/plain; charset=utf-8 +Content-Disposition: inline +Content-Transfer-Encoding: 8bit +In-Reply-To: <11788310.BxzROgvz5X@kongruent> +User-Agent: Mutt/1.5.23 (2014-03-12) +X-Spam-Score: -3.0 +X-Spam-Score-int: -29 +X-Spam-Bar: --- +X-Scanned-By: pepperfish.net, Sun, 26 Jul 2015 19:03:39 +0100 +X-Spam-Report: Content analysis details: (-3.0 points) + pts rule name description + ---- ---------------------- -------------------------------------------------- + -1.0 PPF_USER_AGENT_MUTT User-Agent: contains Mutt (Mutt isn't a spam + tool) -0.5 PPF_USER_AGENT User-Agent: exists + 0.2 PPF_INREPLYTO_NODOTS In-Reply-To contains no dots after the @ + 0.2 PPF_REFERENCES_NODOTS References contains no dots after the @ + -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% + [score: 0.0000] +X-ACL-Warn: message may be spam +X-Scan-Signature: 553d829ff19db93671ce95fbbfcc207b +Cc: obnam-dev@obnam.org +Subject: Re: forget --ignore-missing-chunks [was + --fsck-repair-missing-chunks] +X-BeenThere: obnam-dev@obnam.org +X-Mailman-Version: 2.1.5 +Precedence: list +List-Id: Obnam development discussions <obnam-dev-obnam.org> +List-Unsubscribe: <http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/obnam-dev-obnam.org>, + <mailto:obnam-dev-request@obnam.org?subject=unsubscribe> +List-Archive: <http://listmaster.pepperfish.net/pipermail/obnam-dev-obnam.org> +List-Post: <mailto:obnam-dev@obnam.org> +List-Help: <mailto:obnam-dev-request@obnam.org?subject=help> +List-Subscribe: <http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/obnam-dev-obnam.org>, + <mailto:obnam-dev-request@obnam.org?subject=subscribe> +Sender: obnam-dev-bounces@obnam.org +Errors-To: obnam-dev-bounces@obnam.org + +On Sun, Jul 26, 2015 at 08:01:37PM +0200, Lukáš Poláček wrote: +> That's what my patch does (except unlock, but that is a small detail). + +Oh, cool, I didn't understand that from skimming it. I'll review the +patch in detail soon. + +> I've modified fsck to run faster for me to remove extra chunks, by +> skipping computing checksums. The performance difference is huge. I +> can make a patch with this extra option at some later point. + +That'd be nice, thanks. + +-- +sic transit disci mundi, ergo obnam + +_______________________________________________ +obnam-dev mailing list +obnam-dev@obnam.org +http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/obnam-dev-obnam.org diff --git a/tickets/75301806a39d4d0bb41300eaf3db7fe2/Maildir/new/1455999010.M639296P17339Q210.exolobe1 b/tickets/75301806a39d4d0bb41300eaf3db7fe2/Maildir/new/1455999010.M639296P17339Q210.exolobe1 new file mode 100644 index 0000000..c662fe3 --- /dev/null +++ b/tickets/75301806a39d4d0bb41300eaf3db7fe2/Maildir/new/1455999010.M639296P17339Q210.exolobe1 @@ -0,0 +1,139 @@ +Return-Path: <obnam-dev-bounces@obnam.org> +X-Original-To: distix@pieni.net +Delivered-To: distix@pieni.net +Received: from bagpuss.pepperfish.net (bagpuss.pepperfish.net [148.251.8.16]) + (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) + (No client certificate requested) + by pieni.net (Postfix) with ESMTPS id 955BF2BC76 + for <distix@pieni.net>; Sun, 26 Jul 2015 20:01:48 +0200 (CEST) +Received: from platypus.pepperfish.net (unknown [10.112.100.20]) + by bagpuss.pepperfish.net (Postfix) with ESMTP id 22FE8BAF; + Sun, 26 Jul 2015 19:01:48 +0100 (BST) +Received: from ip6-localhost ([::1] helo=platypus.pepperfish.net) + by platypus.pepperfish.net with esmtp (Exim 4.80 #2 (Debian)) + id 1ZJQFA-0001ug-1N; Sun, 26 Jul 2015 19:01:48 +0100 +Received: from inmail ([10.112.100.10] helo=mx0.pepperfish.net) + by platypus.pepperfish.net with esmtp (Exim 4.80 #2 (Debian)) + id 1ZJQF9-0001uY-0Z + for <obnam-dev@obnam.org>; Sun, 26 Jul 2015 19:01:47 +0100 +Received: from element.ksp.sk ([158.195.16.154] helo=ksp.sk ident=postfix) + by mx0.pepperfish.net with esmtp (Exim 4.80) + (envelope-from <lukas@ksp.sk>) id 1ZJQF6-0000rW-Md + for obnam-dev@obnam.org; Sun, 26 Jul 2015 19:01:46 +0100 +Received: from kongruent.localnet (c213-89-161-244.bredband.comhem.se + [213.89.161.244]) by ksp.sk (Postfix) with ESMTPSA id 56ED64C093; + Sun, 26 Jul 2015 20:01:38 +0200 (CEST) +From: =?utf-8?B?THVrw6HFoSBQb2zDocSNZWs=?= <lukas@ksp.sk> +To: Lars Wirzenius <liw@liw.fi> +Date: Sun, 26 Jul 2015 20:01:37 +0200 +Message-ID: <11788310.BxzROgvz5X@kongruent> +User-Agent: KMail/4.14.8 (Linux/4.0.5-gentoo; KDE/4.14.10; x86_64; ; ) +In-Reply-To: <20150726174857.GA2366@exolobe1.liw.fi> +References: <5972291.20vWKz5Qal@kongruent> <5075317.ExUSC5bmSc@conductor> + <20150726174857.GA2366@exolobe1.liw.fi> +MIME-Version: 1.0 +Content-Transfer-Encoding: quoted-printable +Content-Type: text/plain; charset="utf-8" +X-Spam-Score: -2.4 +X-Spam-Score-int: -23 +X-Spam-Bar: -- +X-Scanned-By: pepperfish.net, Sun, 26 Jul 2015 19:01:46 +0100 +X-Spam-Report: Content analysis details: (-2.4 points) + pts rule name description + ---- ---------------------- -------------------------------------------------- + -0.5 PPF_USER_AGENT User-Agent: exists + 0.5 PPF_MESSAGEID_NODOTS Message-Id contains no dots after the @ + 0.2 PPF_REFERENCES_NODOTS References contains no dots after the @ + -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at http://www.dnswl.org/, low + trust [158.195.16.154 listed in list.dnswl.org] + -0.0 SPF_HELO_PASS SPF: HELO matches SPF record + -0.0 SPF_PASS SPF: sender matches SPF record + -0.0 RP_MATCHES_RCVD Envelope sender domain matches handover relay domain + -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% + [score: 0.0000] +X-ACL-Warn: message may be spam +X-Scan-Signature: f11bba8f41b8bc2894d5c90ad7eebf09 +Cc: obnam-dev@obnam.org +Subject: Re: forget --ignore-missing-chunks [was + --fsck-repair-missing-chunks] +X-BeenThere: obnam-dev@obnam.org +X-Mailman-Version: 2.1.5 +Precedence: list +List-Id: Obnam development discussions <obnam-dev-obnam.org> +List-Unsubscribe: <http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/obnam-dev-obnam.org>, + <mailto:obnam-dev-request@obnam.org?subject=unsubscribe> +List-Archive: <http://listmaster.pepperfish.net/pipermail/obnam-dev-obnam.org> +List-Post: <mailto:obnam-dev@obnam.org> +List-Help: <mailto:obnam-dev-request@obnam.org?subject=help> +List-Subscribe: <http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/obnam-dev-obnam.org>, + <mailto:obnam-dev-request@obnam.org?subject=subscribe> +Sender: obnam-dev-bounces@obnam.org +Errors-To: obnam-dev-bounces@obnam.org + +s=C3=B6ndagen den 26 juli 2015 20:48:57 skrev Lars Wirzenius: +> On Sat, Jul 25, 2015 at 03:28:17PM +0200, Luk=C3=A1=C5=A1 Pol=C3=A1=C4= +=8Dek wrote: +> > Done! See https://github.com/lukipuki/obnam/compare/interrupted-for= +get +> >=20 +> > This is what obnam is capable of now. Let's interrupt it with Ctrl-= +C: +> > $ obnam forget +> > forgetting generations: 11/31 done^C +> > $ obnam force-lock # need to unlock after interrupt +> > $ obnam forget +> > forgetting generations: 21/21 done +> >=20 +> > Not only it doesn't crash now, but it resumes deleting after the po= +int where=20 +> > it was interrupted! +>=20 +> It struck me today that the right way to do forget is like this: +>=20 +> 1. Lock everything. +> 2. Find out which chunks can be removed. +> 3. Remove all references to the chunks (per-client data, chunk +> indexes). +> 4. Commit all changes (and unlock). +> 5. Delete the chunks. + +That's what my patch does (except unlock, but that is a small detail). + +> If Obnam crashes during step 5, it means that some chunks will be +> left, but fsck should deal with that. (That assumes an fsck that's +> fast enough that it can be realistically run. The current one is too +> slow for most people.) + +I've modified fsck to run faster for me to remove extra chunks, by skip= +ping computing checksums. The performance difference is huge. I can mak= +e a patch with this extra option at some later point. + +> I'll ponder on this for a bit. Until I do, I won't make a new release= +, +> though. +>=20 +> I didn't yet look through your patch in detail. One note, though, is +> that I'd prefer to not have boolean "do this instead of that" +> switches, such as the unlock argument you add to commit_client. It's = +a +> better API to have those separate. + +I agree, I can change it back to the old behavior. + +> > Btw, it's a nice code base. Every time I needed to add some +> > functionality, I didn't have to touch too many files and too many +> > different places in the code. My last patch is therefore very small= +, +> > but the change adds a lot of functionality. +>=20 +> Thanks, I do try to keep the code clean, even if it's not as clean as= + +> I want it to be. +>=20 +>=20 + + +_______________________________________________ +obnam-dev mailing list +obnam-dev@obnam.org +http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/obnam-dev-obnam.org diff --git a/tickets/75301806a39d4d0bb41300eaf3db7fe2/Maildir/new/1455999010.M776809P17339Q215.exolobe1 b/tickets/75301806a39d4d0bb41300eaf3db7fe2/Maildir/new/1455999010.M776809P17339Q215.exolobe1 new file mode 100644 index 0000000..e788b84 --- /dev/null +++ b/tickets/75301806a39d4d0bb41300eaf3db7fe2/Maildir/new/1455999010.M776809P17339Q215.exolobe1 @@ -0,0 +1,154 @@ +Return-Path: <obnam-dev-bounces@obnam.org> +X-Original-To: distix@pieni.net +Delivered-To: distix@pieni.net +Received: from bagpuss.pepperfish.net (bagpuss.pepperfish.net [148.251.8.16]) + (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) + (No client certificate requested) + by pieni.net (Postfix) with ESMTPS id 8612F227A5 + for <distix@pieni.net>; Wed, 22 Jul 2015 21:15:28 +0200 (CEST) +Received: from platypus.pepperfish.net (unknown [10.112.100.20]) + by bagpuss.pepperfish.net (Postfix) with ESMTP id 1A3B9EDF; + Wed, 22 Jul 2015 20:15:28 +0100 (BST) +Received: from ip6-localhost ([::1] helo=platypus.pepperfish.net) + by platypus.pepperfish.net with esmtp (Exim 4.80 #2 (Debian)) + id 1ZHzUF-0006Tj-Su; Wed, 22 Jul 2015 20:15:27 +0100 +Received: from inmail ([10.112.100.10] helo=mx0.pepperfish.net) + by platypus.pepperfish.net with esmtp (Exim 4.80 #2 (Debian)) + id 1ZHzUE-0006TS-5b + for <obnam-dev@obnam.org>; Wed, 22 Jul 2015 20:15:26 +0100 +Received: from pieni.net ([95.142.166.37] ident=postfix) + by mx0.pepperfish.net with esmtps (TLS1.2:DHE_RSA_AES_256_CBC_SHA256:256) + (Exim 4.80) (envelope-from <liw@liw.fi>) id 1ZHzUB-0004g6-Tf + for obnam-dev@obnam.org; Wed, 22 Jul 2015 20:15:26 +0100 +Received: from exolobe1.liw.fi (82-181-8-107.bb.dnainternet.fi [82.181.8.107]) + (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) + (No client certificate requested) + by pieni.net (Postfix) with ESMTPSA id 98475227A5; + Wed, 22 Jul 2015 21:15:16 +0200 (CEST) +Received: from exolobe1.liw.fi (localhost [127.0.0.1]) + by exolobe1.liw.fi (Postfix) with ESMTPS id F1BE6400CE; + Wed, 22 Jul 2015 22:15:14 +0300 (EEST) +Date: Wed, 22 Jul 2015 22:15:13 +0300 +From: Lars Wirzenius <liw@liw.fi> +To: =?utf-8?B?THVrw6HFoSBQb2zDocSNZWs=?= <lukas@ksp.sk> +Message-ID: <20150722191513.GG2366@exolobe1.liw.fi> +References: <5972291.20vWKz5Qal@kongruent> + <1460492.xlg7OpTbOb@conductor> +MIME-Version: 1.0 +Content-Type: text/plain; charset=utf-8 +Content-Disposition: inline +Content-Transfer-Encoding: 8bit +In-Reply-To: <1460492.xlg7OpTbOb@conductor> +User-Agent: Mutt/1.5.23 (2014-03-12) +X-Spam-Score: -3.0 +X-Spam-Score-int: -29 +X-Spam-Bar: --- +X-Scanned-By: pepperfish.net, Wed, 22 Jul 2015 20:15:26 +0100 +X-Spam-Report: Content analysis details: (-3.0 points) + pts rule name description + ---- ---------------------- -------------------------------------------------- + -1.0 PPF_USER_AGENT_MUTT User-Agent: contains Mutt (Mutt isn't a spam + tool) -0.5 PPF_USER_AGENT User-Agent: exists + 0.2 PPF_INREPLYTO_NODOTS In-Reply-To contains no dots after the @ + 0.2 PPF_REFERENCES_NODOTS References contains no dots after the @ + -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% + [score: 0.0000] +X-ACL-Warn: message may be spam +X-Scan-Signature: cb3ee7de316b4489dec5a195b4b4db2c +Cc: Gary <gary@mups.co.uk>, obnam-dev@obnam.org +Subject: Re: forget --ignore-missing-chunks [was + --fsck-repair-missing-chunks] +X-BeenThere: obnam-dev@obnam.org +X-Mailman-Version: 2.1.5 +Precedence: list +List-Id: Obnam development discussions <obnam-dev-obnam.org> +List-Unsubscribe: <http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/obnam-dev-obnam.org>, + <mailto:obnam-dev-request@obnam.org?subject=unsubscribe> +List-Archive: <http://listmaster.pepperfish.net/pipermail/obnam-dev-obnam.org> +List-Post: <mailto:obnam-dev@obnam.org> +List-Help: <mailto:obnam-dev-request@obnam.org?subject=help> +List-Subscribe: <http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/obnam-dev-obnam.org>, + <mailto:obnam-dev-request@obnam.org?subject=subscribe> +Sender: obnam-dev-bounces@obnam.org +Errors-To: obnam-dev-bounces@obnam.org + +On Mon, Jul 20, 2015 at 05:57:59PM +0200, Lukáš Poláček wrote: +> The new solution is to run 'obam forget' with +> --ignore-missing-chunks. Here is a patch +> https://github.com/lukipuki/obnam/pull/2 + +Here's my current thinking about the "missing chunk" situation. + +Zeroth, I'd like to thank everyone for the good discussion in this +thread. I've been busy with things (including working on the upcoming +new Obnam repository format), and don't always have time to respond +promptly. It makes me glad, and it's actively helping me, when +everyone else helps each other out. + +First, I'd really like to find the root cause or causes for why this +happens. It happens too often to be random filesystem corruption, so +I'm assuming it's a bug in Obnam. Unfortunately, I don't currently +have a clue how to reproduce this reliably. Help wanted! + +Second, even if we fix all such Obnam bugs, there will always be other +problems, including breaking hard drives. It would be good for Obnam +to be robust against problems in the backup repository. Thus I think +"obnam restore", "obnam mount", "obnam forget", and other Obnam +commands need to be fixed to handle missing chunks, by reporting it as +an error, but preventing Obnam from continuing the operation. + +I don't think we should have an option to enable this robustness. It +should always happen. This is a change from what I've said before: +I've changed my mind. This actually happens. I'm not as stubborn as a +mule. I'm only as stubborn as an ... a donkey. + +The first step in making Obnam more robust is to add one or more tests +for missing chunks. Ideally these would be in the yarn test suite. +Something like this: + +* Create L/foo with some random data. +* Backup L. +* Create L/bar with some other random data. +* Create L/foobar which is a copy of L/foo. +* Backup L. +* Remove file chunk data files that were created in the second backup, + but keep the ones that were there for the first backup. +* Restore first generation. This should work perfectly. +* Restore second generation. This should restore L/foo and L/foobar + correctly, and report failure for L/bar. +* Run fsck on the repository, getting it to fix problems. +* Restore second generation. This should now work perfectly, given + that fsck fixed problems. + +With the test suite (possibly without fsck), writing fixes gets more +sensible, since we can be more confident the fixes actually work. The +test should be augmented by testing "obnam mount" as well. + +As far as how make Obnam more robust against missing chunks, I'm going +to claim that adding 0-byte replacement chunks to replace missing +chunks is a bad idea. It means that when people do a restore, they +silently get the wrong data. A better way to handle a missing chunk is +for restore to notice it, report an error, and then continue instead +of crashing. Lukáš has been working toward that goal, I believe. + +What fsck should do about is that it should remove the missing chunk +from the "chunk indexes", so that no new backups find the missing +chunk using its checksum. Further backups would then make a new chunk +for the missing data. I would not have fsck do further fixes, since +that would hide the fact that a chunk has gone missing and that any +restored data is incomplete. + +I'll volunteer to make the changes in the yarn test suite, though it +may take a while before I get it done. If someone else can do it first +(it should be fairly simple), this will progress faster. + +Lukáš, after the new tests are written, would you be happy to adjust, +if necessary, your patches? + +-- +sic transit disci mundi, ergo obnam + +_______________________________________________ +obnam-dev mailing list +obnam-dev@obnam.org +http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/obnam-dev-obnam.org diff --git a/tickets/75301806a39d4d0bb41300eaf3db7fe2/Maildir/new/1455999012.M264535P17339Q241.exolobe1 b/tickets/75301806a39d4d0bb41300eaf3db7fe2/Maildir/new/1455999012.M264535P17339Q241.exolobe1 new file mode 100644 index 0000000..ff52bf3 --- /dev/null +++ b/tickets/75301806a39d4d0bb41300eaf3db7fe2/Maildir/new/1455999012.M264535P17339Q241.exolobe1 @@ -0,0 +1,149 @@ +Return-Path: <obnam-dev-bounces@obnam.org> +X-Original-To: distix@pieni.net +Delivered-To: distix@pieni.net +Received: from bagpuss.pepperfish.net (bagpuss.pepperfish.net [148.251.8.16]) + (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) + (No client certificate requested) + by pieni.net (Postfix) with ESMTPS id D28782B01A + for <distix@pieni.net>; Thu, 23 Jul 2015 20:58:32 +0200 (CEST) +Received: from platypus.pepperfish.net (unknown [10.112.100.20]) + by bagpuss.pepperfish.net (Postfix) with ESMTP id 58863CD1; + Thu, 23 Jul 2015 19:58:32 +0100 (BST) +Received: from ip6-localhost ([::1] helo=platypus.pepperfish.net) + by platypus.pepperfish.net with esmtp (Exim 4.80 #2 (Debian)) + id 1ZILhQ-0004qa-8K; Thu, 23 Jul 2015 19:58:32 +0100 +Received: from inmail ([10.112.100.10] helo=mx0.pepperfish.net) + by platypus.pepperfish.net with esmtp (Exim 4.80 #2 (Debian)) + id 1ZILhO-0004qT-HE + for <obnam-dev@obnam.org>; Thu, 23 Jul 2015 19:58:30 +0100 +Received: from pieni.net ([95.142.166.37] ident=postfix) + by mx0.pepperfish.net with esmtps (TLS1.2:DHE_RSA_AES_256_CBC_SHA256:256) + (Exim 4.80) (envelope-from <liw@liw.fi>) id 1ZILhM-0004o2-Bh + for obnam-dev@obnam.org; Thu, 23 Jul 2015 19:58:30 +0100 +Received: from exolobe1.liw.fi (82-181-8-107.bb.dnainternet.fi [82.181.8.107]) + (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) + (No client certificate requested) + by pieni.net (Postfix) with ESMTPSA id 9B2332AB6F; + Thu, 23 Jul 2015 20:58:20 +0200 (CEST) +Received: from exolobe1.liw.fi (localhost [127.0.0.1]) + by exolobe1.liw.fi (Postfix) with ESMTPS id E8CEC408D3; + Thu, 23 Jul 2015 21:58:19 +0300 (EEST) +Date: Thu, 23 Jul 2015 21:58:18 +0300 +From: Lars Wirzenius <liw@liw.fi> +To: =?utf-8?B?THVrw6HFoSBQb2zDocSNZWs=?= <lukas@ksp.sk> +Message-ID: <20150723185818.GO2366@exolobe1.liw.fi> +References: <5972291.20vWKz5Qal@kongruent> <1527462.Y7ExHB7XNM@kongruent> + <44929067.8IX34BIZvD@conductor> <2432528.QdFqWFWzmv@conductor> +MIME-Version: 1.0 +Content-Type: text/plain; charset=utf-8 +Content-Disposition: inline +Content-Transfer-Encoding: 8bit +In-Reply-To: <2432528.QdFqWFWzmv@conductor> +User-Agent: Mutt/1.5.23 (2014-03-12) +X-Spam-Score: -3.0 +X-Spam-Score-int: -29 +X-Spam-Bar: --- +X-Scanned-By: pepperfish.net, Thu, 23 Jul 2015 19:58:30 +0100 +X-Spam-Report: Content analysis details: (-3.0 points) + pts rule name description + ---- ---------------------- -------------------------------------------------- + -1.0 PPF_USER_AGENT_MUTT User-Agent: contains Mutt (Mutt isn't a spam + tool) -0.5 PPF_USER_AGENT User-Agent: exists + 0.2 PPF_INREPLYTO_NODOTS In-Reply-To contains no dots after the @ + 0.2 PPF_REFERENCES_NODOTS References contains no dots after the @ + -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% + [score: 0.0000] +X-ACL-Warn: message may be spam +X-Scan-Signature: ead9a2b6d4436a72c03b49bb9387508d +Cc: Gary <gary@mups.co.uk>, obnam-dev@obnam.org +Subject: Re: forget --ignore-missing-chunks [was + --fsck-repair-missing-chunks] +X-BeenThere: obnam-dev@obnam.org +X-Mailman-Version: 2.1.5 +Precedence: list +List-Id: Obnam development discussions <obnam-dev-obnam.org> +List-Unsubscribe: <http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/obnam-dev-obnam.org>, + <mailto:obnam-dev-request@obnam.org?subject=unsubscribe> +List-Archive: <http://listmaster.pepperfish.net/pipermail/obnam-dev-obnam.org> +List-Post: <mailto:obnam-dev@obnam.org> +List-Help: <mailto:obnam-dev-request@obnam.org?subject=help> +List-Subscribe: <http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/obnam-dev-obnam.org>, + <mailto:obnam-dev-request@obnam.org?subject=subscribe> +Sender: obnam-dev-bounces@obnam.org +Errors-To: obnam-dev-bounces@obnam.org + +I think you're right about at least one 'cause of missing chunks. I'll +review the code in more detail later. I spent my hacking time for +tonight to make the test suite changes in my repository, in the branch +liw/missing-chunk. + +On Wed, Jul 22, 2015 at 11:01:29PM +0200, Lukáš Poláček wrote: +> On Wednesday, July 22, 2015 22:34:53 Lukáš Poláček wrote: +> > On Wednesday, July 22, 2015 21:30:59 Lukáš Poláček wrote: +> > > onsdagen den 22 juli 2015 22:15:13 skrev Lars Wirzenius: +> > > > On Mon, Jul 20, 2015 at 05:57:59PM +0200, Lukáš Poláček wrote: +> > > > > The new solution is to run 'obam forget' with +> > > > > --ignore-missing-chunks. Here is a patch +> > > > > https://github.com/lukipuki/obnam/pull/2 +> > > > +> > > > Here's my current thinking about the "missing chunk" situation. +> > > > +> > > > Zeroth, I'd like to thank everyone for the good discussion in this +> > > > thread. I've been busy with things (including working on the upcoming +> > > > new Obnam repository format), and don't always have time to respond +> > > > promptly. It makes me glad, and it's actively helping me, when +> > > > everyone else helps each other out. +> > > +> > > Thank you for such great software! +> > > +> > > > First, I'd really like to find the root cause or causes for why this +> > > > happens. It happens too often to be random filesystem corruption, so +> > > > I'm assuming it's a bug in Obnam. Unfortunately, I don't currently +> > > > have a clue how to reproduce this reliably. Help wanted! +> > > +> > > While debugging this, I think I spotted a possible place in the code that +> > > might be causing this (at least in the case of interrupted forget). I'll +> > > try to recall where it was and investigate. +> > +> > Reproduced! +> > +> > Steps: +> > 1. Add "raise Exception" on line 565 in repo_fmt_6.py, like so: +> > self._remove_chunks_from_removed_generations(client_name, [gen_number]) +> > raise Exception +> > open_client_info.client.start_changes(create_tree=False) +> > open_client_info.client.remove_generation(gen_number) +> > +> > (We are forcing obnam to remove chunks and crash before the generation is +> > removed from the client) +> > +> > 2. Run "obnam forget" so that it forgets at least one generation. Chunks +> > that are not needed get deleted but the generation is still stored in the +> > client, because obnam was interrupted by an exception. +> > +> > 3. Run "obnam force-lock" (because the exception caused it to stay locked) +> > and then "obnam forget" again: +> > forgetting generations: 0/10 doneERROR: R43272X: Repository doesn't contain +> > chunk 2564090581110374861. It is expected at +> > chunks/2066/1585/3030/23957acc630241cd +> > +> > +> > The fix should be fairly simple, although it might need some refactoring. +> > Too tired to write a patch now :) +> > +> > Cheers, +> > Lukas +> +> It turned out I wasn't too tired and the fix was fairly simple: +> https://github.com/lukipuki/obnam/compare/interrupted-forget +> +> Lukas +> + +-- +sic transit disci mundi, ergo obnam + +_______________________________________________ +obnam-dev mailing list +obnam-dev@obnam.org +http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/obnam-dev-obnam.org diff --git a/tickets/75301806a39d4d0bb41300eaf3db7fe2/Maildir/new/1455999012.M332305P17339Q242.exolobe1 b/tickets/75301806a39d4d0bb41300eaf3db7fe2/Maildir/new/1455999012.M332305P17339Q242.exolobe1 new file mode 100644 index 0000000..a24a236 --- /dev/null +++ b/tickets/75301806a39d4d0bb41300eaf3db7fe2/Maildir/new/1455999012.M332305P17339Q242.exolobe1 @@ -0,0 +1,131 @@ +Return-Path: <obnam-dev-bounces@obnam.org> +X-Original-To: distix@pieni.net +Delivered-To: distix@pieni.net +Received: from bagpuss.pepperfish.net (bagpuss.pepperfish.net [148.251.8.16]) + (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) + (No client certificate requested) + by pieni.net (Postfix) with ESMTPS id 63FF721ADE + for <distix@pieni.net>; Mon, 20 Jul 2015 17:58:11 +0200 (CEST) +Received: from platypus.pepperfish.net (unknown [10.112.100.20]) + by bagpuss.pepperfish.net (Postfix) with ESMTP id E93EA25BD; + Mon, 20 Jul 2015 16:58:10 +0100 (BST) +Received: from ip6-localhost ([::1] helo=platypus.pepperfish.net) + by platypus.pepperfish.net with esmtp (Exim 4.80 #2 (Debian)) + id 1ZHDSE-0003VZ-RN; Mon, 20 Jul 2015 16:58:10 +0100 +Received: from inmail ([10.112.100.10] helo=mx0.pepperfish.net) + by platypus.pepperfish.net with esmtp (Exim 4.80 #2 (Debian)) + id 1ZHDSD-0003VT-Cf + for <obnam-dev@obnam.org>; Mon, 20 Jul 2015 16:58:09 +0100 +Received: from element.ksp.sk ([158.195.16.154] helo=ksp.sk ident=postfix) + by mx0.pepperfish.net with esmtp (Exim 4.80) + (envelope-from <lukas@ksp.sk>) id 1ZHDSB-0006tW-DS + for obnam-dev@obnam.org; Mon, 20 Jul 2015 16:58:09 +0100 +Received: from conductor.localnet (unknown [80.239.169.204]) + by ksp.sk (Postfix) with ESMTPSA id 530504C009; + Mon, 20 Jul 2015 17:58:00 +0200 (CEST) +From: =?utf-8?B?THVrw6HFoSBQb2zDocSNZWs=?= <lukas@ksp.sk> +To: obnam-dev@obnam.org +Date: Mon, 20 Jul 2015 17:57:59 +0200 +Message-ID: <1460492.xlg7OpTbOb@conductor> +User-Agent: KMail/4.13.3 (Linux/3.13.0-57-generic; KDE/4.13.3; x86_64; ; ) +In-Reply-To: <5972291.20vWKz5Qal@kongruent> +References: <5972291.20vWKz5Qal@kongruent> +MIME-Version: 1.0 +Content-Transfer-Encoding: quoted-printable +Content-Type: text/plain; charset="utf-8" +X-Spam-Score: -3.4 +X-Spam-Score-int: -33 +X-Spam-Bar: --- +X-Scanned-By: pepperfish.net, Mon, 20 Jul 2015 16:58:09 +0100 +X-Spam-Report: Content analysis details: (-3.4 points) + pts rule name description + ---- ---------------------- -------------------------------------------------- + -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at http://www.dnswl.org/, low + trust [158.195.16.154 listed in list.dnswl.org] + -0.5 PPF_USER_AGENT User-Agent: exists + 0.5 PPF_MESSAGEID_NODOTS Message-Id contains no dots after the @ + 0.2 PPF_INREPLYTO_NODOTS In-Reply-To contains no dots after the @ + 0.2 PPF_REFERENCES_NODOTS References contains no dots after the @ + -0.0 SPF_HELO_PASS SPF: HELO matches SPF record + -0.0 SPF_PASS SPF: sender matches SPF record + -1.2 RP_MATCHES_RCVD Envelope sender domain matches handover relay domain + -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% + [score: 0.0000] +X-ACL-Warn: message may be spam +X-Scan-Signature: ba1bd13e745ff835f40566289e86fe85 +Cc: Gary <gary@mups.co.uk> +Subject: forget --ignore-missing-chunks [was --fsck-repair-missing-chunks] +X-BeenThere: obnam-dev@obnam.org +X-Mailman-Version: 2.1.5 +Precedence: list +List-Id: Obnam development discussions <obnam-dev-obnam.org> +List-Unsubscribe: <http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/obnam-dev-obnam.org>, + <mailto:obnam-dev-request@obnam.org?subject=unsubscribe> +List-Archive: <http://listmaster.pepperfish.net/pipermail/obnam-dev-obnam.org> +List-Post: <mailto:obnam-dev@obnam.org> +List-Help: <mailto:obnam-dev-request@obnam.org?subject=help> +List-Subscribe: <http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/obnam-dev-obnam.org>, + <mailto:obnam-dev-request@obnam.org?subject=subscribe> +Sender: obnam-dev-bounces@obnam.org +Errors-To: obnam-dev-bounces@obnam.org + +On Monday, July 20, 2015 09:04:54 Luk=C3=A1=C5=A1 Pol=C3=A1=C4=8Dek wro= +te: +> Hi, +> I sent a similar mail to obnam-support, but I think I should also sen= +d it +> here. +>=20 +> I had a problem with missing chunks when running forget: +> $ obnam forget +> forgetting generations: 0/60 doneERROR: R43272X: Repository doesn't c= +ontain +> chunk 9412000916050223474. It is expected at +> chunks/1689/2989/295/829e24f75ad32172 +>=20 +> I ended up writing a patch that fixes it, it adds option +> --fsck-repair-missing-chunks to fsck: +> https://github.com/lukipuki/obnam/pull/1/files +>=20 +> It creates an empty chunk file whenever the file is missing. This is = +useful +> in situations like mine, but probably less so in others. +>=20 +> By the way, I had some trouble with assertRaises, so I did a work-aro= +und. +> Can someone have a look on what I did wrong? My original code is comm= +ented +> out: +> https://github.com/lukipuki/obnam/pull/1/files#diff-90654461bc7bd4eff= +be04c3 +> f5257bfeeR2160 +>=20 +> I also have ideas for a couple more options for fsck, so that one can= + repair +> missing chunks in the order of minutes rather than hours. +>=20 +> Cheers, +> Lukas + +Hi, +after discussion with Gary (+cc) I decided to abandon my previous patch= +: +* it's an ugly hack +* I thought the patch would also help for situations when chunks are=20= + +corrupted, but "obnam restore" and "obnam mount" handle them as expecte= +d. +* there's a simpler and nicer solution, see the PR below + +The new solution is to run 'obam forget' with --ignore-missing-chunks. = +Here is=20 +a patch +https://github.com/lukipuki/obnam/pull/2 + +Cheers, +Lukas + +_______________________________________________ +obnam-dev mailing list +obnam-dev@obnam.org +http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/obnam-dev-obnam.org diff --git a/tickets/75301806a39d4d0bb41300eaf3db7fe2/Maildir/new/1455999012.M396081P17339Q243.exolobe1 b/tickets/75301806a39d4d0bb41300eaf3db7fe2/Maildir/new/1455999012.M396081P17339Q243.exolobe1 new file mode 100644 index 0000000..bbc26c3 --- /dev/null +++ b/tickets/75301806a39d4d0bb41300eaf3db7fe2/Maildir/new/1455999012.M396081P17339Q243.exolobe1 @@ -0,0 +1,156 @@ +Return-Path: <obnam-dev-bounces@obnam.org> +X-Original-To: distix@pieni.net +Delivered-To: distix@pieni.net +Received: from bagpuss.pepperfish.net (bagpuss.pepperfish.net [148.251.8.16]) + (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) + (No client certificate requested) + by pieni.net (Postfix) with ESMTPS id 5C9BE2AB1D + for <distix@pieni.net>; Wed, 22 Jul 2015 23:01:42 +0200 (CEST) +Received: from platypus.pepperfish.net (unknown [10.112.100.20]) + by bagpuss.pepperfish.net (Postfix) with ESMTP id D0E06299F; + Wed, 22 Jul 2015 22:01:41 +0100 (BST) +Received: from ip6-localhost ([::1] helo=platypus.pepperfish.net) + by platypus.pepperfish.net with esmtp (Exim 4.80 #2 (Debian)) + id 1ZI193-0004QK-NX; Wed, 22 Jul 2015 22:01:41 +0100 +Received: from inmail ([10.112.100.10] helo=mx0.pepperfish.net) + by platypus.pepperfish.net with esmtp (Exim 4.80 #2 (Debian)) + id 1ZI192-0004QD-Gy + for <obnam-dev@obnam.org>; Wed, 22 Jul 2015 22:01:40 +0100 +Received: from element.ksp.sk ([158.195.16.154] helo=ksp.sk ident=postfix) + by mx0.pepperfish.net with esmtp (Exim 4.80) + (envelope-from <lukas@ksp.sk>) id 1ZI190-0007gH-5W + for obnam-dev@obnam.org; Wed, 22 Jul 2015 22:01:40 +0100 +Received: from conductor.localnet (vlan22.officevpn.sto.spotify.net + [194.68.181.235]) by ksp.sk (Postfix) with ESMTPSA id B49BA4C009; + Wed, 22 Jul 2015 23:01:30 +0200 (CEST) +From: =?utf-8?B?THVrw6HFoSBQb2zDocSNZWs=?= <lukas@ksp.sk> +To: obnam-dev@obnam.org +Date: Wed, 22 Jul 2015 23:01:29 +0200 +Message-ID: <2432528.QdFqWFWzmv@conductor> +User-Agent: KMail/4.13.3 (Linux/3.13.0-57-generic; KDE/4.13.3; x86_64; ; ) +In-Reply-To: <44929067.8IX34BIZvD@conductor> +References: <5972291.20vWKz5Qal@kongruent> <1527462.Y7ExHB7XNM@kongruent> + <44929067.8IX34BIZvD@conductor> +MIME-Version: 1.0 +Content-Transfer-Encoding: quoted-printable +Content-Type: text/plain; charset="utf-8" +X-Spam-Score: -3.4 +X-Spam-Score-int: -33 +X-Spam-Bar: --- +X-Scanned-By: pepperfish.net, Wed, 22 Jul 2015 22:01:40 +0100 +X-Spam-Report: Content analysis details: (-3.4 points) + pts rule name description + ---- ---------------------- -------------------------------------------------- + -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at http://www.dnswl.org/, low + trust [158.195.16.154 listed in list.dnswl.org] + -0.5 PPF_USER_AGENT User-Agent: exists + 0.5 PPF_MESSAGEID_NODOTS Message-Id contains no dots after the @ + 0.2 PPF_INREPLYTO_NODOTS In-Reply-To contains no dots after the @ + 0.2 PPF_REFERENCES_NODOTS References contains no dots after the @ + -0.0 SPF_HELO_PASS SPF: HELO matches SPF record + -0.0 SPF_PASS SPF: sender matches SPF record + -1.2 RP_MATCHES_RCVD Envelope sender domain matches handover relay domain + -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% + [score: 0.0000] +X-ACL-Warn: message may be spam +X-Scan-Signature: 158c4740c279b904d023a01a6041c5ee +Cc: Gary <gary@mups.co.uk>, Lars Wirzenius <liw@liw.fi> +Subject: Re: forget --ignore-missing-chunks [was + --fsck-repair-missing-chunks] +X-BeenThere: obnam-dev@obnam.org +X-Mailman-Version: 2.1.5 +Precedence: list +List-Id: Obnam development discussions <obnam-dev-obnam.org> +List-Unsubscribe: <http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/obnam-dev-obnam.org>, + <mailto:obnam-dev-request@obnam.org?subject=unsubscribe> +List-Archive: <http://listmaster.pepperfish.net/pipermail/obnam-dev-obnam.org> +List-Post: <mailto:obnam-dev@obnam.org> +List-Help: <mailto:obnam-dev-request@obnam.org?subject=help> +List-Subscribe: <http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/obnam-dev-obnam.org>, + <mailto:obnam-dev-request@obnam.org?subject=subscribe> +Sender: obnam-dev-bounces@obnam.org +Errors-To: obnam-dev-bounces@obnam.org + +On Wednesday, July 22, 2015 22:34:53 Luk=C3=A1=C5=A1 Pol=C3=A1=C4=8Dek = +wrote: +> On Wednesday, July 22, 2015 21:30:59 Luk=C3=A1=C5=A1 Pol=C3=A1=C4=8De= +k wrote: +> > onsdagen den 22 juli 2015 22:15:13 skrev Lars Wirzenius: +> > > On Mon, Jul 20, 2015 at 05:57:59PM +0200, Luk=C3=A1=C5=A1 Pol=C3=A1= +=C4=8Dek wrote: +> > > > The new solution is to run 'obam forget' with +> > > > --ignore-missing-chunks. Here is a patch +> > > > https://github.com/lukipuki/obnam/pull/2 +> > >=20 +> > > Here's my current thinking about the "missing chunk" situation. +> > >=20 +> > > Zeroth, I'd like to thank everyone for the good discussion in thi= +s +> > > thread. I've been busy with things (including working on the upco= +ming +> > > new Obnam repository format), and don't always have time to respo= +nd +> > > promptly. It makes me glad, and it's actively helping me, when +> > > everyone else helps each other out. +> >=20 +> > Thank you for such great software! +> >=20 +> > > First, I'd really like to find the root cause or causes for why t= +his +> > > happens. It happens too often to be random filesystem corruption,= + so +> > > I'm assuming it's a bug in Obnam. Unfortunately, I don't currentl= +y +> > > have a clue how to reproduce this reliably. Help wanted! +> >=20 +> > While debugging this, I think I spotted a possible place in the cod= +e that +> > might be causing this (at least in the case of interrupted forget).= + I'll +> > try to recall where it was and investigate. +>=20 +> Reproduced! +>=20 +> Steps: +> 1. Add "raise Exception" on line 565 in repo_fmt_6.py, like so: +> self._remove_chunks_from_removed_generations(client_name, [gen_number= +]) +> raise Exception +> open_client_info.client.start_changes(create_tree=3DFalse) +> open_client_info.client.remove_generation(gen_number) +>=20 +> (We are forcing obnam to remove chunks and crash before the generatio= +n is +> removed from the client) +>=20 +> 2. Run "obnam forget" so that it forgets at least one generation. Chu= +nks +> that are not needed get deleted but the generation is still stored in= + the +> client, because obnam was interrupted by an exception. +>=20 +> 3. Run "obnam force-lock" (because the exception caused it to stay lo= +cked) +> and then "obnam forget" again: +> forgetting generations: 0/10 doneERROR: R43272X: Repository doesn't c= +ontain +> chunk 2564090581110374861. It is expected at +> chunks/2066/1585/3030/23957acc630241cd +>=20 +>=20 +> The fix should be fairly simple, although it might need some refactor= +ing. +> Too tired to write a patch now :) +>=20 +> Cheers, +> Lukas + +It turned out I wasn't too tired and the fix was fairly simple: +https://github.com/lukipuki/obnam/compare/interrupted-forget + +Lukas + +_______________________________________________ +obnam-dev mailing list +obnam-dev@obnam.org +http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/obnam-dev-obnam.org diff --git a/tickets/75301806a39d4d0bb41300eaf3db7fe2/Maildir/new/1455999012.M453825P17339Q244.exolobe1 b/tickets/75301806a39d4d0bb41300eaf3db7fe2/Maildir/new/1455999012.M453825P17339Q244.exolobe1 new file mode 100644 index 0000000..391ea1c --- /dev/null +++ b/tickets/75301806a39d4d0bb41300eaf3db7fe2/Maildir/new/1455999012.M453825P17339Q244.exolobe1 @@ -0,0 +1,245 @@ +Return-Path: <obnam-dev-bounces@obnam.org> +X-Original-To: distix@pieni.net +Delivered-To: distix@pieni.net +Received: from bagpuss.pepperfish.net (bagpuss.pepperfish.net [148.251.8.16]) + (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) + (No client certificate requested) + by pieni.net (Postfix) with ESMTPS id 40C4F2AB5F + for <distix@pieni.net>; Wed, 22 Jul 2015 21:48:47 +0200 (CEST) +Received: from platypus.pepperfish.net (unknown [10.112.100.20]) + by bagpuss.pepperfish.net (Postfix) with ESMTP id AF3521C97; + Wed, 22 Jul 2015 20:48:46 +0100 (BST) +Received: from ip6-localhost ([::1] helo=platypus.pepperfish.net) + by platypus.pepperfish.net with esmtp (Exim 4.80 #2 (Debian)) + id 1ZI00U-0008Ig-JE; Wed, 22 Jul 2015 20:48:46 +0100 +Received: from inmail ([10.112.100.10] helo=mx0.pepperfish.net) + by platypus.pepperfish.net with esmtp (Exim 4.80 #2 (Debian)) + id 1ZI00T-0008Ia-8F + for <obnam-dev@obnam.org>; Wed, 22 Jul 2015 20:48:45 +0100 +Received: from element.ksp.sk ([158.195.16.154] helo=ksp.sk ident=postfix) + by mx0.pepperfish.net with esmtp (Exim 4.80) + (envelope-from <lukas@ksp.sk>) id 1ZI00Q-0005Xr-QZ + for obnam-dev@obnam.org; Wed, 22 Jul 2015 20:48:45 +0100 +Received: from conductor.localnet (vlan22.officevpn.sto.spotify.net + [194.68.181.235]) by ksp.sk (Postfix) with ESMTPSA id D46B94C009; + Wed, 22 Jul 2015 21:48:36 +0200 (CEST) +From: =?utf-8?B?THVrw6HFoSBQb2zDocSNZWs=?= <lukas@ksp.sk> +To: obnam-dev@obnam.org +Date: Wed, 22 Jul 2015 21:48:35 +0200 +Message-ID: <4008593.24Wzu3tDQl@conductor> +User-Agent: KMail/4.13.3 (Linux/3.13.0-57-generic; KDE/4.13.3; x86_64; ; ) +In-Reply-To: <1527462.Y7ExHB7XNM@kongruent> +References: <5972291.20vWKz5Qal@kongruent> + <20150722191513.GG2366@exolobe1.liw.fi> <1527462.Y7ExHB7XNM@kongruent> +MIME-Version: 1.0 +Content-Transfer-Encoding: quoted-printable +Content-Type: text/plain; charset="utf-8" +X-Spam-Score: -3.4 +X-Spam-Score-int: -33 +X-Spam-Bar: --- +X-Scanned-By: pepperfish.net, Wed, 22 Jul 2015 20:48:45 +0100 +X-Spam-Report: Content analysis details: (-3.4 points) + pts rule name description + ---- ---------------------- -------------------------------------------------- + -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at http://www.dnswl.org/, low + trust [158.195.16.154 listed in list.dnswl.org] + -0.5 PPF_USER_AGENT User-Agent: exists + 0.5 PPF_MESSAGEID_NODOTS Message-Id contains no dots after the @ + 0.2 PPF_INREPLYTO_NODOTS In-Reply-To contains no dots after the @ + 0.2 PPF_REFERENCES_NODOTS References contains no dots after the @ + -0.0 SPF_HELO_PASS SPF: HELO matches SPF record + -0.0 SPF_PASS SPF: sender matches SPF record + -1.2 RP_MATCHES_RCVD Envelope sender domain matches handover relay domain + -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% + [score: 0.0000] +X-ACL-Warn: message may be spam +X-Scan-Signature: 2155cf8b7d690687fbf25db2ec79c87d +Cc: Gary <gary@mups.co.uk>, Lars Wirzenius <liw@liw.fi> +Subject: Re: forget --ignore-missing-chunks [was + --fsck-repair-missing-chunks] +X-BeenThere: obnam-dev@obnam.org +X-Mailman-Version: 2.1.5 +Precedence: list +List-Id: Obnam development discussions <obnam-dev-obnam.org> +List-Unsubscribe: <http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/obnam-dev-obnam.org>, + <mailto:obnam-dev-request@obnam.org?subject=unsubscribe> +List-Archive: <http://listmaster.pepperfish.net/pipermail/obnam-dev-obnam.org> +List-Post: <mailto:obnam-dev@obnam.org> +List-Help: <mailto:obnam-dev-request@obnam.org?subject=help> +List-Subscribe: <http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/obnam-dev-obnam.org>, + <mailto:obnam-dev-request@obnam.org?subject=subscribe> +Sender: obnam-dev-bounces@obnam.org +Errors-To: obnam-dev-bounces@obnam.org + +On Wednesday, July 22, 2015 21:30:59 Luk=C3=A1=C5=A1 Pol=C3=A1=C4=8Dek = +wrote: +> onsdagen den 22 juli 2015 22:15:13 skrev Lars Wirzenius: +> > On Mon, Jul 20, 2015 at 05:57:59PM +0200, Luk=C3=A1=C5=A1 Pol=C3=A1= +=C4=8Dek wrote: +> > > The new solution is to run 'obam forget' with +> > > --ignore-missing-chunks. Here is a patch +> > > https://github.com/lukipuki/obnam/pull/2 +> >=20 +> > Here's my current thinking about the "missing chunk" situation. +> >=20 +> > Zeroth, I'd like to thank everyone for the good discussion in this +> > thread. I've been busy with things (including working on the upcomi= +ng +> > new Obnam repository format), and don't always have time to respond= + +> > promptly. It makes me glad, and it's actively helping me, when +> > everyone else helps each other out. +>=20 +> Thank you for such great software! +>=20 +> > First, I'd really like to find the root cause or causes for why thi= +s +> > happens. It happens too often to be random filesystem corruption, s= +o +> > I'm assuming it's a bug in Obnam. Unfortunately, I don't currently +> > have a clue how to reproduce this reliably. Help wanted! +>=20 +> While debugging this, I think I spotted a possible place in the code = +that +> might be causing this (at least in the case of interrupted forget). I= +'ll +> try to recall where it was and investigate. +> > Second, even if we fix all such Obnam bugs, there will always be ot= +her +> > problems, including breaking hard drives. It would be good for Obna= +m +> > to be robust against problems in the backup repository. Thus I thin= +k +> > "obnam restore", "obnam mount", "obnam forget", and other Obnam +> > commands need to be fixed to handle missing chunks, by reporting it= + as +> > an error, but preventing Obnam from continuing the operation. +> >=20 +> > I don't think we should have an option to enable this robustness. I= +t +> > should always happen. This is a change from what I've said before: +> > I've changed my mind. This actually happens. I'm not as stubborn as= + a +> > mule. I'm only as stubborn as an ... a donkey. +>=20 +> Great! I agree. +>=20 +> > The first step in making Obnam more robust is to add one or more te= +sts +> > for missing chunks. Ideally these would be in the yarn test suite. +> > Something like this: +> >=20 +> > * Create L/foo with some random data. +> > * Backup L. +> > * Create L/bar with some other random data. +> > * Create L/foobar which is a copy of L/foo. +> > * Backup L. +> > * Remove file chunk data files that were created in the second back= +up, +> >=20 +> > but keep the ones that were there for the first backup. +> >=20 +> > * Restore first generation. This should work perfectly. +> > * Restore second generation. This should restore L/foo and L/foobar= + +> >=20 +> > correctly, and report failure for L/bar. +> >=20 +> > * Run fsck on the repository, getting it to fix problems. +> > * Restore second generation. This should now work perfectly, given +> >=20 +> > that fsck fixed problems. +> >=20 +> > With the test suite (possibly without fsck), writing fixes gets mor= +e +> > sensible, since we can be more confident the fixes actually work. T= +he +> > test should be augmented by testing "obnam mount" as well. +> >=20 +> > As far as how make Obnam more robust against missing chunks, I'm go= +ing +> > to claim that adding 0-byte replacement chunks to replace missing +> > chunks is a bad idea. It means that when people do a restore, they +> > silently get the wrong data. A better way to handle a missing chunk= + is +> > for restore to notice it, report an error, and then continue instea= +d +> > of crashing. Luk=C3=A1=C5=A1 has been working toward that goal, I b= +elieve. +>=20 +> As far as I can tell, restore (and mount) does this already. It repor= +ts +> "read error" or something similar when a file with a missing chunks i= +s +> being restored, but the rest of the generation is just fine. I've tes= +ted it +> on the copy of my broken repo. +>=20 +> However, forget is not that robust and that's what I worked on. +>=20 +> > What fsck should do about is that it should remove the missing chun= +k +> > from the "chunk indexes", so that no new backups find the missing +> > chunk using its checksum. Further backups would then make a new chu= +nk +> > for the missing data. I would not have fsck do further fixes, since= + +> > that would hide the fact that a chunk has gone missing and that any= + +> > restored data is incomplete. +> >=20 +> > I'll volunteer to make the changes in the yarn test suite, though i= +t +> > may take a while before I get it done. If someone else can do it fi= +rst +> > (it should be fairly simple), this will progress faster. +> >=20 +> > Luk=C3=A1=C5=A1, after the new tests are written, would you be happ= +y to adjust, +> > if necessary, your patches? +>=20 +> Sure! +>=20 +> Cheers, +> Lukas + +For the record, this is what I get when trying to restore a generation = +with=20 +two missing chunks: + +$ obnam restore --generation=3D2174 /etc +Failed to restore /etc/ld.so.cache: R43272X: Repository doesn't contain= + chunk=20 +9412000916050223486. It is expected at chunks/1689/2989/295/829e24f75ad= +3217e +Failed to restore /etc/prelink.conf.d/portage.conf: R43272X: Repository= +=20 +doesn't contain chunk 9412000916050223474. It is expected at=20 +chunks/1689/2989/295/829e24f75ad32172 + +Restored 1855 files, downloaded 13.5 MiB in 1s at 11.7 MiB/s average sp= +eed =20 +ERROR: RD6259X: There were errors when restoring + +See previous error messages for details. +----- end of output ----------- + +When I access those two files, they are empty. + +With obnam mount the situation is similar. 'obnam mount' runs without a= +n error=20 +and then:=20 +$ cat etc/ld.so.cache +cat: ld.so.cache: Invalid argument + +The rest of the generation is mounted correctly and accessible. + +Overall, I don't see anything wrong in the behaviour of 'restore' and '= +mount'. + +Lukas + +_______________________________________________ +obnam-dev mailing list +obnam-dev@obnam.org +http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/obnam-dev-obnam.org diff --git a/tickets/75301806a39d4d0bb41300eaf3db7fe2/Maildir/new/1455999012.M618594P17339Q248.exolobe1 b/tickets/75301806a39d4d0bb41300eaf3db7fe2/Maildir/new/1455999012.M618594P17339Q248.exolobe1 new file mode 100644 index 0000000..03dde01 --- /dev/null +++ b/tickets/75301806a39d4d0bb41300eaf3db7fe2/Maildir/new/1455999012.M618594P17339Q248.exolobe1 @@ -0,0 +1,143 @@ +Return-Path: <obnam-dev-bounces@obnam.org> +X-Original-To: distix@pieni.net +Delivered-To: distix@pieni.net +Received: from bagpuss.pepperfish.net (bagpuss.pepperfish.net [148.251.8.16]) + (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) + (No client certificate requested) + by pieni.net (Postfix) with ESMTPS id 04D902A9A6 + for <distix@pieni.net>; Sat, 25 Jul 2015 15:28:27 +0200 (CEST) +Received: from platypus.pepperfish.net (unknown [10.112.100.20]) + by bagpuss.pepperfish.net (Postfix) with ESMTP id 4A35AED4; + Sat, 25 Jul 2015 14:28:26 +0100 (BST) +Received: from ip6-localhost ([::1] helo=platypus.pepperfish.net) + by platypus.pepperfish.net with esmtp (Exim 4.80 #2 (Debian)) + id 1ZIzV4-0007aC-6J; Sat, 25 Jul 2015 14:28:26 +0100 +Received: from inmail ([10.112.100.10] helo=mx0.pepperfish.net) + by platypus.pepperfish.net with esmtp (Exim 4.80 #2 (Debian)) + id 1ZIzV2-0007a5-QD + for <obnam-dev@obnam.org>; Sat, 25 Jul 2015 14:28:24 +0100 +Received: from element.ksp.sk ([158.195.16.154] helo=ksp.sk ident=postfix) + by mx0.pepperfish.net with esmtp (Exim 4.80) + (envelope-from <lukas@ksp.sk>) id 1ZIzV0-0002nl-Mz + for obnam-dev@obnam.org; Sat, 25 Jul 2015 14:28:24 +0100 +Received: from conductor.localnet (c213-89-161-244.bredband.comhem.se + [213.89.161.244]) by ksp.sk (Postfix) with ESMTPSA id 202D74C073; + Sat, 25 Jul 2015 15:28:16 +0200 (CEST) +From: =?utf-8?B?THVrw6HFoSBQb2zDocSNZWs=?= <lukas@ksp.sk> +To: obnam-dev@obnam.org +Date: Sat, 25 Jul 2015 15:28:17 +0200 +Message-ID: <5075317.ExUSC5bmSc@conductor> +User-Agent: KMail/4.13.3 (Linux/3.13.0-57-generic; KDE/4.13.3; x86_64; ; ) +In-Reply-To: <20150725122715.GV2366@exolobe1.liw.fi> +References: <5972291.20vWKz5Qal@kongruent> <1499425.HvNKxRh8XS@conductor> + <20150725122715.GV2366@exolobe1.liw.fi> +MIME-Version: 1.0 +Content-Transfer-Encoding: quoted-printable +Content-Type: text/plain; charset="utf-8" +X-Spam-Score: -3.6 +X-Spam-Score-int: -35 +X-Spam-Bar: --- +X-Scanned-By: pepperfish.net, Sat, 25 Jul 2015 14:28:24 +0100 +X-Spam-Report: Content analysis details: (-3.6 points) + pts rule name description + ---- ---------------------- -------------------------------------------------- + -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at http://www.dnswl.org/, low + trust [158.195.16.154 listed in list.dnswl.org] + -0.5 PPF_USER_AGENT User-Agent: exists + 0.5 PPF_MESSAGEID_NODOTS Message-Id contains no dots after the @ + 0.2 PPF_REFERENCES_NODOTS References contains no dots after the @ + -0.0 SPF_HELO_PASS SPF: HELO matches SPF record + -0.0 SPF_PASS SPF: sender matches SPF record + -1.2 RP_MATCHES_RCVD Envelope sender domain matches handover relay domain + -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% + [score: 0.0000] +X-ACL-Warn: message may be spam +X-Scan-Signature: c69cbf1cdd35c12b7f4e46bd96d407e7 +Cc: Lars Wirzenius <liw@liw.fi> +Subject: Re: forget --ignore-missing-chunks [was + --fsck-repair-missing-chunks] +X-BeenThere: obnam-dev@obnam.org +X-Mailman-Version: 2.1.5 +Precedence: list +List-Id: Obnam development discussions <obnam-dev-obnam.org> +List-Unsubscribe: <http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/obnam-dev-obnam.org>, + <mailto:obnam-dev-request@obnam.org?subject=unsubscribe> +List-Archive: <http://listmaster.pepperfish.net/pipermail/obnam-dev-obnam.org> +List-Post: <mailto:obnam-dev@obnam.org> +List-Help: <mailto:obnam-dev-request@obnam.org?subject=help> +List-Subscribe: <http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/obnam-dev-obnam.org>, + <mailto:obnam-dev-request@obnam.org?subject=subscribe> +Sender: obnam-dev-bounces@obnam.org +Errors-To: obnam-dev-bounces@obnam.org + +On Saturday, July 25, 2015 15:27:15 Lars Wirzenius wrote: +> On Sat, Jul 25, 2015 at 01:50:18PM +0200, Luk=C3=A1=C5=A1 Pol=C3=A1=C4= +=8Dek wrote: +> > On Saturday, July 25, 2015 14:33:57 Lars Wirzenius wrote: +> > > On Wed, Jul 22, 2015 at 11:01:29PM +0200, Luk=C3=A1=C5=A1 Pol=C3=A1= +=C4=8Dek wrote: +> > > > It turned out I wasn't too tired and the fix was fairly simple:= + +> > > > https://github.com/lukipuki/obnam/compare/interrupted-forget +> > >=20 +> > > I've merged this now, with modifications. I dropped the +> > > --ignore-missing-chunks option, as I don't think it makes sense t= +o +> > > have it. I'd rather Obnam was robust by default and always. The t= +est +> > > scenario I wrote earlier now passes, so that's merged as well. +> > >=20 +> > > Thanks, Lukas! +> >=20 +> > Cool! +> >=20 +> > Though I think you meant the other patch, this one fixes interrupte= +d +> > forget +> > which you haven't merged yet. +>=20 +> Er, right. Commit 0da82b27bd07b781e441793b08c661516a33489b is what I +> merged. +>=20 +> > I have some further improvements in mind for the interrupted-forget= + patch: +> > We should commit client and remove chunks after deleting each gener= +ation. +> > Currently we commit and remove chunks after all generations are pro= +cessed, +> > which can take hours. +>=20 +> That's probably OK, too. Haven't looked at interrupted-forget yet. +>=20 +> > I'll try to add one more patch to my interrupted-forget branch toda= +y or +> > tomorrow. +>=20 +> Send an email to obnam-dev when you have. :) + +Done! See https://github.com/lukipuki/obnam/compare/interrupted-forget + +This is what obnam is capable of now. Let's interrupt it with Ctrl-C: +$ obnam forget +forgetting generations: 11/31 done^C +$ obnam force-lock # need to unlock after interrupt +$ obnam forget +forgetting generations: 21/21 done + +Not only it doesn't crash now, but it resumes deleting after the point = +where=20 +it was interrupted! + +Btw, it's a nice code base. Every time I needed to add some functionali= +ty, I=20 +didn't have to touch too many files and too many different places in th= +e code.=20 +My last patch is therefore very small, but the change adds a lot of=20 +functionality. + +Lukas + +_______________________________________________ +obnam-dev mailing list +obnam-dev@obnam.org +http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/obnam-dev-obnam.org diff --git a/tickets/75301806a39d4d0bb41300eaf3db7fe2/Maildir/new/1455999013.M421385P17339Q254.exolobe1 b/tickets/75301806a39d4d0bb41300eaf3db7fe2/Maildir/new/1455999013.M421385P17339Q254.exolobe1 new file mode 100644 index 0000000..f843143 --- /dev/null +++ b/tickets/75301806a39d4d0bb41300eaf3db7fe2/Maildir/new/1455999013.M421385P17339Q254.exolobe1 @@ -0,0 +1,88 @@ +Return-Path: <obnam-dev-bounces@obnam.org> +X-Original-To: distix@pieni.net +Delivered-To: distix@pieni.net +Received: from bagpuss.pepperfish.net (bagpuss.pepperfish.net [148.251.8.16]) + (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) + (No client certificate requested) + by pieni.net (Postfix) with ESMTPS id 9615A22DF0 + for <distix@pieni.net>; Sun, 2 Aug 2015 14:45:22 +0200 (CEST) +Received: from platypus.pepperfish.net (unknown [10.112.100.20]) + by bagpuss.pepperfish.net (Postfix) with ESMTP id EA9C3C15; + Sun, 2 Aug 2015 13:45:21 +0100 (BST) +Received: from ip6-localhost ([::1] helo=platypus.pepperfish.net) + by platypus.pepperfish.net with esmtp (Exim 4.80 #2 (Debian)) + id 1ZLsdl-0001WE-Q3; Sun, 02 Aug 2015 13:45:21 +0100 +Received: from inmail ([10.112.100.10] helo=mx0.pepperfish.net) + by platypus.pepperfish.net with esmtp (Exim 4.80 #2 (Debian)) + id 1ZLsdj-0001W8-S9 + for <obnam-dev@obnam.org>; Sun, 02 Aug 2015 13:45:19 +0100 +Received: from pieni.net ([95.142.166.37] ident=postfix) + by mx0.pepperfish.net with esmtps (TLS1.2:DHE_RSA_AES_256_CBC_SHA256:256) + (Exim 4.80) (envelope-from <liw@liw.fi>) id 1ZLsdi-0007TH-0l + for obnam-dev@obnam.org; Sun, 02 Aug 2015 13:45:19 +0100 +Received: from exolobe1.liw.fi (82-181-8-107.bb.dnainternet.fi [82.181.8.107]) + (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) + (No client certificate requested) + by pieni.net (Postfix) with ESMTPSA id 53A8322B51 + for <obnam-dev@obnam.org>; Sun, 2 Aug 2015 14:45:11 +0200 (CEST) +Received: from exolobe1.liw.fi (localhost [127.0.0.1]) + by exolobe1.liw.fi (Postfix) with ESMTPS id CAD1F4012D + for <obnam-dev@obnam.org>; Sun, 2 Aug 2015 15:45:09 +0300 (EEST) +Date: Sun, 2 Aug 2015 15:45:08 +0300 +From: Lars Wirzenius <liw@liw.fi> +To: obnam-dev@obnam.org +Message-ID: <20150802124508.GT2398@exolobe1.liw.fi> +References: <5972291.20vWKz5Qal@kongruent> <11788310.BxzROgvz5X@kongruent> + <20150730193320.GU3328@exolobe1.liw.fi> + <2978302.nGKuNUQN6W@conductor> +MIME-Version: 1.0 +Content-Type: text/plain; charset=utf-8 +Content-Disposition: inline +Content-Transfer-Encoding: 8bit +In-Reply-To: <2978302.nGKuNUQN6W@conductor> +User-Agent: Mutt/1.5.23 (2014-03-12) +X-Spam-Score: -3.0 +X-Spam-Score-int: -29 +X-Spam-Bar: --- +X-Scanned-By: pepperfish.net, Sun, 02 Aug 2015 13:45:19 +0100 +X-Spam-Report: Content analysis details: (-3.0 points) + pts rule name description + ---- ---------------------- -------------------------------------------------- + -1.0 PPF_USER_AGENT_MUTT User-Agent: contains Mutt (Mutt isn't a spam + tool) -0.5 PPF_USER_AGENT User-Agent: exists + 0.2 PPF_INREPLYTO_NODOTS In-Reply-To contains no dots after the @ + 0.2 PPF_REFERENCES_NODOTS References contains no dots after the @ + -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% + [score: 0.0000] +X-ACL-Warn: message may be spam +X-Scan-Signature: c6a04e95ab64e848eeb19dd7849321d4 +Subject: Re: forget --ignore-missing-chunks [was + --fsck-repair-missing-chunks] +X-BeenThere: obnam-dev@obnam.org +X-Mailman-Version: 2.1.5 +Precedence: list +List-Id: Obnam development discussions <obnam-dev-obnam.org> +List-Unsubscribe: <http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/obnam-dev-obnam.org>, + <mailto:obnam-dev-request@obnam.org?subject=unsubscribe> +List-Archive: <http://listmaster.pepperfish.net/pipermail/obnam-dev-obnam.org> +List-Post: <mailto:obnam-dev@obnam.org> +List-Help: <mailto:obnam-dev-request@obnam.org?subject=help> +List-Subscribe: <http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/obnam-dev-obnam.org>, + <mailto:obnam-dev-request@obnam.org?subject=subscribe> +Sender: obnam-dev-bounces@obnam.org +Errors-To: obnam-dev-bounces@obnam.org + +On Sun, Aug 02, 2015 at 10:59:15AM +0200, Lukáš Poláček wrote: +> Okay. How come forget_plugin.py worked before? Was it because commit_client +> also commits chunk indexes? + +I'm not sure what you mean. commit_client doesn't commit chunk +indexes. The forget plugin committs chunk indexes separately. + +-- +sic transit disci mundi, ergo obnam + +_______________________________________________ +obnam-dev mailing list +obnam-dev@obnam.org +http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/obnam-dev-obnam.org diff --git a/tickets/75301806a39d4d0bb41300eaf3db7fe2/Maildir/tmp/.this-dir-not-empty/.empty/empty-file b/tickets/75301806a39d4d0bb41300eaf3db7fe2/Maildir/tmp/.this-dir-not-empty/.empty/empty-file new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tickets/75301806a39d4d0bb41300eaf3db7fe2/Maildir/tmp/.this-dir-not-empty/.empty/empty-file diff --git a/tickets/75301806a39d4d0bb41300eaf3db7fe2/ticket.yaml b/tickets/75301806a39d4d0bb41300eaf3db7fe2/ticket.yaml new file mode 100644 index 0000000..26b9107 --- /dev/null +++ b/tickets/75301806a39d4d0bb41300eaf3db7fe2/ticket.yaml @@ -0,0 +1,4 @@ +ticket-id: +- 75301806a39d4d0bb41300eaf3db7fe2 +title: +- "Re: forget --ignore-missing-chunks [was\n\t--fsck-repair-missing-chunks]" |