RE: Perform streaming logical transactions by background workers and parallel apply
От | houzj.fnst@fujitsu.com |
---|---|
Тема | RE: Perform streaming logical transactions by background workers and parallel apply |
Дата | |
Msg-id | OS0PR01MB5716A6FB3AB22670A0717D9D943B9@OS0PR01MB5716.jpnprd01.prod.outlook.com обсуждение исходный текст |
Ответ на | Re: Perform streaming logical transactions by background workers and parallel apply (Amit Kapila <amit.kapila16@gmail.com>) |
Ответы |
Re: Perform streaming logical transactions by background workers and parallel apply
|
Список | pgsql-hackers |
On Friday, November 4, 2022 4:07 PM Amit Kapila <amit.kapila16@gmail.com> wrote: > > On Thu, Nov 3, 2022 at 6:36 PM houzj.fnst@fujitsu.com > <houzj.fnst@fujitsu.com> wrote: > > > > Thanks for the analysis and summary ! > > > > I tried to implement the above idea and here is the patch set. > > > > Few comments on v42-0001 > =========================== Thanks for the comments. > > 10. > + winfo->shared->stream_lock_id = parallel_apply_get_unique_id(); > + winfo->shared->transaction_lock_id = parallel_apply_get_unique_id(); > > Why can't we use xid (remote_xid) for one of these and local_xid (one generated > by parallel apply) for the other? I was a bit worried about the local_xid because it > will be generated only after applying the first message but the patch already > seems to be waiting for it in parallel_apply_wait_for_xact_finish as seen in the > below code. > > +void > +parallel_apply_wait_for_xact_finish(ParallelApplyWorkerShared *wshared) > +{ > + /* > + * Wait until the parallel apply worker handles the first message and > + * set the flag to true. > + */ > + parallel_apply_wait_for_in_xact(wshared, PARALLEL_TRANS_STARTED); > + > + /* Wait for the transaction lock to be released. */ > + parallel_apply_lock(wshared->transaction_lock_id); I also considered using xid for these locks, but it seems the objsubid for the shared object lock is 16bit while xid is 32 bit. So, I tried to generate a unique 16bit id here. I will think more on this and maybe I need to add some comments to explain this. Best regards, Hou zj
В списке pgsql-hackers по дате отправления: