Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} 2.0

From: Peter Geoghegan <pg(at)heroku(dot)com>
To: Heikki Linnakangas <hlinnakangas(at)vmware(dot)com>
Cc: Pg Hackers <pgsql-hackers(at)postgresql(dot)org>, Stephen Frost <sfrost(at)snowman(dot)net>, Jeff Janes <jeff(dot)janes(at)gmail(dot)com>
Subject: Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} 2.0
Date: 2015-02-03 18:17:25
Message-ID: CAM3SWZSe3u3KJ-fXgNwF0GnhahxGQyzwEkOekfA6fSTzQcoEUQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, Feb 3, 2015 at 2:05 AM, Heikki Linnakangas
<hlinnakangas(at)vmware(dot)com> wrote:
> TRAP: FailedAssertion("!(node->spec != SPEC_INSERT || node->arbiterIndex !=
> ((Oid) 0))", File: "nodeModifyTable.c", Line: 1619)
>
> Is that just because of the hack in parse_clause.c?

Yes. I never built with assertions and so didn't see this, but it
doesn't matter.

> With assertions disabled, count_upsert_exclusion.pl ran successfully to the
> end. I also tried running "VACUUM FREEZE upsert_race_test" in a loop in
> another session at the same time, but it didn't make a difference. How
> quickly do you see the errors?
>
> I also tried applying crash_REL9_5.patch from the jjanes_upsert kit, and set
> jj_xid=10000 to increase XID burn rate, but I'm still not seeing any errors.

Did you build fully optimized, assertion-free code? I've been doing
that. I found it necessary to recreate some of the bugs Jeff's tool
caught. I also think that I might have needed an 8 core box to see it,
but less sure about that.

--
Peter Geoghegan

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Andres Freund 2015-02-03 18:54:10 Re: Re: Overhauling our interrupt handling (was Escaping from blocked send() reprised.)
Previous Message Heikki Linnakangas 2015-02-03 17:58:30 pgsql: Add API functions to libpq to interrogate SSL related stuff.