internal override void Phase0VolatilePrepareDone(InternalTransaction tx)
{
try
{
// Now that the previous wave is done continue start committing the transaction.
TransactionStatePromotedCommitting.EnterState(tx);
}
catch (TransactionException e)
{
// In this state we don't want a transaction exception from BeginCommit to randomly
// bubble up to the application or go unhandled. So catch the exception and if the
// inner exception for the transaction has not already been set then set it.
if (tx._innerException == null)
{
tx._innerException = e;
}
TransactionsEtwProvider etwLog = TransactionsEtwProvider.Log;
if (etwLog.IsEnabled())
{
etwLog.ExceptionConsumed(e);
}
}
}