On 2016-11-20 19:02, Petr Jelinek wrote:
0001-Add-support-for-TE...cation-slots-v8.patch.gz (~8 KB)
0002-Refactor-libpqwalreceiver-v8.patch.gz (~9 KB)
0003-Add-PUBLICATION-catalogs-and-DDL-v8.patch.gz (~30 KB)
0004-Add-SUBSCRIPTION-catalog-and-DDL-v8.patch.gz (~27 KB)
0005-Define-logical-rep...output-plugi-v8.patch.gz (~13 KB)
0006-Add-logical-replication-workers-v8.patch.gz (~43 KB)
0007-Add-separate-synch...for-logical--v8.patch.gz (~2 KB)
Apply, make, make check, install OK.
A crash of the subscriber can be forced by running vacuum <published
table> on the publisher.
- publisher
create table if not exists testt( id integer primary key, c text );
create publication pub1 for table testt;
- subscriber
create table if not exists testt( id integer primary key, c text );
create subscription sub1 connection 'dbname=testdb port=6444'
publication pub1 with (disabled);
alter subscription sub1 enable;
- publisher
vacuum testt;
now data change on the published table, (perhaps also a select on the
subscriber-side data) leads to:
- subscriber log:
TRAP: FailedAssertion("!(pointer != ((void *)0))", File: "mcxt.c", Line:
1001)
2016-11-22 18:13:13.983 CET 10177 LOG: worker process: ??)? (PID 10334)
was terminated by signal 6: Aborted
2016-11-22 18:13:13.983 CET 10177 LOG: terminating any other active
server processes
2016-11-22 18:13:13.983 CET 10338 WARNING: terminating connection
because of crash of another server process
2016-11-22 18:13:13.983 CET 10338 DETAIL: The postmaster has commanded
this server process to roll back the current transaction and exit,
because another server process exited abnormally and possibly corrupted
shared memory.
[...]
Erik Rijkers
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers