relcache reference leak with pglogical replication to insert-only partitioned table?

Started by Jeremy Finzelabout 7 years ago3 messageshackers
Jump to latest
#1Jeremy Finzel
finzelj@gmail.com

I understand it's not fully supported to replicate to a differently
partitioned setup on a subscriber with either pglogical or the native
logical replication, however I also know that INSERT triggers can be fired
in replication mode. I have an insert-only OLTP table that I want
partitioned only on the subscriber system. I have this setup using the
"old style" partitioning as it is a 9.6 system.

Provider is 9.6.6 pglogical 2.1.1
Subscriber is 9.6.10 pglogical 2.1.1

Everything appears good as far as the data. It is partitioning correctly.
Queries on the data are planning correctly. However, I am now getting
these WARNING messages constantly. How concerned should I be? Is there a
fix for this? Any insight is much appreciated!

2019-01-27 03:12:34.150 GMT,,,135600,,5c4d1f44.211b0,6794,,2019-01-27
03:02:28 GMT,54/0,1057372660,WARNING,01000,"relcache reference leak:
relation ""foo_pkey"" not closed",,,,,"apply COMMIT in commit before
14DB/34DB1B78, xid 1476598649 commited at 2019-01-26 21:12:34.071673-06
(action #10) from node replorigin 22",,,,"pglogical apply 16420:2094659706"

Thank you!
Jeremy

#2Michael Paquier
michael@paquier.xyz
In reply to: Jeremy Finzel (#1)
Re: relcache reference leak with pglogical replication to insert-only partitioned table?

On Sat, Jan 26, 2019 at 09:19:49PM -0600, Jeremy Finzel wrote:

I understand it's not fully supported to replicate to a differently
partitioned setup on a subscriber with either pglogical or the native
logical replication, however I also know that INSERT triggers can be fired
in replication mode. I have an insert-only OLTP table that I want
partitioned only on the subscriber system. I have this setup using the
"old style" partitioning as it is a 9.6 system.

Logical replication has been added to core in v10, and pglogical is
quite a different thing. It may be better to contact the folks in
charge of it here:
https://github.com/2ndQuadrant/pglogical
--
Michael

#3Craig Ringer
craig@2ndquadrant.com
In reply to: Jeremy Finzel (#1)
Re: relcache reference leak with pglogical replication to insert-only partitioned table?

On Sunday, 27 January 2019 11:20:03 UTC+8, Jeremy Finzel wrote:

I understand it's not fully supported to replicate to a differently
partitioned setup on a subscriber with either pglogical or the native
logical replication, however I also know that INSERT triggers can be fired
in replication mode. I have an insert-only OLTP table that I want
partitioned only on the subscriber system. I have this setup using the
"old style" partitioning as it is a 9.6 system.

Provider is 9.6.6 pglogical 2.1.1
Subscriber is 9.6.10 pglogical 2.1.1

Everything appears good as far as the data. It is partitioning
correctly. Queries on the data are planning correctly. However, I am now
getting these WARNING messages constantly. How concerned should I be? Is
there a fix for this? Any insight is much appreciated!

2019-01-27 03:12:34.150 GMT,,,135600,,5c4d1f44.211b0,6794,,2019-01-27
03:02:28 GMT,54/0,1057372660,WARNING,01000,"relcache reference leak:
relation ""foo_pkey"" not closed",,,,,"apply COMMIT in commit before
14DB/34DB1B78, xid 1476598649 commited at 2019-01-26 21:12:34.071673-06
(action #10) from node replorigin 22",,,,"pglogical apply 16420:2094659706"

It won't corrupt anything but you can expect resource leaks.

I think there are changes to support this in pglogical3. I don't have any
new information on when they might become public, but I do know work has
been done to add a plugin mechanism etc as part of work toward opening
pglogical3.