Re: transaction block: server closed the connection unexpectedly

From: Alvaro Herrera <alvherre(at)dcc(dot)uchile(dot)cl>
To: Koju Iijima <koju(at)fast(dot)fujitsu(dot)com(dot)au>
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: Re: transaction block: server closed the connection unexpectedly
Date: 2004-09-06 13:13:22
Message-ID: 20040906131322.GA5426@dcc.uchile.cl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On Mon, Sep 06, 2004 at 04:41:32PM +1000, Koju Iijima wrote:

Hi,

> template1=# BEGIN;
> BEGIN
> template1=# CREATE TABLE FOO ( a int unique);
> NOTICE: CREATE TABLE / UNIQUE will create implicit index "foo_a_key" for table "foo"
> CREATE TABLE
> template1=# INSERT INTO FOO VALUES ( 0 );
> INSERT 17232 1
> template1=# INSERT INTO FOO VALUES ( 0 );
> ERROR: duplicate key violates unique constraint "foo_a_key"
> FATAL: block 1 of 1663/1/17230 is still referenced (private 1, global 1)

The problem is that there's a pin on an index page when the smgr tries
to drop its buffers. This patch corrects this problem, by having
resowner cleanup before smgr.

It also passes regression tests. Not sure if it's the correct solution
though, but it seems the natural thing to me.

Thanks for the report. I wonder how we managed to miss this.

--
Alvaro Herrera (<alvherre[a]dcc.uchile.cl>)
"Estoy de acuerdo contigo en que la verdad absoluta no existe...
El problema es que la mentira sí existe y tu estás mintiendo" (G. Lama)

Attachment Content-Type Size
smgr.patch text/plain 2.7 KB

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message PostgreSQL Bugs List 2004-09-06 15:08:23 BUG #1240: memory leak in JDBC driver build 215
Previous Message PostgreSQL Bugs List 2004-09-06 13:05:57 BUG #1239: Stale postmaster.pid prevents server start