diff --git a/src/backend/replication/logical/launcher.c b/src/backend/replication/logical/launcher.c
index ecd11e9508..9ab91c3197 100644
--- a/src/backend/replication/logical/launcher.c
+++ b/src/backend/replication/logical/launcher.c
@@ -1392,14 +1392,22 @@ advance_conflict_slot_xmin(FullTransactionId new_xmin)
 	 * xmin of the replication slot. This handles the case where transaction
 	 * ID wraparound has occurred.
 	 */
+elog(LOG,"XXX: launcher new_xid= %u",next_xid);
+elog(LOG,"XXX: launcher current slot xmin = %u",MyReplicationSlot->data.xmin);
+
 	if (next_xid < MyReplicationSlot->data.xmin)
 		xmin_epoch--;
 
 	full_xmin = FullTransactionIdFromEpochAndXid(xmin_epoch,
 												 MyReplicationSlot->data.xmin);
+elog(LOG,"XXX: launcher full_xmin= %u",XidFromFullTransactionId(full_xmin));
 
 	if (FullTransactionIdPrecedesOrEquals(new_xmin, full_xmin))
+	{
+		elog(LOG,"XXX: launcher returned without updating xmin!");
 		return false;
+	}
+		
 
 	SpinLockAcquire(&MyReplicationSlot->mutex);
 	MyReplicationSlot->data.xmin = XidFromFullTransactionId(new_xmin);
@@ -1411,6 +1419,8 @@ advance_conflict_slot_xmin(FullTransactionId new_xmin)
 	ReplicationSlotSave();
 	elog(DEBUG1, "updated xmin: %u", MyReplicationSlot->data.xmin);
 
+elog(LOG,"XXX: launcher updated xmin = %u",MyReplicationSlot->data.xmin);
+
 	/*
 	 * Now the new xmin is safely on disk, we can let the global value
 	 * advance. We do not take ProcArrayLock or similar since we only advance
diff --git a/src/backend/replication/logical/worker.c b/src/backend/replication/logical/worker.c
index afd31e1525..3d1024b96e 100644
--- a/src/backend/replication/logical/worker.c
+++ b/src/backend/replication/logical/worker.c
@@ -4136,12 +4136,20 @@ get_candidate_xid(RetainConflictInfoData *data)
 	next_full_xid = ReadNextFullTransactionId();
 	epoch = EpochFromFullTransactionId(next_full_xid);
 
+elog(LOG,"XXX: oldest_running_xid = %u",oldest_running_xid);
+elog(LOG,"XXX: next_full_xid = %u ",XidFromFullTransactionId(next_full_xid));
+
 	/* Compute the epoch of the oldest_running_xid */
 	if (oldest_running_xid > XidFromFullTransactionId(next_full_xid))
+	{
+		elog(LOG,"XXX: xid WRAPAROUND happend!!!");
 		epoch--;
+	}
 
 	full_xid = FullTransactionIdFromEpochAndXid(epoch, oldest_running_xid);
 
+elog(LOG,"XXX: candidate full_xid = %u ",XidFromFullTransactionId(full_xid));
+
 	/* Return if the oldest_nonremovable_xid cannot be advanced */
 	if (FullTransactionIdFollowsOrEquals(MyLogicalRepWorker->oldest_nonremovable_xid,
 										 full_xid))
