Re: refactoring relation extension and BufferAlloc(), faster COPY

From: Heikki Linnakangas <hlinnaka(at)iki(dot)fi>
To: Andres Freund <andres(at)anarazel(dot)de>, vignesh C <vignesh21(at)gmail(dot)com>
Cc: pgsql-hackers(at)postgresql(dot)org, Thomas Munro <thomas(dot)munro(at)gmail(dot)com>, Melanie Plageman <melanieplageman(at)gmail(dot)com>, Yura Sokolov <y(dot)sokolov(at)postgrespro(dot)ru>, Robert Haas <robertmhaas(at)gmail(dot)com>
Subject: Re: refactoring relation extension and BufferAlloc(), faster COPY
Date: 2023-02-21 15:40:31
Message-ID: 784ad72f-d525-305a-5ab4-45519702a401@iki.fi
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

> v2-0006-bufmgr-Support-multiple-in-progress-IOs-by-using-.patch

This looks straightforward. My only concern is that it changes the order
that things happen at abort. Currently, AbortBufferIO() is called very
early in AbortTransaction(), and this patch moves it much later. I don't
see any immediate problems from that, but it feels scary.

> @@ -2689,7 +2685,6 @@ InitBufferPoolAccess(void)
> static void
> AtProcExit_Buffers(int code, Datum arg)
> {
> - AbortBufferIO();
> UnlockBuffers();
>
> CheckForBufferLeaks();

Hmm, do we call AbortTransaction() and ResourceOwnerRelease() on
elog(FATAL)? Do we need to worry about that?

- Heikki

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Isaac Morland 2023-02-21 16:12:42 Unable to create table of view row type
Previous Message Heikki Linnakangas 2023-02-21 15:16:33 Re: refactoring relation extension and BufferAlloc(), faster COPY