Re: [Sidrops] notes on rsync --delete (rrdp withdraw), and garbage collection

Rob Austein <> Mon, 16 November 2020 04:18 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id B43483A1060 for <>; Sun, 15 Nov 2020 20:18:08 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id HgSq7Xn6C7JW for <>; Sun, 15 Nov 2020 20:18:07 -0800 (PST)
Received: from ( []) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 980C13A1056 for <>; Sun, 15 Nov 2020 20:18:07 -0800 (PST)
Received: from ( []) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "", Issuer "Grunchweather Associates" (not verified)) by (Postfix) with ESMTPS id 3A23F139A9; Mon, 16 Nov 2020 04:18:03 +0000 (UTC)
Received: from (localhost [IPv6:::1]) by (Postfix) with ESMTP id 359652019F8E25; Sun, 15 Nov 2020 23:18:07 -0500 (EST)
Date: Sun, 15 Nov 2020 23:18:07 -0500
From: Rob Austein <>
To: Job Snijders <>
In-Reply-To: <>
References: <>
User-Agent: Wanderlust/2.15.9 (Almost Unreal) Emacs/27.1 Mule/6.0
MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue")
Content-Type: text/plain; charset="US-ASCII"
Message-Id: <>
Archived-At: <>
Subject: Re: [Sidrops] notes on rsync --delete (rrdp withdraw), and garbage collection
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: A list for the SIDR Operations WG <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Mon, 16 Nov 2020 04:18:09 -0000

[Apologies for belated response, saw this while catching before
today's meeting (for some definition of "today")]

Job, I agree that flushing data solely because rsync or RRDP said to
do so is a bad idea, but I think that outlawing rsync --delete or RRDP
withdraw is going a bit overboard in the other direction.

The operative word here is "solely".  At least in my implementation,
rsync/RRDP deletion only remove data from the pre-validation cache;
there's a separate cache of previously-validated data, and I use both
of them when constructing the output of the current validation cycle.

End result is that we only gc objects that have both been deleted and
have failed to pass validation, which (still) seems about right to me.