Re: [BUG] "FailedAssertion" reported when streaming in logical replication
Dilip Kumar <dilipbalaut@gmail.com>
From: Dilip Kumar <dilipbalaut@gmail.com>
To: Amit Kapila <amit.kapila16@gmail.com>
Cc: "tanghy.fnst@fujitsu.com" <tanghy.fnst@fujitsu.com>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2021-04-27T06:51:53Z
Lists: pgsql-hackers
On Tue, Apr 27, 2021 at 12:05 PM Amit Kapila <amit.kapila16@gmail.com> wrote: > > > Can't we use 'txns_by_base_snapshot_lsn' list for this purpose? It is > > > ensured in ReorderBufferSetBaseSnapshot that we always assign > > > base_snapshot to a top-level transaction if the current is a known > > > subxact. I think that will be true because we always form xid-subxid > > > relation before processing each record in > > > LogicalDecodingProcessRecord. > > > > Yeah, we can do that, but here we are only interested in top > > transactions and this list will give us sub-transaction as well so we > > will have to skip it in the below if condition. > > > > I am not so sure about this point. I have explained above why I think > there won't be any subtransactions in this. Can you please let me know > what am I missing if anything? Got your point, yeah this will only have top transactions so we can use this. I will change this in the next patch. In fact we can put an assert that it should not be an sub transaction? -- Regards, Dilip Kumar EnterpriseDB: http://www.enterprisedb.com
Commits
-
Fix the bugs in selecting the transaction for streaming.
- ee4ba01dbbc3 14.0 landed