diff --git a/src/backend/replication/logical/decode.c b/src/backend/replication/logical/decode.c
index cc03f0706e9..981a8e45003 100644
--- a/src/backend/replication/logical/decode.c
+++ b/src/backend/replication/logical/decode.c
@@ -38,6 +38,7 @@
 #include "replication/message.h"
 #include "replication/reorderbuffer.h"
 #include "replication/snapbuild.h"
+#include "replication/slot.h"
 #include "storage/standbydefs.h"
 
 /* individual record(group)'s handlers */
@@ -682,6 +683,10 @@ DecodeCommit(LogicalDecodingContext *ctx, XLogRecordBuffer *buf,
 	RepOriginId origin_id = XLogRecGetOrigin(buf->record);
 	int			i;
 
+	if (parsed->twophase_xid && strcmp(parsed->twophase_gid, "mygid") == 0 &&
+		strcmp(NameStr(MyReplicationSlot->data.name), "tap_sub") == 0)
+		sleep(3);
+
 	if (parsed->xinfo & XACT_XINFO_HAS_ORIGIN)
 	{
 		origin_lsn = parsed->origin_lsn;
