pg.ddx.io  pgsql-bugs@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Andrei Lepikhov <lepihov@gmail.com>
To: Thomas Munro <thomas.munro@gmail.com>
Cc: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Craig Milhiser <craig@milhiser.com>
Cc: pgsql-bugs@lists.postgresql.org
Subject: Re: Reference to - BUG #18349: ERROR: invalid DSA memory alloc request size 1811939328, CONTEXT: parallel worker
Date: Thu, 17 Oct 2024 15:12:45 +0700
Message-ID: <30fbb76b-4b6f-405e-bf9c-741fe2c7722a@gmail.com> (raw)
In-Reply-To: <CA+hUKGKOoxiGBqv=RA-e8=LXNhdmRCC_rOYbpaqbL16=4wvJ3A@mail.gmail.com>
References: <CA+wnhO1OfgXbmXgC4fv_uu=OxcDQuHvfoQ4k0DFeB0Qqd-X-rQ@mail.gmail.com>
	<CA+wnhO2NDZFWB1TrZga-uLzpfSDjKH5Axa2d2+1Q76JSsS7yMg@mail.gmail.com>
	<CA+wnhO0S2kxJ2_M57uJXRocMpcDtz6N4RkP-3Xy=pFs1wp7hmg@mail.gmail.com>
	<CA+hUKGLPKWamfKjtEkPLvRDSeOqoZZ0wDfU65d-hF-1upL8iGw@mail.gmail.com>
	<CA+wnhO3kT7mxbadbteppSZVcs3FRPvGL5xTY2DbrWSGohmhyVw@mail.gmail.com>
	<6785e9e8-4c64-41b0-9e72-c13d1822b599@gmail.com>
	<CA+wnhO0VdTP9OVdZP9bmkavma2WkE-pYpP1yW8yDwRrJ97j-2g@mail.gmail.com>
	<0c3b0e1b-55d1-42b6-8c3c-4392479187db@gmail.com>
	<CA+wnhO2sHcUOfi6_gvaoPMk=2DsKUOWkDjdUtGxJOguQOXDvOQ@mail.gmail.com>
	<cc488d1c-6477-4e20-8bd0-cf152a2e59bf@gmail.com>
	<CA+wnhO3t7xqCiDmGduxgg1Mv5M5R-GeQd0kzVcJKkUFkj91Wbw@mail.gmail.com>
	<CA+hUKGLYx2GGd8BggND5QnyyJKbf1r+Q0cEYWrN+miXzaxwGNA@mail.gmail.com>
	<3581840.1728887169@sss.pgh.pa.us>
	<3a1ac6f1-ac30-4ed4-8d0d-beb8a5aca7e5@gmail.com>
	<CA+hUKGKOoxiGBqv=RA-e8=LXNhdmRCC_rOYbpaqbL16=4wvJ3A@mail.gmail.com>

On 10/16/24 16:19, Thomas Munro wrote:
> On Mon, Oct 14, 2024 at 10:16 PM Andrei Lepikhov <lepihov@gmail.com> wrote:
>> See the attachment for a sketch of the solution.
> 
> Thanks Andrei, I mostly agree with your analysis, but I came up with a
> slightly different patch.  I think we should check for extreme skew if
> old_batch->space_exhausted (the parent partition).  Your sketch always
> does it for batch 0, which works for these examples but I don't think
> it's strictly correct: if batch 0 didn't run out of memory, it might
> falsely report extreme skew just because it had (say) 0 or 1 tuples.
Yeah, I misunderstood the meaning of the estimated_size variable. Your 
solution is more universal. Also, I confirm, it passes my synthetic  test.
Also, it raises the immediate question: What if we have too many 
duplicates? Sometimes, in user complaints, I see examples where they, 
analysing the database's logical consistency, pass through millions of 
duplicates to find an unexpected value. Do we need a top memory 
consumption limit here? I recall a thread in the mailing list with a 
general approach to limiting backend memory consumption, but it is 
finished with no result.
The patch looks good as well as commentary.

-- 
regards, Andrei Lepikhov






view thread (27+ messages)  latest in thread

Message-ID: <30fbb76b-4b6f-405e-bf9c-741fe2c7722a@gmail.com>
Permalink:  ../30fbb76b-4b6f-405e-bf9c-741fe2c7722a@gmail.com/
Also on:    postgresql.org/message-id/30fbb76b-4b6f-405e-bf9c-741fe2c7722a@gmail.com

 · 

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-bugs@postgresql.org
  Cc: lepihov@gmail.com, thomas.munro@gmail.com, tgl@sss.pgh.pa.us, craig@milhiser.com, pgsql-bugs@lists.postgresql.org
  Subject: Re: Reference to - BUG #18349: ERROR: invalid DSA memory alloc request size 1811939328, CONTEXT: parallel worker
  In-Reply-To: <30fbb76b-4b6f-405e-bf9c-741fe2c7722a@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 DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox