Re: ERROR during end-of-xact/FATAL

From: Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>
To: Robert Haas <robertmhaas(at)gmail(dot)com>
Cc: Noah Misch <noah(at)leadboat(dot)com>, "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: ERROR during end-of-xact/FATAL
Date: 2013-11-28 15:10:18
Message-ID: 20131128151018.GF5513@eldon.alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Robert Haas escribió:
> On Wed, Nov 6, 2013 at 9:40 AM, Alvaro Herrera <alvherre(at)2ndquadrant(dot)com> wrote:
> > Noah Misch wrote:
> >> Incomplete list:
> >>
> >> - If smgrDoPendingDeletes() finds files to delete, mdunlink() and its callee
> >> relpathbackend() call palloc(); this is true in all supported branches. In
> >> 9.3, due to commit 279628a0, smgrDoPendingDeletes() itself calls palloc().
> >> (In fact, it does so even when the pending list is empty -- this is the only
> >> palloc() during a trivial transaction commit.) palloc() failure there
> >> yields a PANIC during commit.
> >
> > I think we should fix this routine to avoid the palloc when not necessary.
> > That initial palloc is pointless.

Here's a trivial patch we could apply to 9.3 immediately. Anything else
such as the ideas proposed below would require more effort than anyone
can probably spend here soon.

> > Also, there have been previous discussions about having relpathbackend
> > not use palloc at all. That was only because we wanted to use it in
> > pg_xlogdump which didn't have palloc support at the time, so it's no
> > longer as pressing; but perhaps it's still worthy of consideration.
>
> +1, but I'd like it better if we could find a way of avoiding the
> palloc in all cases. Panicking because we run out of memory at the
> wrong time isn't really very nice. Maybe the information needs to be
> maintained in the format in which it ultimately needs to be returned,
> so that we needn't rejigger it in the middle of a critical section.

--
Álvaro Herrera http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services

Attachment Content-Type Size
avoid-useless-palloc.patch text/x-diff 1.5 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Andres Freund 2013-11-28 15:28:53 Heads-Up: multixact freezing bug
Previous Message Robert Haas 2013-11-28 15:02:03 Re: Another bug introduced by fastpath patch