From: | "wangw(dot)fnst(at)fujitsu(dot)com" <wangw(dot)fnst(at)fujitsu(dot)com> |
---|---|
To: | "shiy(dot)fnst(at)fujitsu(dot)com" <shiy(dot)fnst(at)fujitsu(dot)com>, Amit Kapila <amit(dot)kapila16(at)gmail(dot)com> |
Cc: | "houzj(dot)fnst(at)fujitsu(dot)com" <houzj(dot)fnst(at)fujitsu(dot)com>, Peter Smith <smithpb2250(at)gmail(dot)com>, Dilip Kumar <dilipbalaut(at)gmail(dot)com>, Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
Subject: | RE: Perform streaming logical transactions by background workers and parallel apply |
Date: | 2022-09-21 02:09:27 |
Message-ID: | OS3PR01MB6275298521AE1BBEF5A055EE9E4F9@OS3PR01MB6275.jpnprd01.prod.outlook.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Tues, Sep 20, 2022 at 11:41 AM Shi, Yu/侍 雨 <shiy(dot)fnst(at)cn(dot)fujitsu(dot)com> wrote:
> On Mon, Sept 19, 2022 11:26 AM Wang, Wei/王 威 <wangw(dot)fnst(at)fujitsu(dot)com>
> wrote:
> >
> >
> > Improved as suggested.
> >
>
> Thanks for updating the patch. Here are some comments on 0001 patch.
Thanks for your comments.
> 1.
> + case TRANS_LEADER_SERIALIZE:
>
> - oldctx = MemoryContextSwitchTo(ApplyContext);
> + /*
> + * Notify handle methods we're processing a remote in-
> progress
> + * transaction.
> + */
> + in_streamed_transaction = true;
>
> - MyLogicalRepWorker->stream_fileset = palloc(sizeof(FileSet));
> - FileSetInit(MyLogicalRepWorker->stream_fileset);
> + /*
> + * Since no parallel apply worker is used for the first
> stream
> + * start, serialize all the changes of the transaction.
> + *
> + * Start a transaction on stream start, this transaction will
> be
>
>
> It seems that the following comment can be removed after using switch case.
> + * Since no parallel apply worker is used for the first
> stream
> + * start, serialize all the changes of the transaction.
Removed.
> 2.
> + switch (apply_action)
> + {
> + case TRANS_LEADER_SERIALIZE:
> + if (!in_streamed_transaction)
> + ereport(ERROR,
> +
> (errcode(ERRCODE_PROTOCOL_VIOLATION),
> + errmsg_internal("STREAM STOP
> message without STREAM START")));
>
> In apply_handle_stream_stop(), I think we can move this check to the beginning
> of
> this function, to be consistent to other functions.
Improved as suggested.
> 3. I think the some of the changes in 0005 patch can be merged to 0001 patch,
> 0005 patch can only contain the changes about new column 'apply_leader_pid'.
Merged changes not related to 'apply_leader_pid' into patch 0001.
> 4.
> + * ParallelApplyWorkersList. After successfully, launching a new worker it's
> + * information is added to the ParallelApplyWorkersList. Once the worker
>
> Should `it's` be `its` ?
Fixed.
Attach the new patch set.
Regards,
Wang wei
Attachment | Content-Type | Size |
---|---|---|
v31-0001-Perform-streaming-logical-transactions-by-parall.patch | application/octet-stream | 138.7 KB |
v31-0002-Test-streaming-parallel-option-in-tap-test.patch | application/octet-stream | 74.5 KB |
v31-0003-Add-some-checks-before-using-parallel-apply-work.patch | application/octet-stream | 49.8 KB |
v31-0004-Retry-to-apply-streaming-xact-only-in-apply-work.patch | application/octet-stream | 60.2 KB |
v31-0005-Add-a-main_worker_pid-to-pg_stat_subscription.patch | application/octet-stream | 6.3 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | wangw.fnst@fujitsu.com | 2022-09-21 02:14:35 | RE: Perform streaming logical transactions by background workers and parallel apply |
Previous Message | Peter Smith | 2022-09-21 01:57:46 | Re: Perform streaming logical transactions by background workers and parallel apply |