Re: [E] Re: BUG #18938: Logical replication failure in 16.9: "invalid memory alloc request size 1372786672"

Masahiko Sawada <sawada.mshk@gmail.com>

From: Masahiko Sawada <sawada.mshk@gmail.com>
To: Amit Kapila <amit.kapila16@gmail.com>
Cc: John Hutchins <John.Hutchins@wicourts.gov>, "pgsql-bugs@lists.postgresql.org" <pgsql-bugs@lists.postgresql.org>
Date: 2025-06-17T17:42:41Z
Lists: pgsql-bugs
On Wed, May 28, 2025 at 8:32 PM Amit Kapila <amit.kapila16@gmail.com> wrote:
>
> On Thu, May 29, 2025 at 12:43 AM John Hutchins
> <John.Hutchins@wicourts.gov> wrote:
> >
> > Hi,
> > Thanks very much for your reply.
> >
> > > The configuration details would help the investigation.
> >
> > Here are all configs which may be relevant:
> >
> > wal_level = logical
> > max_replication_slots = 20
> > max_logical_replication_workers = 14
> > max_wal_senders = 20
> > wal_keep_size = 4096
> > max_wal_size = 4GB
> > min_wal_size = 1GB
> > wal_sender_timeout = 300s
> > archive_mode = on
> > archive_command = 'true'
> > archive_timeout = 3600
> > max_worker_processes = 18
> > max_connections = 1000
> > shared_buffers = 10GB
> > maintenance_work_mem = 2GB
> > work_mem = 26214kB
> > effective_cache_size = 30GB
> > effective_io_concurrency = 200
> >
> > > IIUC this issue could happen especially if there are many concurrent
> > > transactions that perform DDLs. Does this match the workload on your
> > > server?
> >
> > I'm not sure if our workload would contain "many concurrent transactions that perform DDLs." Our workload includes DDLs to create temporary tables and also "ALTER TABLE ENABLE/DISABLE TRIGGER" statements that are single-threaded, but may run concurrently with other DML operations. So, in our workloads, there is a possibility of overlap between DDL (trigger management and temporary table creation) and DML from other sessions.
> >
>
> It can happen in this workload due to the reason explained in email
> [1]. We are talking about the right fix for the problem.

I pushed the fix for this issue[1].

Regards,

[1] https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=d87d07b7ad3b782cb74566cd771ecdb2823adf6a

-- 
Masahiko Sawada
Amazon Web Services: https://aws.amazon.com



Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Fix re-distributing previously distributed invalidation messages during logical decoding.