pgsql: In checkpoint, move the check for in-progress xacts out of criti

Started by Heikki Linnakangasalmost 12 years ago3 messages
#1Heikki Linnakangas
heikki.linnakangas@iki.fi

In checkpoint, move the check for in-progress xacts out of critical section.

GetVirtualXIDsDelayingChkpt calls palloc, which isn't safe in a critical
section. I thought I covered this case with the exemption for the
checkpointer, but CreateCheckPoint is also called from the startup process.

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/d9e7873bbbdee76a49e76ddaa49787cab112bb2e

Modified Files
--------------
src/backend/access/transam/xlog.c | 72 ++++++++++++++++++-------------------
1 file changed, 36 insertions(+), 36 deletions(-)

--
Sent via pgsql-committers mailing list (pgsql-committers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-committers

#2Robert Haas
robertmhaas@gmail.com
In reply to: Heikki Linnakangas (#1)
Re: [COMMITTERS] pgsql: In checkpoint, move the check for in-progress xacts out of criti

On Fri, Apr 4, 2014 at 10:32 AM, Heikki Linnakangas
<heikki.linnakangas@iki.fi> wrote:

In checkpoint, move the check for in-progress xacts out of critical section.

GetVirtualXIDsDelayingChkpt calls palloc, which isn't safe in a critical
section. I thought I covered this case with the exemption for the
checkpointer, but CreateCheckPoint is also called from the startup process.

This commit un-broke "make check", which you might have wanted to run
before committing, but "make -C src/test/isolation check" is still
broken.

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#3Heikki Linnakangas
hlinnakangas@vmware.com
In reply to: Robert Haas (#2)
Re: Re: [COMMITTERS] pgsql: In checkpoint, move the check for in-progress xacts out of criti

On 04/04/2014 06:06 PM, Robert Haas wrote:

On Fri, Apr 4, 2014 at 10:32 AM, Heikki Linnakangas
<heikki.linnakangas@iki.fi> wrote:

In checkpoint, move the check for in-progress xacts out of critical section.

GetVirtualXIDsDelayingChkpt calls palloc, which isn't safe in a critical
section. I thought I covered this case with the exemption for the
checkpointer, but CreateCheckPoint is also called from the startup process.

This commit un-broke "make check", which you might have wanted to run
before committing, but "make -C src/test/isolation check" is still
broken.

Yeah.. Fixed now.

- Heikki

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers