Robert Haas <robertmh...@gmail.com> writes: > On Thu, Jun 6, 2019 at 2:48 AM Amit Langote <amitlangot...@gmail.com> wrote: >> Attached is a patch that applies on top of Robert's pdoldcxt-v1.patch, >> which seems to fix this issue for me.
> Yeah, that looks right. I think my patch was full of fuzzy thinking > and inadequate testing; thanks for checking it over and coming up with > the right solution. > Anyone else want to look/comment? I think the existing code is horribly ugly and this is even worse. It adds cycles to RelationDecrementReferenceCount which is a hotspot that has no business dealing with this; the invariants are unclear; and there's no strong reason to think there aren't still cases where we accumulate lots of copies of old partition descriptors during a sequence of operations. Basically you're just doubling down on a wrong design. As I said upthread, my current inclination is to do nothing in this area for v12 and then try to replace the whole thing with proper reference counting in v13. I think the cases where we have a major leak are corner-case-ish enough that we can leave it as-is for one release. regards, tom lane