Re: Buildfarm failure and dubious coding in predicate.c
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Thomas Munro <thomas.munro@enterprisedb.com>
Cc: Pg Hackers <pgsql-hackers@postgresql.org>
Date: 2017-07-24T19:24:01Z
Lists: pgsql-hackers
Thomas Munro <thomas.munro@enterprisedb.com> writes: > Ahh, I think I see it. This is an EXEC_BACKEND build farm animal. > Theory: After the backend we see had removed the scratch entry and > before it had restored it, another backend started up and ran > InitPredicateLocks(), which inserted a new scratch entry without > interlocking. Ouch. Yes, I think you're probably right. It needs to skip that if IsUnderPostmaster. Seems like there ought to be an Assert(!found) there, too. And I don't think I entirely like the fact that there's no assertions about the found/not found cases below, either. Will fix, unless you're already on it? regards, tom lane
Commits
-
Fix race condition in predicate-lock init code in EXEC_BACKEND builds.
- 51865a0a0141 9.6.4 landed
- e2c8100e6072 10.0 landed
- 4ecee1192a02 9.3.18 landed
- 05a562d9cefc 9.2.22 landed
- 8ad35c7fa67d 9.4.13 landed
- 5146ca3525a8 9.5.8 landed
-
Improve comments about partitioned hash table freelists.
- ab2324fd468c 10.0 landed