To avoid this confusion, the recovery engine can be configured to peek at the XID to determine if it actually started it before taking any action. It can do that by extracting the [
serverId] part of the XID stored in the database and comparing it to the current node's configured [
serverId]. If they don't match then the XID can be ignored assuming another node is taking/will take care of it.
This is what the [
currentNodeOnlyRecovery] setting is about: it tells the recovery engine to ignore XIDs started by another node.