Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} 2.0
От | Heikki Linnakangas |
---|---|
Тема | Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} 2.0 |
Дата | |
Msg-id | 54D25CEC.6040601@vmware.com обсуждение исходный текст |
Ответ на | Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} 2.0 (Peter Geoghegan <pg@heroku.com>) |
Ответы |
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} 2.0
|
Список | pgsql-hackers |
On 02/03/2015 08:17 PM, Peter Geoghegan wrote: > On Tue, Feb 3, 2015 at 2:05 AM, Heikki Linnakangas > <hlinnakangas@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
В списке pgsql-hackers по дате отправления: