From: | Bruce Momjian <bruce(at)momjian(dot)us> |
---|---|
To: | Mark Kirkwood <markir(at)paradise(dot)net(dot)nz> |
Cc: | pgsql-bugs(at)postgresql(dot)org |
Subject: | Re: BUG #3833: Index remains when table is dropped |
Date: | 2008-03-22 01:33:00 |
Message-ID: | 200803220133.m2M1X0b03849@momjian.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
The comment I have from Tom Lane on this patch is:
band-aid solution to just one aspect of problem ...
so I am afraid I am going to have to reject it. Sorry.
---------------------------------------------------------------------------
Mark Kirkwood wrote:
> I encountered this bug recently - and thought I'd have a try at seeing
> what might fix it.
>
> Taking an exclusive lock on the to-be-dropped table immediately (i.e in
> RemoveRel) seems to be enough to prevent the drop starting while an
> index is being created in another session. So it "fixes" the issue -
> possible objections that I can think of are:
>
> 1/ Not a general solution to multi session dependent drop/create of
> objects other than tables (unless we do 2/)
> 2/ Using this approach in all object dropping code may result in
> deadlocks (but is this worse than dangling/mangled objects?)
>
> Now, I'm conscious that there could be other show stopper reasons for
> *not* doing this that I have not thought of, but figured I'd post in
> case the idea was useful. Thoughts?
>
> Cheers
>
> Mark
[ text/x-patch is unsupported, treating like TEXT/PLAIN ]
> *** src/backend/commands/tablecmds.c.orig Wed Jan 2 13:58:05 2008
> --- src/backend/commands/tablecmds.c Wed Jan 2 13:46:43 2008
> ***************
> *** 514,519 ****
> --- 514,522 ----
> object.objectId = relOid;
> object.objectSubId = 0;
>
> + //Try a lock here!
> + LockRelationOid(relOid, ExclusiveLock);
> +
> performDeletion(&object, behavior);
> }
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 1: if posting/reading through Usenet, please send an appropriate
> subscribe-nomail command to majordomo(at)postgresql(dot)org so that your
> message can get through to the mailing list cleanly
--
Bruce Momjian <bruce(at)momjian(dot)us> http://momjian.us
EnterpriseDB http://postgres.enterprisedb.com
+ If your life is a hard drive, Christ can be your backup. +
From | Date | Subject | |
---|---|---|---|
Next Message | Steve Clark | 2008-03-22 15:35:11 | BUG #4049: ecpg library causes signal 11 when --enable-thread-safety is turned on |
Previous Message | Bruce Momjian | 2008-03-21 19:58:03 | Re: BUG #3822: Nonstandard precedence for comparison operators |