On 02/03/2015 08:17 PM, Peter Geoghegan wrote:
On Tue, Feb 3, 2015 at 2:05 AM, Heikki Linnakangas
<hlinnakan...@vmware.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.

I had compiled with -O0, but without assertions. I tried now again with -O3. It's been running for about 10 minutes now, and I haven't seen any errors.

Since you can reproduce this, it would be good if you could debug this. The error message where the alleged duplicate key actually had a different value is a bit scary. Makes me wonder if it might be a bug with exclusion constraints in general, or just with the patch.

- Heikki



--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to