Skip to content

Commit 8476bb6

Browse files
Amit Kapilapull[bot]
authored andcommitted
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 5717681 commit 8476bb6

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)