Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1p8iWq-0002Iv-HX for pgsql-bugs@arkaria.postgresql.org; Fri, 23 Dec 2022 13:56:04 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1p8iVr-00079P-6S for pgsql-bugs@arkaria.postgresql.org; Fri, 23 Dec 2022 13:55:03 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1p8iVq-00079G-SP for pgsql-bugs@lists.postgresql.org; Fri, 23 Dec 2022 13:55:02 +0000 Received: from mail-lf1-x12b.google.com ([2a00:1450:4864:20::12b]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1p8iVo-00015L-JW for pgsql-bugs@lists.postgresql.org; Fri, 23 Dec 2022 13:55:01 +0000 Received: by mail-lf1-x12b.google.com with SMTP id b3so7209129lfv.2 for ; Fri, 23 Dec 2022 05:55:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=subject:from:cc:to:in-reply-to:content-language:user-agent :mime-version:date:message-id:from:to:cc:subject:date:message-id :reply-to; bh=w0+FucJ/513L6Wx3I8C+zVIYGHjvBwSNTjN43BIVfIk=; b=bGNYudc63vtGtMGDkrt4c78fwa6PErXBS7FsrRHXdaxYFPkL0bgiJEvP1DeSwZ4XsZ gSdWJtCvYjMiPTMlTllmWf9xnYB6XkFUBs4vUviHXZa/gjHcxmAhxsJwAann8FamYRim 0QTjziFJzchGV0TfgH6GHldQ4KwI3ENCs5cPqQqNw5b0OB5ZwSX134TX/uMyh+8U9dg/ l40PN9ObyPItZ4O2MP7ivYScmH2zydUdPNLnwTTeYiYlaM3qnVxXMlpNn4cite1964d1 7t45Nu/G70oFoveJv9vmvXIL/vmt+wZHoFIWYT/jae2PjiCVX+9ox1aPCkKGRS4rIuMh 4tew== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=subject:from:cc:to:in-reply-to:content-language:user-agent :mime-version:date:message-id:x-gm-message-state:from:to:cc:subject :date:message-id:reply-to; bh=w0+FucJ/513L6Wx3I8C+zVIYGHjvBwSNTjN43BIVfIk=; b=KOVyzIZiCjSGG0ub7YmBCSAIqiqqDH+ehMzlsVH/gtBfnRhT+ZSmihY+hjaW2ICWBK FECRVRhTQWJrLI/gfZjH2exNU5EgXo6NcDrfOSZPAjAgN4mwQNyRcP/VcRfvNKsXeqH6 tVB9wQOnMZwwCjLP5pE6eum3YajeNhs3BlgXpH5gvWG0XXdhVScA3MePb0y3J4cjzj/B ft1vEkGX54y3Y4xbrvj2BHAopx/ZgdPHA+BFbyjNWiQasA/XdnaCWM9oh6S9/xXHF+6J UK/ae2JV2HW2jD9A4PqpRHUrrxopN+H63M9bsg3q49lGo/nSXP7vr5SEirn120EEBc84 AfGA== X-Gm-Message-State: AFqh2kol/jx5wBuooZJ6qIfrWeT0av95h1uhtDz0wtmZWtypv3xuIXgI YVMllkqFhPnETBcByMcK+iU= X-Google-Smtp-Source: AMrXdXs4T0LmdVZd+STNWsCLjS6QKfQ4uEDyaE0H69XJv4nbxRtaQghEkLcBED7Ul8GJWVazu0AuZQ== X-Received: by 2002:a19:f613:0:b0:4b5:83ba:8c5a with SMTP id x19-20020a19f613000000b004b583ba8c5amr2862510lfe.53.1671803698231; Fri, 23 Dec 2022 05:54:58 -0800 (PST) Received: from [192.168.1.126] ([85.89.127.24]) by smtp.gmail.com with ESMTPSA id m29-20020ac24add000000b004ca3ab65bacsm534786lfp.56.2022.12.23.05.54.57 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 23 Dec 2022 05:54:57 -0800 (PST) Content-Type: multipart/mixed; boundary="------------exRUXIdLuX0odVz30LiSIGBu" Message-ID: Date: Fri, 23 Dec 2022 16:54:56 +0300 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.6.1 Content-Language: en-US In-Reply-To: <20220805131731.jhtscj2tonbglxz6@alvherre.pgsql> To: Alvaro Herrera Cc: =?UTF-8?B?546L5rW35rSL?= , Kyotaro Horiguchi , pgsql-bugs@lists.postgresql.org From: Karina Litskevich Subject: [PATCH] BUG FIX: inconsistent page found in BRIN_REGULAR_PAGE List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multi-part message in MIME format. --------------exRUXIdLuX0odVz30LiSIGBu Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Hi Alvaro! Is there any special reason to read WAL records until the last inserted record? +my $end_lsn = $whiskey->lsn('insert'); + +my ($ret, $out, $err) = $whiskey->psql( +    'postgres', qq{ +    select count(*) from pg_get_wal_records_info('$start_lsn', '$end_lsn') +    where resource_manager = 'BRIN' AND +    record_type ILIKE '%revmap%' +    }); +cmp_ok($out, '>=', 1); It seems that in some rare situations on slower machines this test can fail. If any background process inserts a WAL record before lsn('insert') and this record isn't flushed before pg_get_wal_records_info('$start_lsn', '$end_lsn'), pg_get_wal_records_info('$start_lsn', '$end_lsn') ends with ERROR "cannot accept future end LSN" as it works only if record with end LSN is inserted. I attached two patches with two ways of fixing this minor issue. Best regards, Karina Litskevich Postgres Professional: http://postgrespro.com/ --------------exRUXIdLuX0odVz30LiSIGBu Content-Type: text/x-patch; charset=UTF-8; name="v1-0001-prevent-test-from-failing-on-slower-machines.patch" Content-Disposition: attachment; filename*0="v1-0001-prevent-test-from-failing-on-slower-machines.patch" Content-Transfer-Encoding: base64 RnJvbSA3NWE1NmU3YmQ1YmM3MTg0ODEwOTliZGEzNjY4ODU1ZjljMjAwZTk4IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBLYXJpbmEgTGl0c2tldmljaCA8bGl0c2tldmljaGth cmluYUBnbWFpbC5jb20+CkRhdGU6IEZyaSwgMjMgRGVjIDIwMjIgMTY6MzU6MjMgKzAzMDAK U3ViamVjdDogW1BBVENIIHYxXSBwcmV2ZW50IHRlc3QgZnJvbSBmYWlsaW5nIG9uIHNsb3dl ciBtYWNoaW5lcwoKLS0tCiBzcmMvdGVzdC9tb2R1bGVzL2JyaW4vdC8wMl93YWxfY29uc2lz dGVuY3kucGwgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVs ZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9tb2R1bGVzL2JyaW4vdC8wMl93YWxf Y29uc2lzdGVuY3kucGwgYi9zcmMvdGVzdC9tb2R1bGVzL2JyaW4vdC8wMl93YWxfY29uc2lz dGVuY3kucGwKaW5kZXggZjdkYmIwZDAxNC4uY2JjMjY5YjFkZiAxMDA2NDQKLS0tIGEvc3Jj L3Rlc3QvbW9kdWxlcy9icmluL3QvMDJfd2FsX2NvbnNpc3RlbmN5LnBsCisrKyBiL3NyYy90 ZXN0L21vZHVsZXMvYnJpbi90LzAyX3dhbF9jb25zaXN0ZW5jeS5wbApAQCAtNjAsNyArNjAs NyBAQCBiZWdpbgogZW5kCiAkJDsKIH0pOwotbXkgJGVuZF9sc24gPSAkd2hpc2tleS0+bHNu KCdpbnNlcnQnKTsKK215ICRlbmRfbHNuID0gJHdoaXNrZXktPmxzbignZmx1c2gnKTsKIAog bXkgKCRyZXQsICRvdXQsICRlcnIpID0gJHdoaXNrZXktPnBzcWwoCiAJJ3Bvc3RncmVzJywg cXF7Ci0tIAoyLjI1LjEKCg== --------------exRUXIdLuX0odVz30LiSIGBu Content-Type: text/x-patch; charset=UTF-8; name="v2-0001-prevent-test-from-failing-on-slower-machines.patch" Content-Disposition: attachment; filename*0="v2-0001-prevent-test-from-failing-on-slower-machines.patch" Content-Transfer-Encoding: base64 RnJvbSBlNGFmZjIxMGM5NWVkNTQ4ZjRjNTRmOTMxNGM0YjU4NTgwNjYzYTc0IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBLYXJpbmEgTGl0c2tldmljaCA8bGl0c2tldmljaGth cmluYUBnbWFpbC5jb20+CkRhdGU6IEZyaSwgMjMgRGVjIDIwMjIgMTY6NDE6NDggKzAzMDAK U3ViamVjdDogW1BBVENIIHYyXSBwcmV2ZW50IHRlc3QgZnJvbSBmYWlsaW5nIG9uIHNsb3dl ciBtYWNoaW5lcwoKLS0tCiBzcmMvdGVzdC9tb2R1bGVzL2JyaW4vdC8wMl93YWxfY29uc2lz dGVuY3kucGwgfCAzICstLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAyIGRl bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L21vZHVsZXMvYnJpbi90LzAyX3dh bF9jb25zaXN0ZW5jeS5wbCBiL3NyYy90ZXN0L21vZHVsZXMvYnJpbi90LzAyX3dhbF9jb25z aXN0ZW5jeS5wbAppbmRleCBmN2RiYjBkMDE0Li5hN2FlYWRmNGJiIDEwMDY0NAotLS0gYS9z cmMvdGVzdC9tb2R1bGVzL2JyaW4vdC8wMl93YWxfY29uc2lzdGVuY3kucGwKKysrIGIvc3Jj L3Rlc3QvbW9kdWxlcy9icmluL3QvMDJfd2FsX2NvbnNpc3RlbmN5LnBsCkBAIC02MCwxMSAr NjAsMTAgQEAgYmVnaW4KIGVuZAogJCQ7CiB9KTsKLW15ICRlbmRfbHNuID0gJHdoaXNrZXkt PmxzbignaW5zZXJ0Jyk7CiAKIG15ICgkcmV0LCAkb3V0LCAkZXJyKSA9ICR3aGlza2V5LT5w c3FsKAogCSdwb3N0Z3JlcycsIHFxewotCXNlbGVjdCBjb3VudCgqKSBmcm9tIHBnX2dldF93 YWxfcmVjb3Jkc19pbmZvKCckc3RhcnRfbHNuJywgJyRlbmRfbHNuJykKKwlzZWxlY3QgY291 bnQoKikgZnJvbSBwZ19nZXRfd2FsX3JlY29yZHNfaW5mb190aWxsX2VuZF9vZl93YWwoJyRz dGFydF9sc24nKQogCXdoZXJlIHJlc291cmNlX21hbmFnZXIgPSAnQlJJTicgQU5ECiAJcmVj b3JkX3R5cGUgSUxJS0UgJyVyZXZtYXAlJwogCX0pOwotLSAKMi4yNS4xCgo= --------------exRUXIdLuX0odVz30LiSIGBu--