| From: | Teodor Sigaev <teodor(at)sigaev(dot)ru> |
|---|---|
| To: | Robert Haas <robertmhaas(at)gmail(dot)com> |
| Cc: | PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org> |
| Subject: | Re: GIN fast insert database hang |
| Date: | 2009-02-12 17:56:58 |
| Message-ID: | 499462EA.9040902@sigaev.ru |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
> This freezes the whole system even with autovacuum = off in
> postgresql.conf. As before, the backends wait on a semop() call.
Fixed. There was a deadlock of LockBufferForCleanup and LockBuffer(SHARE).
Redesign that place to downgrade LockBufferForCleanup to LockBuffer(EXCLUSIVE)
with correction of page's locking during scan of pending list.
> I was able to reproduce the recovery failure this way once as well,
> but that part of the problem seems to be much more erratic. Most of
Fixed too. I missed comments on XLogInsert:
* NB: this routine feels free to scribble on the XLogRecData structs,
* though not on the data they reference. This is OK since the XLogRecData
* structs are always just temporaries in the calling code.
and I reused once initialized XLogRecData many times in a loop.
--
Teodor Sigaev E-mail: teodor(at)sigaev(dot)ru
WWW: http://www.sigaev.ru/
| Attachment | Content-Type | Size |
|---|---|---|
| fast_insert_gin-0.27.gz | application/x-tar | 24.3 KB |
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Bruce Momjian | 2009-02-12 18:00:28 | Re: pg_migrator and handling dropped columns |
| Previous Message | Tom Lane | 2009-02-12 17:21:07 | Re: DISCARD ALL failing to acquire locks on pg_listen |