Re: strange perf regression with data checksums
Alexander Law <exclusion@gmail.com>
From: Alexander Lakhin <exclusion@gmail.com>
To: Peter Geoghegan <pg@bowt.ie>
Cc: Aleksander Alekseev <aleksander@timescale.com>,
Tomas Vondra <tomas@vondra.me>,
PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Date: 2025-06-09T06:00:00Z
Lists: pgsql-hackers
Hello Peter,
06.06.2025 19:33, Peter Geoghegan wrote:
> On Wed, Jun 4, 2025 at 1:39 PM Peter Geoghegan<pg@bowt.ie> wrote:
>> My current plan is to commit this in the next couple of days.
> Pushed.
Please look at the following script, which falsifies an assertion
introduced with e6eed40e4:
create user u;
grant all on schema public to u;
set session authorization u;
create table tbl1 (a int);
create function f1() returns int language plpgsql as $$ invalid $$;
select sum(1) over (partition by 1 order by objid)
from pg_shdepend
left join pg_stat_sys_indexes on refclassid = relid
left join tbl1 on true
limit 1;
(I've simplified an assert-triggering query generated by SQLsmith.)
TRAP: failed Assert("!BTScanPosIsPinned(so->currPos)"), File: "nbtutils.c", Line: 3379, PID: 1621028
ExceptionalCondition at assert.c:52:13
_bt_killitems at nbtutils.c:3380:3
_bt_steppage at nbtsearch.c:2134:5
_bt_next at nbtsearch.c:1560:7
btgettuple at nbtree.c:276:6
index_getnext_tid at indexam.c:640:25
index_getnext_slot at indexam.c:729:10
IndexNext at nodeIndexscan.c:131:9
ExecScanFetch at execScan.h:126:10
...
Best regards,
Alexander
Commits
-
Make _bt_killitems drop pins it acquired itself.
- 7c319f54917f 18.0 landed
- 40aa5ddea1c0 17.6 landed
- c7f25feb3862 16.10 landed
- d2ec671092a1 15.14 landed
- 7c7c0a77dc8a 14.19 landed
- 38c8d298704c 13.22 landed
-
Avoid BufferGetLSNAtomic() calls during nbtree scans.
- e6eed40e4441 18.0 landed
-
Reduce pinning and buffer content locking for btree scans.
- 2ed5b87f96d4 9.5.0 cited