From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp11.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id 0BubMgluAWKFlQAAgWs5BA (envelope-from ) for ; Mon, 07 Feb 2022 20:07:53 +0100 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp11.migadu.com with LMTPS id 6Mz3LwluAWINtgAA9RJhRA (envelope-from ) for ; Mon, 07 Feb 2022 20:07:53 +0100 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 830872CA06 for ; Mon, 7 Feb 2022 20:07:53 +0100 (CET) Received: from localhost ([::1]:45056 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nH9MZ-0007gn-Ss for larch@yhetil.org; Mon, 07 Feb 2022 14:07:48 -0500 Received: from eggs.gnu.org ([209.51.188.92]:38878) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nH94A-000378-QM; Mon, 07 Feb 2022 13:48:47 -0500 Received: from [2607:f8b0:4864:20::82a] (port=34744 helo=mail-qt1-x82a.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nH947-0003Ds-Uw; Mon, 07 Feb 2022 13:48:46 -0500 Received: by mail-qt1-x82a.google.com with SMTP id t17so12585262qto.1; Mon, 07 Feb 2022 10:44:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:subject:date:message-id:mime-version; bh=lGKnXqSVYn6VzXQC7liZq3k8hqrXpqPCB3deK+OStwc=; b=iZQXck+z/U8/iDwgRMYuYh0y2Yzv4Ydrlu1Ebefy0HWMDkC2pjReFolCeiVeLj8hbq YPAKSXcXMFzKAkAtzhLCxkuA9DYMTAz13LTXjl9kbo0ocihXvYzSjmM/klepdSW1WuT0 yxf269/PxeQIaF/k+fAinVvQy0bM0Tk0wB4VywIHFENHxf10X5/obSHfwF0AwqvnLbTV R/NUaOzbkIoa6q2KPFOFjFT+xBCkGHpp1fMEdVsfzZrb0FCgKEr1u8Gz6p3ooQBFygWk dopBI65IY6p8fwyuaxAS3OmUBHDsoQB3aUUEoEn2j7pDDCL1ZvQYWrV86QOX/EBrCb+F Ky2g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:mime-version; bh=lGKnXqSVYn6VzXQC7liZq3k8hqrXpqPCB3deK+OStwc=; b=l35M+2zH32MoXGS7gna3ZAHEbjWzMRQEf+toIAQDKDPnXsjFSljVDRCotbveUKugz3 YVPJ++phnwFD5am86KRJ8oD6fiSW9LY0R2n4q2MsvWqU0THaMQ0oKIHG4Xwx62SDiIPt AbydVNSxRsmqr9zT7E8cq4fVm6147EePSogBd33kDTLWSZvRuh67PJk3VD9IJ7x7BrA3 UDo3kY1zGQnp5S3893oww+rTYPlYM59o6J7qc9GRtucHaE3IvgJ9MNHKgVg10BeKvbRj vCbsGbN/EQpbd63wSmuUy+4R284hOkJNgHYMtfvSUJ3KBeaqDcpoVf/UMoEopTkG98Go sTsQ== X-Gm-Message-State: AOAM533aItT3nGTLgwibAVDlhSs99X+c8neLT1UemvdqlM0gPJgg8QFA 5DIpcpi4jLomar4mXeiR7VyNHmAcZH8= X-Google-Smtp-Source: ABdhPJw8Nc2NakpHrRKFitYR/hwEAA7RjYUS47jgp79+Qp48gzCw8OEh9VuDwijYtexBK2P8QfVyGg== X-Received: by 2002:ac8:67d5:: with SMTP id r21mr626238qtp.544.1644259484126; Mon, 07 Feb 2022 10:44:44 -0800 (PST) Received: from hurd (dsl-154-179.b2b2c.ca. [66.158.154.179]) by smtp.gmail.com with ESMTPSA id k9sm5701138qkj.31.2022.02.07.10.44.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Feb 2022 10:44:43 -0800 (PST) From: Maxim Cournoyer To: guix-devel , guix-sysadmin Subject: Dropping gzip-compressed substitutes Date: Mon, 07 Feb 2022 13:44:42 -0500 Message-ID: <878rum1pph.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain X-Host-Lookup-Failed: Reverse DNS lookup failed for 2607:f8b0:4864:20::82a (failed) Received-SPF: pass client-ip=2607:f8b0:4864:20::82a; envelope-from=maxim.cournoyer@gmail.com; helo=mail-qt1-x82a.google.com X-Spam_score_int: -12 X-Spam_score: -1.3 X-Spam_bar: - X-Spam_report: (-1.3 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, PDS_HP_HELO_NORDNS=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: "Guix-devel" X-Migadu-Flow: FLOW_IN X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1644260873; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=lGKnXqSVYn6VzXQC7liZq3k8hqrXpqPCB3deK+OStwc=; b=AxXSWvL9RDj0pgSiuc0q9WCfNz2g63KtWdxLL5YrGsRurlK8FNscFKpN3jEhtcH1dfo5OS eMMPBo000Xo6Is0ys1InFfbMAYTWdXEzKZbLDnqNzdfCMum3o6lDsmaSkjFErkHBacFOFM 3pxp59kQMad0ajKULnhwQF4wGD8kxUEon/D3714uYD3VRgYbcMigrzx1i02tJoLebFIstt GJtKQBVb+iI2oqcu+907pTu8dhm5WxlxAQ9NcAvIjCW1Ov8H0movie3eZGNbgP+6bfzQRT U93dnO+oWNzUgxdI7n2gMjOGtP2Gi9PRySpUXlbpzyOmOuZMC5rhVIFuDnBlXw== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1644260873; a=rsa-sha256; cv=none; b=V5Tm4iECqO2HEB1FJQdO9ukLwfjtYXZDIkq5qwFsL9dmVgP1LQA6TLxBEJxQm7qgGubRTM ohDxxbRxl3eN10UIP/kvjdpyv9sLplfkw5WSzEvcYnChCLIPPIP42h2MTqw179pHPTBZhH QKmx6UlK+rdf4DVx6tR6LgeTBYaobcYryRPvGogvRF0U2+E8Me41opf27nGU6Cx8hrM7m4 0Oxt2q1froLfd8UPH4uLI/QdvizGV4u1n3qxf1IEUcqRBYtOC0hAtwsLpSrpArrkGjErN4 1qupK+KgVBwfmj1uG+gNkndmcWfptMXQuNCWs4ZXnYGI9TyvJjDOZnARcfL0fg== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=iZQXck+z; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org" X-Migadu-Spam-Score: -9.83 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=iZQXck+z; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org" X-Migadu-Queue-Id: 830872CA06 X-Spam-Score: -9.83 X-Migadu-Scanner: scn0.migadu.com X-TUID: XVj+zpkuunQC Hello Guix! While migrating our file system to the newly installed SSD-backed storage on Berlin, I noticed that the guix-publish cached nars use a lot of space: 6.5 TiB for the gzip compressed nars alone, or about 30% of the new storage capacity. The new array capacity was recently added so that running 'guix gc' on it would be able to complete in a reasonable amount of time (remember that no substitutes from the Cuirass workers can be retrieved while the big GC lock is on, which greatly hurts the performance of the CI), allowing to keep the size of /gnu/store in check. Its capacity was chosen based on the assumption that /gnu/store compresses well with zstd, leading to a 1.5-2.0 factor capacity boost. This assumption doesn't hold in case we are storing a large quantity of already-compressed data such as the /var/cache/guix/publish compressed nars. >From a past survey of the use of gzip substitutes [0], the result was a small percentage of our users were still relying on them (1%). Here's what I would suggest for a migration path: 1. Promptly set up both a blog post and a NEWS entry announcing the support for gzip substitutes is about to be phased out from the build farm (1 month notice), urging users to upgrade their daemon to a version >= 1.1.0. 2. Do the following in the maintenance repo, which should stop advertising/generating new gzip substitutes: --8<---------------cut here---------------start------------->8--- modified hydra/modules/sysadmin/services.scm @@ -580,9 +580,7 @@ to a selected directory.") ;; ;; for the compression ratio/decompression speed ;; tradeoffs. - ;; TODO: Eventually, disable gzip, as discussed at - ;; . - (compression '(("gzip" 9) ("lzip" 9) ("zstd" 19))) + (compression '(("lzip" 9) ("zstd" 19))) (cache-bypass-threshold cache-bypass-threshold) (workers publish-workers))) --8<---------------cut here---------------end--------------->8--- 3. Come up with a Guile script that is able to a) Strip gzip-related metadata from the .narinfo guix-publish metadata files b) recompute and update their 'Signature' field. 4. Finally, 'rm -r /var/guix/publish/gzip' and free about 6.5 TiB of data. I'd like to move promptly with this as I'm expecting it may be necessary to fully migrate the current file system to the new array (and reap the benefits). Thank you, Maxim [0] https://lists.gnu.org/archive/html/guix-devel/2021-03/msg00333.html