From: | Magnus Hagander <mha(at)sollentuna(dot)net> |
---|---|
To: | "'Tom Lane'" <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | "'pgsql-hackers(at)postgresql(dot)org'" <pgsql-hackers(at)postgresql(dot)org> |
Subject: | RE: Crash on UPDATE in 7.0beta3 |
Date: | 2000-04-03 13:43:03 |
Message-ID: | 215896B6B5E1CF11BC5600805FFEA821030460A4@sirius.edu.sollentuna.se |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
> I said:
> > ... But I don't
> > understand why having other backends running concurrently
> would affect
> > this.
>
> Yes I do: this entire path of control is only invoked if ExecReplace
> discovers that the tuple it's trying to update is already updated by
> a concurrent transaction. Evidently no one's tried running concurrent
> UPDATEs where the updates use a nestloop+inner indexscan join plan,
> because this path is certain to fail in that case.
>
> Magnus, try swapping the code segments in ExecIndexReScan()
<snip>
Looks much better - at least it doesn't crash. Instead, I the messages
below. I don't know if this is because of the same thing, though - since it
runs into areas I never reached before. But these messages do *not* show up
if I run with fewer backends (or when I run with the old code - crash).
//Magnus
NOTICE: Buffer Leak: [3205] (freeNext=-3, freePrev=-3,
relname=order_items_order_idx, blockNum=13532, flags=0x4, refcount=1 1)
NOTICE: Buffer Leak: [3214] (freeNext=-3, freePrev=-3, relname=order_items,
blockNum=39804, flags=0x4, refcount=1 1)
NOTICE: Buffer Leak: [5110] (freeNext=-3, freePrev=-3,
relname=order_items_order_idx, blockNum=29437, flags=0x4, refcount=1 1)
NOTICE: Buffer Leak: [5117] (freeNext=-3, freePrev=-3, relname=order_items,
blockNum=86602, flags=0x4, refcount=1 1)
NOTICE: Buffer Leak: [13184] (freeNext=-3, freePrev=-3,
relname=order_items_order_idx, blockNum=2115, flags=0x4, refcount=1 1)
NOTICE: Buffer Leak: [13191] (freeNext=-3, freePrev=-3,
relname=order_items, blockNum=6214, flags=0x4, refcount=1 1)
NOTICE: Buffer Leak: [4248] (freeNext=-3, freePrev=-3,
relname=order_items_order_idx, blockNum=29583, flags=0x4, refcount=1 1)
NOTICE: Buffer Leak: [4443] (freeNext=-3, freePrev=-3, relname=order_items,
blockNum=87032, flags=0x4, refcount=1 1)
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2000-04-03 14:14:43 | Re: AW: src/test/locale/de_DE.ISO-8859-1 |
Previous Message | The Hermit Hacker | 2000-04-03 12:48:00 | Re: AW: src/test/locale/de_DE.ISO-8859-1 |