Mysql: How does circular replication avoid infinite looping of a transaction In case of circular replication A -> B -> C -> A.

How come a transaction started on A will be ignored from being replicated from C to A at the end of one complete cycle ?

I believe parent server-id will be logged along with the transaction and it prevents the transaction being executed on the parent server.

Please correct me if i am wrong.

Thanks in advance.
Yes, you are correct. This relies on the server ID being set correctly in the standard MySQL configuration. In MySQL 5.6 and above you can configure the server to use GTIDs (Global Transaction IDentifiers) and they are used on all servers to determine if transactions need to be executed or not