Skip to content

Commit d9d7fe6

Browse files
author
Amit Kapila
committed
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
1 parent cfcf56f commit d9d7fe6

File tree

1 file changed

+1
-2
lines changed

1 file changed

+1
-2
lines changed

src/backend/replication/logical/applyparallelworker.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1181,8 +1181,7 @@ pa_send_data(ParallelApplyWorkerInfo *winfo, Size nbytes, const void *data)
11811181
/* Wait before retrying. */
11821182
rc = WaitLatch(MyLatch,
11831183
WL_LATCH_SET | WL_TIMEOUT | WL_EXIT_ON_PM_DEATH,
1184-
SHM_SEND_RETRY_INTERVAL_MS,
1185-
WAIT_EVENT_LOGICAL_PARALLEL_APPLY_STATE_CHANGE);
1184+
SHM_SEND_RETRY_INTERVAL_MS, WAIT_EVENT_MQ_SEND);
11861185

11871186
if (rc & WL_LATCH_SET)
11881187
{

0 commit comments

Comments
 (0)