This is more of a mental note that anything else, but we ran across an issue with configuring our subscriptions database on a cluster. What we had set up was a 2008 cluster with our Publisher on it and a 2003 cluster with our subscriptions DB on it. MSTC was giving us a very distinct error:
[SQL: SELECT this_.SubscriberEndpoint as y0_ FROM [Subscription] this_ WHERE this_.MessageType in (?, ?, ?)]; Communication with the underlying transaction manager has failed.; The MSDTC transaction manager was unable to push the transaction to the destination transaction manager due to communication problems. Possible causes are: a firewall is present and it doesn't have an exception for the MSDTC process, the two machines cannot find each other by their NetBIOS names, or the support for network transactions is not enabled for one of the two transaction managers. (Exception from HRESULT: 0x8004D02A)
The solution for this was that 2003 servers in cluster doesn't support Mutual Authentication. We ended up just using the Incoming Caller authentication between the clusters and everything started working again. Hope this helps someone else with the same problem.