Logical replication failure modes

From: Philip Warner <pjw(at)rhyme(dot)com(dot)au>
To: Pg Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Logical replication failure modes
Date: 2024-03-29 11:43:26
Message-ID: 7bcd1f6b2697e13ac70177ccccfdc4df@rhyme.com.au
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

I am trying to discover the causes of occasional data loss in logical
replication; it is VERY rare and happens every few week/months.

Our setup is a source DB running in docker on AWS cloud server. The
source database is stored in on local disks on the cloud server.

The replication target is a K8 POD running in an AWS instance with an
attached persistent AWS disk. The disk mounting is managed by K8.
Periodically this POD is deleted and restarted in an orderly way, and
the persistent disk stores the database.

What we are seeing is *very* occasional records not being replicated in
the more active tables.

Sometimes we have a backlog of several GB of data due to missing fields
in the target or network outages etc.

I am also seeing signs that some triggers are not being applied (at the
same time frame): ie. data *is* inserted but triggers that summarize
that data is not summarizing some rows and the dates on those
non-summarized rows corresponds to dates on unrelated missing rows in
other tables.

This all leads me to conclude that there might be missing transactions?
Or non-applied transactions etc. But it is further complicated by the
fact that there is a second target database that *does* have all the
missing records.

Any insights or avenues of exploration would be very welcome!

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Philip Warner 2024-03-29 11:47:24 Re: Logical replication failure modes
Previous Message Danil Anisimow 2024-03-29 11:20:11 Re: Comments on Custom RMGRs