Fix crash in WAL sender when starting physical replication
Michael Paquier <michael@paquier.xyz>
Fix crash in WAL sender when starting physical replication Since database connections can be used with WAL senders in 9.4, it is possible to use physical replication. This commit fixes a crash when starting physical replication with a WAL sender using a database connection, caused by the refactoring done in 850196b. There have been discussions about forbidding the use of physical replication in a database connection, but this is left for later, taking care only of the crash new to 13. While on it, add a test to check for a failure when attempting logical replication if the WAL sender does not have a database connection. This part is extracted from a larger patch by Kyotaro Horiguchi. Reported-by: Vladimir Sitnikov Author: Michael Paquier, Kyotaro Horiguchi Reviewed-by: Kyotaro Horiguchi, Álvaro Herrera Discussion: https://postgr.es/m/CAB=Je-GOWMj1PTPkeUhjqQp-4W3=nW-pXe2Hjax6rJFffB5_Aw@mail.gmail.com Backpatch-through: 13
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/access/transam/xlogreader.c | modified | +3 −1 |
| src/backend/replication/walsender.c | modified | +18 −20 |
| src/include/access/xlogreader.h | modified | +0 −4 |
| src/test/recovery/t/006_logical_decoding.pl | modified | +10 −1 |
Discussion
- SIGSEGV from START_REPLICATION 0/XXXXXXX in XLogSendPhysical () at walsender.c:2762 44 messages · 2020-05-28 → 2020-07-07