From: Amit Kapila Date: Tue, 7 Feb 2023 04:28:19 +0000 (+0530) Subject: Use appropriate wait event when sending data in the apply worker. X-Git-Url: http://git.postgresql.org/gitweb/?a=commitdiff_plain;h=d9d7fe68d35e1e10c7c8276d07f5abf9c477cb13;p=users%2Fgsingh%2Fpostgres.git Use appropriate wait event when sending data in the apply worker. Currently, we reuse WAIT_EVENT_LOGICAL_PARALLEL_APPLY_STATE_CHANGE in the apply worker while sending data to the parallel apply worker via a shared memory queue. This is not appropriate as one won't be able to distinguish whether the worker is waiting for sending data or for the state change. To patch instead uses the wait event WAIT_EVENT_MQ_SEND which has been already used in blocking mode while sending data via a shared memory queue. Author: Hou Zhijie Reviewed-by: Kuroda Hayato, Amit Kapila Discussion: https://postgr.es/m/OS0PR01MB57161C680B22E4C591628EE994DA9@OS0PR01MB5716.jpnprd01.prod.outlook.com --- diff --git a/src/backend/replication/logical/applyparallelworker.c b/src/backend/replication/logical/applyparallelworker.c index e670ec617a..da437e0bc3 100644 --- a/src/backend/replication/logical/applyparallelworker.c +++ b/src/backend/replication/logical/applyparallelworker.c @@ -1181,8 +1181,7 @@ pa_send_data(ParallelApplyWorkerInfo *winfo, Size nbytes, const void *data) /* Wait before retrying. */ rc = WaitLatch(MyLatch, WL_LATCH_SET | WL_TIMEOUT | WL_EXIT_ON_PM_DEATH, - SHM_SEND_RETRY_INTERVAL_MS, - WAIT_EVENT_LOGICAL_PARALLEL_APPLY_STATE_CHANGE); + SHM_SEND_RETRY_INTERVAL_MS, WAIT_EVENT_MQ_SEND); if (rc & WL_LATCH_SET) {