Re: Forget close an open relation in ReorderBufferProcessTXN()
Japin Li <japinli@hotmail.com>
From: Japin Li <japinli@hotmail.com>
To: Amit Kapila <amit.kapila16@gmail.com>
Cc: "pgsql-hackers@lists.postgresql.org"
<pgsql-hackers@lists.postgresql.org>, peter.eisentraut@2ndquadrant.com,
simon@2ndquadrant.com, marco.nenciarini@2ndquadrant.it
Date: 2021-04-17T06:35:20Z
Lists: pgsql-hackers
On Sat, 17 Apr 2021 at 14:09, Amit Kapila <amit.kapila16@gmail.com> wrote: > On Thu, Apr 15, 2021 at 4:53 PM Amit Kapila <amit.kapila16@gmail.com> wrote: >> >> On Thu, Apr 15, 2021 at 4:00 PM Japin Li <japinli@hotmail.com> wrote: >> > >> > The RelationIdGetRelation() comment says: >> > >> > > Caller should eventually decrement count. (Usually, >> > > that happens by calling RelationClose().) >> > >> > However, it doesn't do it in ReorderBufferProcessTXN(). >> > I think we should close it, here is a patch that fixes it. Thoughts? >> > >> >> +1. Your fix looks correct to me but can we test it in some way? >> > > I have tried to find a test but not able to find one. I have tried > with a foreign table but we don't log truncate for it, see > ExecuteTruncate. It has a check that it will log for relids where > RelationIsLogicallyLogged. If that is the case, it is not clear to me > how we can ever hit this condition? Have you tried to find the test? I also don't find a test for this. It is introduced in 5dfd1e5a6696, wrote by Simon Riggs, Marco Nenciarini and Peter Eisentraut. Maybe they can explain when we can enter this condition? -- Regrads, Japin Li. ChengDu WenWu Information Technology Co.,Ltd.
Commits
-
pgoutput: Fix memory leak due to RelationSyncEntry.map.
- eb89cb43a0d0 14.0 landed
- d2505681211b 13.4 landed