Re: [HACKERS] tablesync patch broke the assumption that logical repdepends on?
От | Peter Eisentraut |
---|---|
Тема | Re: [HACKERS] tablesync patch broke the assumption that logical repdepends on? |
Дата | |
Msg-id | 9ce4ce67-429d-6440-ac33-59c799794384@2ndquadrant.com обсуждение исходный текст |
Ответ на | [HACKERS] tablesync patch broke the assumption that logical rep depends on? (Fujii Masao <masao.fujii@gmail.com>) |
Ответы |
Re: [HACKERS] tablesync patch broke the assumption that logical repdepends on?
|
Список | pgsql-hackers |
On 4/10/17 13:28, Fujii Masao wrote: > src/backend/replication/logical/launcher.c > * Worker started and attached to our shmem. This check is safe > * because only launcher ever starts the workers, so nobody can steal > * the worker slot. > > The tablesync patch enabled even worker to start another worker. > So the above assumption is not valid for now. > > This issue seems to cause the corner case where the launcher picks up > the same worker slot that previously-started worker has already picked > up to start another worker. I think what the comment should rather say is that workers are always started through logicalrep_worker_launch() and worker slots are always handed out while holding LogicalRepWorkerLock exclusively, so nobody can steal the worker slot. Does that make sense? -- Peter Eisentraut http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
В списке pgsql-hackers по дате отправления: