Re: dsa_allocate() faliure - Mailing list pgsql-hackers

From Thomas Munro
Subject Re: dsa_allocate() faliure
Date
Msg-id CAEepm=2LOk6WgOcS31n0xJ9akgKP7E0gbYmbqz27D8vP6s1Rrw@mail.gmail.com
Whole thread Raw
In response to Re: dsa_allocate() faliure  (Thomas Munro <thomas.munro@enterprisedb.com>)
Responses Re: dsa_allocate() faliure
List pgsql-hackers
On Fri, Feb 8, 2019 at 4:49 AM Thomas Munro
<thomas.munro@enterprisedb.com> wrote:
> I don't have the answer yet but I have some progress: I finally
> reproduced the "could not find %d free pages" error by running lots of
> concurrent parallel queries.  Will investigate.

Sometimes FreeManagerPutInternal() returns a
number-of-contiguous-pages-created-by-this-insertion that is too large
by one.  If this happens to be a new max-number-of-contiguous-pages,
it causes trouble some arbitrary time later because the max is wrong
and this FPM cannot satisfy a request that large, and it may not be
recomputed for some time because the incorrect value prevents
recomputation.  Not sure yet if this is due to the lazy computation
logic or a plain old fence-post error in the btree consolidation code
or something else.

-- 
Thomas Munro
http://www.enterprisedb.com


pgsql-hackers by date:

Previous
From: "Tsunakawa, Takayuki"
Date:
Subject: RE: speeding up planning with partitions
Next
From: Amit Langote
Date:
Subject: Re: speeding up planning with partitions