Re: hyrax vs. RelationBuildPartitionDesc
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Robert Haas <robertmhaas@gmail.com>
Cc: Amit Langote <amitlangote09@gmail.com>,
Andres Freund <andres@anarazel.de>,
Alvaro Herrera <alvherre@2ndquadrant.com>,
PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>,
amul sul <sulamul@gmail.com>
Date: 2019-06-11T17:57:16Z
Lists: pgsql-hackers
Robert Haas <robertmhaas@gmail.com> writes: > On Thu, Jun 6, 2019 at 2:48 AM Amit Langote <amitlangote09@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
Commits
-
Load relcache entries' partitioning data on-demand, not immediately.
- 5b9312378e2f 13.0 landed
-
Prevent memory leaks associated with relcache rd_partcheck structures.
- d4c50b4b1f86 10.8 landed
- 5f1433ac5e7f 12.0 landed
- 089e4d405d0f 11.3 landed
-
Don't copy PartitionBoundInfo in set_relation_partition_info.
- c8151e642368 12.0 landed
-
Further reduce memory footprint of CLOBBER_CACHE_ALWAYS testing.
- d3f48dfae42f 12.0 landed
-
Fix some oversights in commit 2455ab488.
- de570047993b 12.0 landed
-
Defend against leaks into RelationBuildPartitionDesc.
- 2455ab48844c 12.0 landed
-
Allow ATTACH PARTITION with only ShareUpdateExclusiveLock.
- 898e5e3290a7 12.0 cited