Skip site navigation (1) Skip section navigation (2)

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search archives
  Advanced Search

Re: PG 8.3.3 - ERROR: lock AccessShareLock on object 16385/16467/0 is already held


  • From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
  • To: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
  • Cc: Michael Milligan <milli(at)acmeps(dot)com>, pgsql-bugs(at)postgreSQL(dot)org
  • Subject: Re: PG 8.3.3 - ERROR: lock AccessShareLock on object 16385/16467/0 is already held
  • Date: Mon, 29 Dec 2008 10:06:18 -0500
  • Message-id: <7452.1230563178@sss.pgh.pa.us> <text/plain>

Alvaro Herrera <alvherre(at)commandprompt(dot)com> writes:
> Tom Lane wrote:
>> Michael Milligan <milli(at)acmeps(dot)com> writes:
>>> Okay, it reproduces and surprise surprise nLocks does overflow...
>>
>> Hah.  Okay, that shows that we'd never have reproduced it with a small
>> test case.

> This hasn't been fixed yet, has it?

Well, it has been addressed anyway...

2008-09-15 21:56  tgl

	* src/include/storage/: lock.h (REL8_1_STABLE), lock.h
	(REL8_3_STABLE), lock.h (REL8_0_STABLE), lock.h (REL8_2_STABLE),
	lock.h: Widen the nLocks counts in local lock tables from int to
	int64.	This forestalls potential overflow when the same table (or
	other object, but usually tables) is accessed by very many
	successive queries within a single transaction.  Per report from
	Michael Milligan.
	
	Back-patch to 8.0, which is as far back as the patch conveniently
	applies.  There have been no reports of overflow in pre-8.3
	releases, but clearly the risk existed all along.  (Michael's
	report suggests that 8.3 may consume lock counts faster than prior
	releases, but with no test case to look at it's hard to be sure
	about that.  Widening the counts seems a good future-proofing
	measure in any event.)

> A customer of ours started hitting this bug too, last week.

Tut tut, customer not on latest point release?

			regards, tom lane



Home | Main Index | Thread Index

Privacy Policy | About PostgreSQL
Copyright © 1996 – 2012 PostgreSQL Global Development Group