Re: FSM Corruption (was: Could not read block at end of the relation)

Ronan Dunklau <ronan.dunklau@aiven.io>

From: Ronan Dunklau <ronan.dunklau@aiven.io>
To: Noah Misch <noah@leadboat.com>
Cc: Michael Paquier <michael@paquier.xyz>, pgsql-bugs <pgsql-bugs@lists.postgresql.org>
Date: 2024-03-29T08:47:52Z
Lists: pgsql-bugs
Le jeudi 21 mars 2024, 14:51:25 CET Ronan Dunklau a écrit :
> Le samedi 16 mars 2024, 05:58:34 CET Noah Misch a écrit :
> > > - Get profiles with both master and patched.  (lseek or freespace.c
> > > functions>
> > > 
> > >   rising by 0.1%-1% would fit what we know.)

Running perf during the same benchmark, I get the following samples for lseek:

With the patch:

   0.02%  postgres  libc.so.6          [.] llseek@GLIBC_2.2.5 

Without the patch:

   0.01%  postgres  libc.so.6          [.] llseek@GLIBC_2.2.5


So nothing too dramatic.
I haven't been able to come up with  a better benchmark.

Regards,

--
Ronan





Commits

  1. freespace: Don't return blocks past the end of the main fork.

  2. Fix WAL-logging of FSM and VM truncation.

  3. Extend relations multiple blocks at a time to improve scalability.