public inbox for [email protected]
help / color / mirror / Atom feedFrom: Robert Haas <[email protected]>
To: Alvaro Herrera <[email protected]>
Cc: Thomas Munro <[email protected]>
Cc: PostgreSQL Hackers <[email protected]>
Subject: Re: Potential stack overflow in incremental base backup
Date: Thu, 7 Mar 2024 12:54:07 -0500
Message-ID: <CA+TgmoZoHXOCWBUJuPP2g7U2_xSjRJAwum8kSRCRUTMesVfgoA@mail.gmail.com> (raw)
In-Reply-To: <[email protected]>
References: <CA+hUKG+2hZ0sBztPW4mkLfng0qfkNtAHFUfxOMLizJ0BPmi5+g@mail.gmail.com>
<[email protected]>
On Wed, Mar 6, 2024 at 6:29 AM Alvaro Herrera <[email protected]> wrote:
> On 2024-Mar-06, Thomas Munro wrote:
> > Even on the heap, 16GB is too much to assume we can allocate during a
> > base backup. I don't claim that's a real-world problem for
> > incremental backup right now in master, because I don't have any
> > evidence that anyone ever really uses --with-segsize (do they?), but
> > if we make it an initdb option it will be more popular and this will
> > become a problem. Hmm.
>
> Would it work to use a radix tree from the patchset at
> https://postgr.es/m/CANWCAZb43ZNRK03bzftnVRAfHzNGzH26sjc0Ep-sj8+w20VzSg@mail.gmail.com
> ?
Probably not that much, because we actually send the array to the
client very soon after we construct it:
push_to_sink(sink, &checksum_ctx, &header_bytes_done,
incremental_blocks,
sizeof(BlockNumber) * num_incremental_blocks);
This is hard to do without materializing the array somewhere, so I
don't think an alternate representation is the way to go in this
instance.
--
Robert Haas
EDB: http://www.enterprisedb.com
view thread (3+ messages)
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: [email protected]
Cc: [email protected], [email protected], [email protected], [email protected]
Subject: Re: Potential stack overflow in incremental base backup
In-Reply-To: <CA+TgmoZoHXOCWBUJuPP2g7U2_xSjRJAwum8kSRCRUTMesVfgoA@mail.gmail.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox