pg.ddx.io pgsql-hackers@postgresql.org mailing list archive
help / color / mirror / Atom feed From: Tomas Vondra <tomas.vondra@2ndquadrant.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Amit Kapila <amit.kapila16@gmail.com>
Cc: Noah Misch <noah@leadboat.com>
Cc: Amit Khandekar <amitdkhan.pg@gmail.com>
Cc: Alvaro Herrera from 2ndQuadrant <alvherre@alvh.no-ip.org>
Cc: Andres Freund <andres@anarazel.de>
Cc: Juan José SantamarÃa Flecha <juanjo.santamaria@gmail.com>
Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Cc: Robert Haas <robertmhaas@gmail.com>
Cc: Thomas Munro <thomas.munro@gmail.com>
Subject: Re: logical decoding : exceeded maxAllocatedDescs for .spill files
Date: Sun, 12 Jan 2020 04:39:30 +0100
Message-ID: <20200112033930.6cy3n6ybft6pp7gw@development> (raw )
In-Reply-To: <18117.1578616812@sss.pgh.pa.us >
References: <CAA4eK1LMDx6vK8Kdw8WUeW1MjToN2xVffL2kvtHvZg17=Y6QQg@mail.gmail.com >
<CAA4eK1LJqMuXoCLuxkTr1HidbR8DkgRrVC7jHWDyXT=FD2gt6Q@mail.gmail.com >
<CAJ3gD9dFYJnOxUsR3MeJ=3hJKZk5XqAx-6fYUNXt6jJOK3QFMQ@mail.gmail.com >
<20200104185148.GA2270238@rfd.leadboat.com >
<CAJ3gD9diTB8rqyUWo=jZrSQxvW7o-gGaO6uoF5racneH3+FYOg@mail.gmail.com >
<20200109053704.GA2502006@rfd.leadboat.com >
<22498.1578548741@sss.pgh.pa.us >
<CAA4eK1JitJgbOv-ie3VCXW5A74j-v0b8S55YMunwmkFDZ_4NCg@mail.gmail.com >
<14739.1578613901@sss.pgh.pa.us >
<18117.1578616812@sss.pgh.pa.us >
On Thu, Jan 09, 2020 at 07:40:12PM -0500, Tom Lane wrote:
>I wrote:
>> ReorderBuffer: 223302560 total in 26995 blocks; 7056 free (3 chunks); 223295504 used
>
>> The test case is only inserting 50K fairly-short rows, so this seems
>> like an unreasonable amount of memory to be consuming for that; and
>> even if you think it's reasonable, it clearly isn't going to scale
>> to large production transactions.
>
>> Now, the good news is that v11 and later get through
>> 006_logical_decoding.pl just fine under the same restriction.
>> So we did something in v11 to fix this excessive memory consumption.
>> However, unless we're willing to back-port whatever that was, this
>> test case is clearly consuming excessive resources for the v10 branch.
>
>I dug around a little in the git history for backend/replication/logical/,
>and while I find several commit messages mentioning memory leaks and
>faulty spill logic, they all claim to have been back-patched as far
>as 9.4.
>
>It seems reasonably likely to me that this result is telling us about
>an actual bug, ie, faulty back-patching of one or more of those fixes
>into v10 and perhaps earlier branches.
>
>I don't know this code well enough to take point on looking for the
>problem, though.
>
Well, one thing we did in 11 is introduction of the Generation context.
In 10 we're still stashing all tuple data into the main AllocSet. I
wonder if backporting a4ccc1cef5a04cc054af83bc4582a045d5232cb3 and a
couple of follow-up fixes would make the issue go away.
regards
--
Tomas Vondra http://www.2ndQuadrant.com
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
view thread (114+ messages) latest in thread
Message-ID: <20200112033930.6cy3n6ybft6pp7gw@development>
Permalink: ../20200112033930.6cy3n6ybft6pp7gw@development/
Also on: postgresql.org/message-id/20200112033930.6cy3n6ybft6pp7gw@development
copy link · copy postgr.es
reply Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-hackers@postgresql.org
Cc: tomas.vondra@2ndquadrant.com, tgl@sss.pgh.pa.us, amit.kapila16@gmail.com, noah@leadboat.com, amitdkhan.pg@gmail.com, alvherre@alvh.no-ip.org, andres@anarazel.de, juanjo.santamaria@gmail.com, pgsql-hackers@lists.postgresql.org, robertmhaas@gmail.com, thomas.munro@gmail.com
Subject: Re: logical decoding : exceeded maxAllocatedDescs for .spill files
In-Reply-To: <20200112033930.6cy3n6ybft6pp7gw@development>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox