mirror of
https://github.com/postgres/postgres.git
synced 2025-04-21 12:05:57 +03:00
Add a new wait state and use it when sending data in the apply worker.
d9d7fe68d3 made use of an existing wait event when sending data from the apply worker, but we should have invented a new wait event since this is a new place to wait. This patch corrects the mistake by using a new wait event "LogicalApplySendData". Author: Hou Zhijie Reviewed-by: Peter Smith Discussion: https://postgr.es/m/CA+TgmobWzbr9H3yN3dLVckviEZKemPwd+XyCFKEgyZQZhgP66Q@mail.gmail.com
This commit is contained in:
parent
1b43743f11
commit
fce003cfde
@ -1740,6 +1740,11 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser
|
||||
<entry>Waiting for other Parallel Hash participants to finish inserting
|
||||
tuples into new buckets.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>LogicalApplySendData</literal></entry>
|
||||
<entry>Waiting for a logical replication leader apply process to send
|
||||
data to a parallel apply process.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>LogicalParallelApplyStateChange</literal></entry>
|
||||
<entry>Waiting for a logical replication parallel apply process to change
|
||||
|
@ -1181,7 +1181,8 @@ 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_MQ_SEND);
|
||||
SHM_SEND_RETRY_INTERVAL_MS,
|
||||
WAIT_EVENT_LOGICAL_APPLY_SEND_DATA);
|
||||
|
||||
if (rc & WL_LATCH_SET)
|
||||
{
|
||||
|
@ -391,6 +391,9 @@ pgstat_get_wait_ipc(WaitEventIPC w)
|
||||
case WAIT_EVENT_HASH_GROW_BUCKETS_REINSERT:
|
||||
event_name = "HashGrowBucketsReinsert";
|
||||
break;
|
||||
case WAIT_EVENT_LOGICAL_APPLY_SEND_DATA:
|
||||
event_name = "LogicalApplySendData";
|
||||
break;
|
||||
case WAIT_EVENT_LOGICAL_PARALLEL_APPLY_STATE_CHANGE:
|
||||
event_name = "LogicalParallelApplyStateChange";
|
||||
break;
|
||||
|
@ -106,6 +106,7 @@ typedef enum
|
||||
WAIT_EVENT_HASH_GROW_BUCKETS_ALLOCATE,
|
||||
WAIT_EVENT_HASH_GROW_BUCKETS_ELECT,
|
||||
WAIT_EVENT_HASH_GROW_BUCKETS_REINSERT,
|
||||
WAIT_EVENT_LOGICAL_APPLY_SEND_DATA,
|
||||
WAIT_EVENT_LOGICAL_PARALLEL_APPLY_STATE_CHANGE,
|
||||
WAIT_EVENT_LOGICAL_SYNC_DATA,
|
||||
WAIT_EVENT_LOGICAL_SYNC_STATE_CHANGE,
|
||||
|
Loading…
x
Reference in New Issue
Block a user