RE: Crash on UPDATE in 7.0beta3
От | Magnus Hagander |
---|---|
Тема | RE: Crash on UPDATE in 7.0beta3 |
Дата | |
Msg-id | 215896B6B5E1CF11BC5600805FFEA821030460A4@sirius.edu.sollentuna.se обсуждение исходный текст |
Ответ на | Crash on UPDATE in 7.0beta3 (Magnus Hagander <mha@sollentuna.net>) |
Список | 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)
В списке pgsql-hackers по дате отправления: