I got the data by extra logging but the issue is that it is always sending the same xmin. There are no long running transactions or inactive slots on the standby
Since it is sending the same xmin, vacuum is not happening on primary. After we set hot_standby_feedback to 'off', the xmin becomes null and vacuum goes through. If we revert hot_standby_feedback to 'on' again, it will be stuck in the same xmin.
We are unable to determine the transaction for xmin that is holding back the slots.