Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1gcfn5-0001fW-Gs for pgsql-hackers@arkaria.postgresql.org; Fri, 28 Dec 2018 00:14:15 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1gcfn3-0004Z3-Ij for pgsql-hackers@arkaria.postgresql.org; Fri, 28 Dec 2018 00:14:13 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1gcfn3-0004Yv-48 for pgsql-hackers@lists.postgresql.org; Fri, 28 Dec 2018 00:14:13 +0000 Received: from mail-wr1-x441.google.com ([2a00:1450:4864:20::441]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1gcfmz-0002o5-TD for pgsql-hackers@postgresql.org; Fri, 28 Dec 2018 00:14:11 +0000 Received: by mail-wr1-x441.google.com with SMTP id u4so19631672wrp.3 for ; Thu, 27 Dec 2018 16:14:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=2ndquadrant-com.20150623.gappssmtp.com; s=20150623; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=gupK5NYv7KUaAKUOYTQZF3kDYP60mL8nLKcv9eccOaI=; b=pi9yMdQsLpcopvlry3q6CkSyFBqEz4e5qfjtbIjlcd0uZ8CjB3YkZE8FDmDSU/Exs/ J5YJ/dvexoZTT3WyRncckh21hLpv/2FO4TvoAvhS8LtdQDDaDRQPVT74pI6gzXMDDtb8 fF9Z5JoLa7gRSMHykqsLzfN7A6NdY0/3bWcxARe78Jq1s1GwekMLvEt/W48mjV2/V7n9 wf25ccqot7ssNw7NNKaAofThMLITV53mAL3q6cMu1G8HFm+rHrwAKIk9vNmtvshifa3L Rp7FO1DadT/1Q8JB9WK9Ltp8UPQ/TjzuQ+ezQbPKhq+g4DYxcyQAdp3jVojhaf/rN8Xt UzwQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=gupK5NYv7KUaAKUOYTQZF3kDYP60mL8nLKcv9eccOaI=; b=Ur1n944s1VDeRqMAOSCOiU8UNg1A4DrZZPnKcrxVU15pS5lq8Q5VUbO3VpDMk9OZY3 kQSC7XqG2XrJXoYf6a1Bnf2O8B825cE0MKCj+ZeW0Cn/+DJFwpJKBx4bNWlBz2lGJ9GM y+6CIexQVHj7bMeT83x3KchoiA9Boc5QyEXg/qcNZd651E16EI1DlmE7Jf1vO/U12Z4/ GijqUmpBmEMCamTWrewe4f27JraRkBvZQunv8UcRBKvG6ksIQUwYx3OK0JGnN20311jt /Z19xF1SnE6yPGblUWfWA0wR9sc/xIoCOcnVPAavhg4EXQmUuhzlBFQlwDXl0FUolPps 8isw== X-Gm-Message-State: AJcUukcr/T06z2N/nd8sKaGigus7qZgjSbxQjh/rwqXFfwuyVZOBiYID TW8Uhew8kngvYPHwWHgLqpsnVqf3ClE9XyWqOprf23ZVjN1DDuLFsij3MUyCquh3JiSRMFf9sTn LqhxGBTzSDp68g3l9KtWelLu90KzPgvdJLcij2FnLVa6YOby0/q3vdIHZfrUCIxMVPQQl4gs9p5 DIhYTLVxzsmIlm0w== X-Google-Smtp-Source: ALg8bN7o14ZLQ7gMsiD55PSF/TJZhkj/lHqfnVulm8D7TZMpO7Hn1HhIdpyIt6fmYI8QpBMyXl9BKw== X-Received: by 2002:adf:8544:: with SMTP id 62mr24781612wrh.1.1545956047687; Thu, 27 Dec 2018 16:14:07 -0800 (PST) Received: from [10.137.2.21] ([85.239.108.122]) by smtp.gmail.com with ESMTPSA id u10sm23536254wrr.33.2018.12.27.16.14.06 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 27 Dec 2018 16:14:06 -0800 (PST) Subject: Re: Offline enabling/disabling of data checksums To: Michael Paquier Cc: Magnus Hagander , Michael Banck , Postgres hackers References: <20181221201616.GD4974@nighthawk.caipicrew.dd-dns.de> <20181221232834.GB1948@paquier.xyz> <348aef85-a967-80d2-7bef-7274909475cf@2ndquadrant.com> <20181227232529.GA3210@paquier.xyz> From: Tomas Vondra Message-ID: Date: Fri, 28 Dec 2018 01:14:05 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.3.1 MIME-Version: 1.0 In-Reply-To: <20181227232529.GA3210@paquier.xyz> Content-Type: text/plain; charset=windows-1252 Content-Language: en-US Content-Transfer-Encoding: 7bit List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk On 12/28/18 12:25 AM, Michael Paquier wrote: > On Thu, Dec 27, 2018 at 03:46:48PM +0100, Tomas Vondra wrote: >> On 12/27/18 11:43 AM, Magnus Hagander wrote: >>> Should we double-check with packagers that this won't cause a problem? >>> Though the fact that it's done in a major release should make it >>> perfectly fine I think -- and it's a smaller change than when we did all >>> those xlog->wal changes... >>> >> >> I think it makes little sense to not rename the tool now. I'm pretty >> sure we'd end up doing that sooner or later anyway, and we'll just live >> with a misnamed tool until then. > > Do you think that a thread Would on -packagers be more adapted then? > I'm sorry, but I'm not sure I understand the question. Of course, asking over at -packagers won't hurt, but my guess is the response will be it's not a big deal from the packaging perspective. >> I don't know, TBH. I agree making the on/off change cheaper makes moves >> us closer to 'on' by default, because they may disable it if needed. But >> it's not the whole story. >> >> If we enable checksums by default, 99% users will have them enabled. >> That means more people will actually observe data corruption cases that >> went unnoticed so far. What shall we do with that? We don't have very >> good answers to that (tooling, docs) and I'd say "disable checksums" is >> not a particularly amazing response in this case :-( > > Enabling data checksums by default is still a couple of steps ahead, > without a way to control them better.. > What do you mean by "control" here? Dealing with checksum failures, or some additional capabilities? >> FWIW I don't know what to do about that. We certainly can't prevent the >> data corruption, but maybe we could help with fixing it (although that's >> bound to be low-level work). > > Yes, data checksums are extremely useful to tell people when the > problem is *not* from Postgres, which can be really hard in a large > organization. Knowing about the corrupted page is also useful as you > can look at its contents and look at its bytes before it gets zero'ed > to spot patterns which can help other teams in charge of a lower level > of the application layer. I'm not sure data checksums are particularly great evidence. For example with the recent fsync issues, we might have ended with partial writes (and thus invalid checksums). The OS migh have even told us about the failure, but we've gracefully ignored it. So I'm afraid data checksums are not a particularly great proof it's not our fault. regards -- Tomas Vondra http://www.2ndQuadrant.com PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services