pgsql: Fix initialization of RelationSyncEntry for streaming transactio - Mailing list pgsql-committers

From Amit Kapila
Subject pgsql: Fix initialization of RelationSyncEntry for streaming transactio
Date
Msg-id E1kINE0-0000VY-Ft@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Fix initialization of RelationSyncEntry for streaming transactions.

In commit 464824323e, for each RelationSyncEntry we maintained the list
of xids (streamed_txns) for which we have already sent the schema. This
helps us to track when to send the schema to the downstream node for
replication of streaming transactions. Before this list got initialized,
we were processing invalidation messages which access this list and led
to an assertion failure.

In passing, clean up the nearby code:

* Initialize the list of xids with NIL instead of NULL which is our usual
coding practice.
* Remove the MemoryContext switch for creating a RelationSyncEntry in dynahash.

Diagnosed-by: Amit Kapila and Tom Lane
Author: Amit Kapila
Reviewed-by: Tom Lane and Dilip Kumar
Discussion: https://postgr.es/m/904373.1600033123@sss.pgh.pa.us

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/69bd60672af63eaa8b19cdcea175df5ff172e80e

Modified Files
--------------
src/backend/replication/pgoutput/pgoutput.c | 29 +++++++++++++++--------------
1 file changed, 15 insertions(+), 14 deletions(-)


pgsql-committers by date:

Previous
From: David Rowley
Date:
Subject: pgsql: Optimize compactify_tuples function
Next
From: Jeff Davis
Date:
Subject: pgsql: HashAgg: release write buffers sooner by rewinding tape.