Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1b0MBv-0000oi-RJ for pgsql-hackers@arkaria.postgresql.org; Wed, 11 May 2016 04:56:11 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84_2) (envelope-from ) id 1b0MBv-0003jG-AV for pgsql-hackers@arkaria.postgresql.org; Wed, 11 May 2016 04:56:11 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1b0MAY-000297-U6 for pgsql-hackers@postgresql.org; Wed, 11 May 2016 04:54:46 +0000 Received: from mail-bn1bon0076.outbound.protection.outlook.com ([157.56.111.76] helo=na01-bn1-obe.outbound.protection.outlook.com) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1b0MAU-0004pT-FK for pgsql-hackers@postgresql.org; Wed, 11 May 2016 04:54:46 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=BlueTreble.onmicrosoft.com; s=selector1-bluetreble-com; h=From:To:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=cQ09qnYPbmcLY7LhEugaj2nbqetpr52dvC4RfujL2wc=; b=KTuwkr9vJ+51zYojyVM33/37WBbQA7jYZEvjvu0pZuDeR2egQoLHZflM0Dc2xZf1k1N+5TXSPH7BivHwodbOw1q/50lOjJ2ouUC/dicSI2moJejNrsaIbcXc4VIiOCd7PtlUla01qBDmwnH8/9+2RkMjZvRKJv8E8BqzSEqz1HE= Authentication-Results: gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=none action=none header.from=BlueTreble.com; Received: from decina.attlocal.net (108.232.179.70) by BY2PR11MB0679.namprd11.prod.outlook.com (10.163.111.21) with Microsoft SMTP Server (TLS) id 15.1.492.11; Wed, 11 May 2016 04:54:38 +0000 Subject: Re: Reviewing freeze map code To: Peter Geoghegan , Andres Freund References: <20160506212958.wwwc22hfesvj76af@alap3.anarazel.de> <20160506213652.GA288015@alvherre.pgsql> <20160506214943.d44r4glxgw2ff2sg@alap3.anarazel.de> <1e78ce70-db1e-e639-f758-dc202f56ab5e@BlueTreble.com> CC: Alvaro Herrera , "Joshua D. Drake" , Josh berkus , Robert Haas , Masahiko Sawada , "pgsql-hackers@postgresql.org" , Jeff Janes From: Jim Nasby Message-ID: Date: Tue, 10 May 2016 23:54:33 -0500 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:45.0) Gecko/20100101 Thunderbird/45.0 MIME-Version: 1.0 In-Reply-To: <1e78ce70-db1e-e639-f758-dc202f56ab5e@BlueTreble.com> Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [108.232.179.70] X-ClientProxiedBy: CY1PR19CA0037.namprd19.prod.outlook.com (10.162.38.175) To BY2PR11MB0679.namprd11.prod.outlook.com (10.163.111.21) X-MS-Office365-Filtering-Correlation-Id: 4b85e2a3-d5eb-481b-e5c2-08d379585bbe X-Microsoft-Exchange-Diagnostics: 1;BY2PR11MB0679;2:W5oHq2rfyWFujB6PudIdlEN0YcSvd1nsebLSq2tsZePsYl/zEdRrA9Mx+SU6agxuVRBa9fE3FmNBkh9BGcsqq9p10O1KazxPuD96O2KvyqTAI7d542SN0O6u+uBhxlNY5NgZfuLz7+fsMiVTw/OjYVJtD/sngdhaW94juTE4FrO//Ed02lZkSJPPfXdjuXC5;3:TgkIvoHNpbYf7QiM+0OQ08YpxGoXaqz3d0ITpf9inxV/lOyReqQUcButNU9wE+sqWyK9SaoItz4LmnBtGP1zZ9GKvmUnk1vO7n4TUIsrceShcMGkUmaoMSPyjAKH1p3U X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BY2PR11MB0679; X-Microsoft-Exchange-Diagnostics: 1;BY2PR11MB0679;25:s259taAqwX8+4tssMpqMO7hZ/6xPY/BUj+ulpijGpBgOm72xuPOmTtJhukDixUMozcIDuORDsHRDH9dqpY6IP+kJb9Jz+Y8jqulQhQSpDvrxZR01UbAPxcM4mmcs0qzOwgatoXbFJjCjXDUcu6XYZU4DzmDmm8v1SVKP3grtF6ZKkzw0wIWJxrfbMvPoZXa/ZZpBrcEBmzQb9ilx8tCz70Ov8qGPTzSRhY/ZQti93WXPJpr84zGvNy45pVEUjHQdVm+45WfKovAEhtstGa83vksETKcGdFi75uUstVo6vqG4d3pkw6gpS8DHRPzsM4k2vymXFwTwx7mob7dPIxbOA85cexAZGjZa+V9GexKCgK/If8TfmimHTW43oVXVSHtHhN41RISmFIuy2u5NkgYwswIxwXCuSIwnGBlqELrpLweDNJCq5vP41ENZM1Gqz7wmoeceRtUxSuVOHr8YTDjsMDgWlZsgyZRZDiVpon+62F3IWa/Lz6OUgGuTc0+zeGpmla2ivF7T56xkkqvbyQ0VCPNbEWjHOmXwmhFQkj6qjhZwWI6evhGLISs6R57tDTqyNpRfQ2j/YZ2xlIJgj5yaghiJry1epBrqnx01D0cyAfjEoQRKPoIOW960JX+QUuBfYcf0A8FXRfMe9kEMOwtUqukLUR+Ow9akw62jMxZ9bdEz2xFbbhYEKik0BTe2utIsVP38lhcoc5tQmdFLUW5LbgQnCu38+f93rq1R9ZhrNkYNFq3E4KxQbYtAw8xTvSXRSQcaIsdS6h2bjAr0SQQ6u3y9wkoKNCYb129d8Gv+HxHdtD3PzNV7dpdKFpxaLSQ1mebmt1ly/W2j9HpvqwOKHRH53Qd9bc63kPxRfQgY8Xc= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040130)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046)(6041072)(6043046);SRVR:BY2PR11MB0679;BCL:0;PCL:0;RULEID:;SRVR:BY2PR11MB0679; X-Microsoft-Exchange-Diagnostics: 1;BY2PR11MB0679;4:93ExbNw+5STtidHmvHFEt5YZy5Raw0p6f+MPk7hWcww+STJSt2tcsT0nnSL+B6I1a1xSdzhnqMjB1On3A/sy6yXjbVrKC9x5aHlpx7Py2sevvRi0ds1vp22YuqusnE5VhJfsfq23pAOCBiB/ph9UeYL6wrPC/sIUXSWldXjDNl5S6F1NcS3vY9C900ro2McaPvHUYzH6ZpCptck21IgUb+nriTAZcTS/p+WxQQx0tEzFT736L/jXDczQVlCePDWxTogg6LUvRAdjPTrHrQn944qqAYMxbD+cwQ70ca5Xm5OCXNpXIdfajbx34iAXH2E6+UQovje5TOAcI0NI5e5ilnHzJd2RNDpxZdCwzHGzTTp0nvMEiFgB+LA6wdiJ2/24Jx6VpA7AufO+Dlr446E5K25h3q/yNhZuEKXDchrXzNE= X-Forefront-PRVS: 0939529DE2 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(377454003)(24454002)(6116002)(586003)(53416004)(19580395003)(36756003)(65956001)(86362001)(3846002)(66066001)(47776003)(65806001)(19580405001)(77096005)(5008740100001)(31686004)(81166006)(54356999)(42186005)(33646002)(31696002)(83506001)(76176999)(50986999)(189998001)(2906002)(93886004)(5001770100001)(92566002)(50466002)(16601075003)(4001350100001)(15975445007)(4326007)(2950100001)(5004730100002)(23676002)(65826006)(85282002);DIR:OUT;SFP:1101;SCL:1;SRVR:BY2PR11MB0679;H:decina.attlocal.net;FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtCWTJQUjExTUIwNjc5OzIzOkladGtHa2ZlQkdzN05DeDZyd2lMVUhORjJ2?= =?utf-8?B?VmEvL3RMRHlmVHBiOFhYS2JOcy84SFlQSHpwUkRLTVhnaWRqQllIcFlSenF6?= =?utf-8?B?N0pTZXVtS0FySUdyVit5aEhsNDdOWEdvWGErR0N0L2VvMEQyU2ZBdThmVFFY?= =?utf-8?B?b3FTL1Q5Y3VPbDZiYVBqR08xVSt4bzUxNFNISm9OdGY0YTBnSFhLNEtqZWp3?= =?utf-8?B?WDg4aUU0WnJJZW9aRy96QkhEOTBrMC9BdHVkYm5WTkpheE51dTRacWx6UFQw?= =?utf-8?B?WVlzeFVOQmRuZEN1RmVBSXFqSUIzcEpMMUxNekhJVEgvSC85M2FaQnFITXVq?= =?utf-8?B?QnVwQW8zaVVMcWlkTFdTVTAvWHdnRERzL3BDK0VIam1RWkhEQWlWMVkwcmpn?= =?utf-8?B?d0YvYTFyVWxSci9hYjVobWo0T0hkYzNHeEY0d3c4dzhsb1JxdE9XNTdoWm1p?= =?utf-8?B?Ykx2cnUzalVrWFFhUXVLbXY0emlVdnhjYm5SYkdmNy9wV1Z4ZDVwMitkRnk4?= =?utf-8?B?NGo3N2VzdGJuYnAvcUJjbW1mbEFBYnIyMUpESnd5RGRwSGtjZUh6REtIb29Q?= =?utf-8?B?WkJYMjh6ZmF5ZFJmcm4yWjZ5amVGSDV2U0VHdFBHdk93b21kN1A3L3EwaFBM?= =?utf-8?B?akYrTTAwK1ZjSkJiTXNjYkpaNVVWR3k2UU1YNURueEpDODF1Y0Uvc0pGZlJa?= =?utf-8?B?bjNEQ29IMFZOTlI1ZUlIMFJieDNHeFpTOWVQZU05R0FVektzWDFuODJHT3Y0?= =?utf-8?B?cGtGYnNFR2hHOGtyR2lLWlJWQUQ0THp4Vkhhd2VoTWNkNlpwRUNub3dhU2VL?= =?utf-8?B?WnV0OGtsakUzK0JVWklWWEltMVZlWWh5TnR1ZTNvYUVsT2dUQ3Y5WGxTQ2Za?= =?utf-8?B?bW1reHE5NHZadUNaYWQwZWNqS1ZteTFmNlRCTDFpRENzbU9OOWJGeENJL3Nh?= =?utf-8?B?ZWpsTzhRVDRkVFZpZ1JrWlJEeXJPNHl6eXRYMlR0MWgvT2RqWVFkUUdzYzB2?= =?utf-8?B?N0lnOUJ5Y3lyUnY1cGQ2QWpuUDhpd0dua0EzejByNUwxYkNuZmprYldmMEZG?= =?utf-8?B?cTlwcU5kVlRhYjNiKzZ0dVY2WlZML21QZWZqbE10bCt0SHE3YW5yaVpucG1x?= =?utf-8?B?MFR3aEwrTVBBT3AwZUhWYkY2NllWbG4ybjZlVUtWd0VxbWhsakFLQ1J6aWNX?= =?utf-8?B?aVNjR3haSnZvVUg0dmdpeUp4aHFLV0NVcm1YVXBMV2pySVlFa3NFRms5Q3BZ?= =?utf-8?B?R1hXY3Y5NlNKMzF1Tm9RWkdSK3IrUUEyb2oyMGdsYVFpUmZyM3lDSzlDYXZ3?= =?utf-8?B?b2V0WDRtYlg4SDlDVUV5ZUJjeTdBUXE1WTZJaGdFcC9QN0tYT3M2Y1hDL2ov?= =?utf-8?B?UTZta0VpL0dSOS92TWZsNCt3MGthYXZUelZ5N0JvMm9uTHVlWktGbUR0bnVj?= =?utf-8?B?Y2dRVXo3N2hPamFzUHhDM0VXN214ajUvQ2Z3NVU2RzdnTFVuMDU2TSsvZFlh?= =?utf-8?Q?X9Apm3CRznd45N24tXwdFUt5Zt8EaLa3u18PXF39TeN1RE?= X-Microsoft-Exchange-Diagnostics: 1;BY2PR11MB0679;5:Uo634n+FWPAEXvktQN6IjvsRmIdBfxaLSLoZNGB/K9I+fHLE+rXwBlG3fmAGP5HJIGxY1QWtWNQlbNegARZBtGnuNvjPp8DKG19ircGCSwDMue9GngD22amXVNdNRf57aZlMbED9/VjJGPdWus9aww==;24:aiWr9wkN5wBwN3WDq88gjnIsQzjBfOdelLDdi//eERBVrh2xIevWX2DUKGBaFWVzEG6FfzUIeg66h/Od/IUMLB87A1RNzr8ny8JbTPO5Tso=;7:mkUEE+O1Jf75LLX9yDTkBozeYd7GQXdY6M6orR0jEhGgvEIonSkEpZCMecqeuA3mfGNmSP3KrZe4AE5ERSdNxZD5m9t2EZS9J1czGkqn6ScLmapHu74aWWdibQAplPkwW9x6JSX3SHMR8SpS4v2oNgP1Bnu43xfHQwi5TqFN1eSerX4qs/llPjxGCmlq0R55 SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: bluetreble.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 May 2016 04:54:38.2223 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY2PR11MB0679 X-Pg-Spam-Score: -1.9 (-) List-Archive: List-Help: List-ID: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-Mailing-List: pgsql-hackers Precedence: bulk Sender: pgsql-hackers-owner@postgresql.org On 5/10/16 11:42 PM, Jim Nasby wrote: > On 5/6/16 4:55 PM, Peter Geoghegan wrote: >> On Fri, May 6, 2016 at 2:49 PM, Andres Freund wrote: >>>> Jeff Janes has done astounding work in these matters. (I don't think >>>> we credit him enough for that.) >>> >>> +many. >> >> Agreed. I'm a huge fan of what Jeff has been able to do in this area. >> I often say so. It would be even better if Jeff's approach to testing >> was followed as an example by other people, but I wouldn't bet on it >> ever happening. It requires real persistence and deep understanding to >> do well. > > It takes deep understanding to *design* the tests, not to write them. > There's a lot of folks out there that will never understand enough to > design tests meant to expose data corruption but who could easily code > someone else's design, especially if we provided tools/ways to tweak a > cluster to make testing easier/faster (such as artificially advancing > XID/MXID). Speaking of which, another email in the thread made me realize that there's a test condition no one has mentioned: verifying we don't lose tuples after wraparound. To test this, you'd want a table that's mostly frozen. Ideally, dirty a single tuple on a bunch of frozen pages, with committed updates, deletes, and un-committed inserts. Advance XID far enough to get you close to wrap-around. Do a vacuum, SELECT count(*), advance XID past wraparound, SELECT count(*) again and you should get the same number. -- Jim Nasby, Data Architect, Blue Treble Consulting, Austin TX Experts in Analytics, Data Architecture and PostgreSQL Data in Trouble? Get it in Treble! http://BlueTreble.com 855-TREBLE2 (855-873-2532) mobile: 512-569-9461 -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers