Thread: BUG #6685: Concurrency fault in create table

BUG #6685: Concurrency fault in create table

From
mthornton@optrak.com
Date:
The following bug has been logged on the website:

Bug reference:      6685
Logged by:          Mark Thornton
Email address:      mthornton@optrak.com
PostgreSQL version: 9.1.4
Operating system:   Ubuntu 12.04
Description:=20=20=20=20=20=20=20=20

Executing
create table child_a () inherits (parent)
create table child_b () inherits (parent)

concurrently (two separate connections) results in an error "concurrent
tuple update".

Postgres should be responsible for serializing updates to the shared
resource (whatever it is).

Re: BUG #6685: Concurrency fault in create table

From
Craig Ringer
Date:
On 06/10/2012 06:25 PM, mthornton@optrak.com wrote:
> The following bug has been logged on the website:
>
> Bug reference:      6685
> Logged by:          Mark Thornton
> Email address:      mthornton@optrak.com
> PostgreSQL version: 9.1.4
> Operating system:   Ubuntu 12.04
> Description:
>
> Executing
> create table child_a () inherits (parent)
> create table child_b () inherits (parent)
>
> concurrently (two separate connections) results in an error "concurrent
> tuple update".

Please copy and paste the full error message.

Which application are you using? psql directly? Something else?

--
Craig Ringer

Re: BUG #6685: Concurrency fault in create table

From
Tom Lane
Date:
mthornton@optrak.com writes:
> The following bug has been logged on the website:
> Bug reference:      6685
> Logged by:          Mark Thornton
> Email address:      mthornton@optrak.com
> PostgreSQL version: 9.1.4
> Operating system:   Ubuntu 12.04
> Description:

> Executing
> create table child_a () inherits (parent)
> create table child_b () inherits (parent)

> concurrently (two separate connections) results in an error "concurrent
> tuple update".

You sure that's a 9.1 server?  I can reproduce such an error in older
releases, but not 9.1.

I believe the relevant fix is
http://git.postgresql.org/gitweb/?p=postgresql.git&a=commitdiff&h=fbcf4b92aa64d4577bcf25925b055316b978744a
As noted there, the change wasn't back-patched for fear that the
stronger lock on the parent table might be an undesirable behavioral
change for some applications.

            regards, tom lane

Re: BUG #6685: Concurrency fault in create table

From
Mark Thornton
Date:
On 10/06/12 22:08, Tom Lane wrote:
> mthornton@optrak.com writes:
>> The following bug has been logged on the website:
>> Bug reference:      6685
>> Logged by:          Mark Thornton
>> Email address:      mthornton@optrak.com
>> PostgreSQL version: 9.1.4
>> Operating system:   Ubuntu 12.04
>> Description:
>> Executing
>> create table child_a () inherits (parent)
>> create table child_b () inherits (parent)
>> concurrently (two separate connections) results in an error "concurrent
>> tuple update".
> You sure that's a 9.1 server?  I can reproduce such an error in older
> releases, but not 9.1.
Ah, now I come to think of it, I do have more than one version here.
I'll recheck which one shows the problem.

Mark