Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1f0QKT-0002p8-Oe for pgsql-hackers@arkaria.postgresql.org; Mon, 26 Mar 2018 11:30:22 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1f0QKS-0004VV-G1 for pgsql-hackers@arkaria.postgresql.org; Mon, 26 Mar 2018 11:30:20 +0000 Received: from makus.postgresql.org ([2001:4800:1501:1::229]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1f0QKR-0004V6-Py for pgsql-hackers@lists.postgresql.org; Mon, 26 Mar 2018 11:30:20 +0000 Received: from bay.acenet.us ([173.230.252.50]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1f0QKL-0004Z1-1j for pgsql-hackers@lists.postgresql.org; Mon, 26 Mar 2018 11:30:18 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=anastigmatix.net; s=default; h=Content-Transfer-Encoding:Content-Type: In-Reply-To:MIME-Version:Date:Message-ID:From:References:To:Subject:Sender: Reply-To:Cc:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help: List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=ADbQFrJjyBElMJI8KW/IoUrCPRwmfCDqEgtqn3RCgEc=; b=nWN6JPTMPAsRk2N5J2lT/YS+zh mVyo2LooqCU+sdr3HGLH+wYGkD6BP+0C+3HXCovUqDzHh6/ahkdjms1G/W6B6evo7I+v0mE/s0A1k X4zaGPlGcfCreLPNePNOsQIByrGEchEOi/Horb+Wm9xf3u8QAwHG0Pl+/swJ0gxodwHTomLfMvV22 SIS9e2ozoFMCNuFUj/uhnF1oqOgh7+MR1O1/z5px2HRV/wM9NmulGdy55yd0rEzSeDl+zxqELRzvh bvR7/Zc7jNJsDMrHQZhrSluQ8bWk+K+CeJ3PBLZKLHvl3nhgb3XRCs4bkEyA/ldY38EyjdJAAoG8j dx2laDBg==; Received: from [192.182.57.106] (port=52364) by bay.acenet.us with esmtpsa (TLSv1.2:ECDHE-RSA-AES128-GCM-SHA256:128) (Exim 4.89_1) (envelope-from ) id 1f0QKI-0048gz-LT for pgsql-hackers@lists.postgresql.org; Mon, 26 Mar 2018 07:30:11 -0400 Subject: Re: [HACKERS] AdvanceXLInsertBuffer vs. WAL segment compressibility To: pgsql-hackers@lists.postgresql.org References: <5A92F0C0.7070706@anastigmatix.net> <5AADB130.2020206@anastigmatix.net> <4597.1521338981@sss.pgh.pa.us> <46FFB930-B0F3-400A-85ED-D9948C97FADF@yesql.se> <5AAEE00E.9050503@anastigmatix.net> <21C25ED8-4ED8-4AD4-B551-3E3987ECB18F@yesql.se> <5AAEFF11.3070903@anastigmatix.net> <20180326032731.GM24540@tamriel.snowman.net> From: Chapman Flack X-Enigmail-Draft-Status: N1110 Message-ID: <5AB8D9C2.2010208@anastigmatix.net> Date: Mon, 26 Mar 2018 07:30:10 -0400 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.7.0 MIME-Version: 1.0 In-Reply-To: <20180326032731.GM24540@tamriel.snowman.net> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-OutGoing-Spam-Status: No, score=-96.8 X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - bay.acenet.us X-AntiAbuse: Original Domain - lists.postgresql.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - anastigmatix.net X-Get-Message-Sender-Via: bay.acenet.us: authenticated_id: chap+anastigmatix.net/only user confirmed/virtual account not confirmed X-Authenticated-Sender: bay.acenet.us: chap@anastigmatix.net X-Source: X-Source-Args: X-Source-Dir: List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk On 03/25/18 23:27, Stephen Frost wrote: >> .travis.yml | 47 ++++++++++++++++++++++++++++++++++++ > > ... not something that I think we're going to add into the main tree. Looks like that got in by mistake, sorry. > - AdvanceXLInsertBuffer(CurrPos, false); > ... > + currpos = GetXLogBuffer(CurrPos); > > AdvanceXLInsertBuffer() does quite a bit, so I'm a bit surprised to see > this simply removing that call, you're confident there's nothing done > which still needs doing..? My belief from looking at the code was that AdvanceXLInsertBuffer() is among the things GetXLogBuffer() does, so calling both would result in two calls to the former (which I don't believe would hurt, it would only do enough work the second time to determine it had already been done). However, it is done *conditionally* within GetXLogBuffer(), so it doesn't hurt to have extra eyes reviewing my belief that the condition will be true in this case (looping through tail blocks that haven't been touched yet). -Chap