Concurrent CREATE TABLE/DROP SCHEMA leaves inconsistent leftovers

Поиск
Список
Период
Сортировка
От Nikhil Sontakke
Тема Concurrent CREATE TABLE/DROP SCHEMA leaves inconsistent leftovers
Дата
Msg-id CANgU5Zd54YpqxUzmybZzFV1_k-D0Minf-yw2_5VvzRn9RAB0AA@mail.gmail.com
обсуждение исходный текст
Ответы Re: Concurrent CREATE TABLE/DROP SCHEMA leaves inconsistent leftovers  (Robert Haas <robertmhaas@gmail.com>)
Re: Concurrent CREATE TABLE/DROP SCHEMA leaves inconsistent leftovers  (Daniel Farina <daniel@heroku.com>)
Список pgsql-hackers
Hi,<br /><br />Consider the following sequence of events:<br /><br />s1 #> CREATE SCHEMA test_schema;<br /><br />s1
#>CREATE TABLE test_schema.c1(x int);<br /><br />Now open another session s2 and via gdb issue a breakpoint on
heap_create_with_catalog()which is called by DefineRelation().<br /><br />s2 #> CREATE TABLE test_schema.c2(y
int);<br/><br />The above will break on the function. Now issue a drop schema in session s1<br /><br />s1 #> DROP
SCHEMAtest_schema CASCADE;<br />NOTICE:  drop cascades to table test_schema.c1<br /> DROP SCHEMA<br /><br />Continuing
ingdb, also completes the creation of c2 table without any errors. We are now left with a dangling entry in pg_class
alongwith all the corresponding data files in our data directory. The problem becomes worse if c2 was created using a
TABLESPACE.Now dropping of that tablespace does not work at all. Am sure we can come up with myriad such other issues.
<br/><br />Am sure other CREATE commands in this namespace will have similar issues when faced with a concurrent DROP
SCHEMA.<br /><br />We definitely need some interlocking to handle this. For lack of better APIs, we could do a
LockDatabaseObject()call in AccessShareLock mode on the namespace and release the same on completion of the creation of
theobject. <br /><br />Thoughts? <br /><br />Regards,<br />Nikhils<br /> 

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Thom Brown
Дата:
Сообщение: Re: pg_comments (was: Allow \dd to show constraint comments)
Следующее
От: "Albe Laurenz"
Дата:
Сообщение: Re: Disable OpenSSL compression