Re: [HACKERS] UPDATE of partition key

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Robert Haas <robertmhaas(at)gmail(dot)com>
Cc: Amit Khandekar <amitdkhan(dot)pg(at)gmail(dot)com>, Amit Langote <Langote_Amit_f8(at)lab(dot)ntt(dot)co(dot)jp>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>, Thomas Munro <thomas(dot)munro(at)enterprisedb(dot)com>
Subject: Re: [HACKERS] UPDATE of partition key
Date: 2018-01-21 06:43:18
Message-ID: 19379.1516516998@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Robert Haas <robertmhaas(at)gmail(dot)com> writes:
> Committed with a bunch of mostly-cosmetic revisions.

Buildfarm member skink has been unhappy since this patch went in.
Running the regression tests under valgrind easily reproduces the
failure. Now, I might be wrong about which of the patches committed
on Friday caused the unhappiness, but the valgrind backtrace sure
looks like it's to do with partition routing:

==00:00:05:49.683 17549== Invalid read of size 4
==00:00:05:49.683 17549== at 0x62A8BA: ExecCleanupTupleRouting (execPartition.c:483)
==00:00:05:49.683 17549== by 0x6483AA: ExecEndModifyTable (nodeModifyTable.c:2682)
==00:00:05:49.683 17549== by 0x627139: standard_ExecutorEnd (execMain.c:1604)
==00:00:05:49.683 17549== by 0x7780AF: ProcessQuery (pquery.c:206)
==00:00:05:49.683 17549== by 0x7782E4: PortalRunMulti (pquery.c:1286)
==00:00:05:49.683 17549== by 0x778AAF: PortalRun (pquery.c:799)
==00:00:05:49.683 17549== by 0x774E4C: exec_simple_query (postgres.c:1120)
==00:00:05:49.683 17549== by 0x776C17: PostgresMain (postgres.c:4143)
==00:00:05:49.683 17549== by 0x6FA419: PostmasterMain (postmaster.c:4412)
==00:00:05:49.683 17549== by 0x66E51F: main (main.c:228)
==00:00:05:49.683 17549== Address 0xe25e298 is 2,088 bytes inside a block of size 32,768 alloc'd
==00:00:05:49.683 17549== at 0x4A06A2E: malloc (vg_replace_malloc.c:270)
==00:00:05:49.683 17549== by 0x89EB15: AllocSetAlloc (aset.c:945)
==00:00:05:49.683 17549== by 0x8A7577: palloc (mcxt.c:848)
==00:00:05:49.683 17549== by 0x671969: new_list (list.c:68)
==00:00:05:49.683 17549== by 0x672859: lappend_oid (list.c:169)
==00:00:05:49.683 17549== by 0x55330E: find_inheritance_children (pg_inherits.c:144)
==00:00:05:49.683 17549== by 0x553447: find_all_inheritors (pg_inherits.c:203)
==00:00:05:49.683 17549== by 0x62AC76: ExecSetupPartitionTupleRouting (execPartition.c:68)
==00:00:05:49.683 17549== by 0x64949D: ExecInitModifyTable (nodeModifyTable.c:2232)
==00:00:05:49.683 17549== by 0x62BBE8: ExecInitNode (execProcnode.c:174)
==00:00:05:49.683 17549== by 0x627B53: standard_ExecutorStart (execMain.c:1043)
==00:00:05:49.683 17549== by 0x778046: ProcessQuery (pquery.c:156)

(This is my local result, but skink's log looks about the same.)

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message John Naylor 2018-01-21 07:26:55 Re: MCV lists for highly skewed distributions
Previous Message David Rowley 2018-01-21 06:21:52 Re: STATISTICS retained in CREATE TABLE ... LIKE (INCLUDING ALL)?