Re: Somebody has not thought through subscription locking considerations
От | Tom Lane |
---|---|
Тема | Re: Somebody has not thought through subscription locking considerations |
Дата | |
Msg-id | 12424.1490984611@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Re: Somebody has not thought through subscription lockingconsiderations (Petr Jelinek <petr.jelinek@2ndquadrant.com>) |
Список | pgsql-hackers |
Petr Jelinek <petr.jelinek@2ndquadrant.com> writes: > On 31/03/17 19:35, Tom Lane wrote: >> At the very least, it would be a good idea to exclude the system >> catalogs from logical replication, wouldn't it? > They are excluded. Well, the exclusion is apparently not checked early enough. I would say that touches of system catalogs should never result in any attempts to access the logical relation infrastructure, but what we have here is such an access. > The problematic part is that the pg_subscription_rel manipulation > functions acquire ShareRowExclusiveLock and not the usual > RowExclusiveLock because there were some worries about concurrency. No, the problematic part is that there is any heap_open happening at all. That open could very easily result in a recursive attempt to read pg_class, for example, which is going to be fatal if we're in the midst of vacuum full'ing or reindex'ing pg_class. It's frankly astonishing to me that this patch seems to have survived testing under CLOBBER_CACHE_ALWAYS, because it's only the catalog caches that are preventing such recursive lookups. regards, tom lane
В списке pgsql-hackers по дате отправления: