Data associated with a plurality of transactions in a data replication system including first and second nodes connected via communication media in a topology is replicated. Each node includes a database and a replication engine which performs data replication functions between the first and second nodes. Each transaction is one or more transaction steps or transaction operations. One or more initial transaction steps or operations of a transaction are sent from an input device to a first node. The one or more initial transaction steps or operations of the transaction are sent to the second node via the replication engine at the first node. If a communication failure is detected between the input device and the first node, the input device sends the remaining transaction steps or operations to the second node. The remaining transaction steps or operations received at the second node are appended to the one or more initial transaction steps or operations received from the replication engine of the first node, thereby completing the transaction at the second node.