Skip to content

Commit b1f5b5b

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 0024fd8 commit b1f5b5b

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)