public override void OnEvent(MsgPreparedEvent e)
 {
     ParticipantEnlistment participant = e.Participant;
     Exception exception = null;
     try
     {
         byte[] data = base.state.LogEntrySerialization.Serialize(participant);
         participant.Enlistment.SetRecoveryData(data);
         base.state.TransactionManagerSend.Prepared(participant);
         e.StateMachine.ChangeState(base.state.States.DurablePrepared);
     }
     catch (SerializationException exception2)
     {
         DiagnosticUtility.ExceptionUtility.TraceHandledException(exception2, TraceEventType.Error);
         exception = exception2;
     }
     if (exception != null)
     {
         if (DebugTrace.Error)
         {
             DebugTrace.Trace(TraceLevel.Verbose, "Failed to serialize log entry for participant: {0}", exception);
         }
         ParticipantRecoveryLogEntryCreationFailureRecord.TraceAndLog(participant.EnlistmentId, participant.Enlistment.RemoteTransactionId, exception.Message, exception);
         base.state.TwoPhaseCommitCoordinator.SendRollback(participant);
         base.state.TransactionManagerSend.Aborted(participant);
         e.StateMachine.ChangeState(base.state.States.DurableAborted);
     }
 }
        public override void OnEvent(MsgPreparedEvent e)
        {
            ParticipantEnlistment participant = e.Participant;
            Exception             exception   = null;

            try
            {
                byte[] data = base.state.LogEntrySerialization.Serialize(participant);
                participant.Enlistment.SetRecoveryData(data);
                base.state.TransactionManagerSend.Prepared(participant);
                e.StateMachine.ChangeState(base.state.States.DurablePrepared);
            }
            catch (SerializationException exception2)
            {
                DiagnosticUtility.ExceptionUtility.TraceHandledException(exception2, TraceEventType.Error);
                exception = exception2;
            }
            if (exception != null)
            {
                if (DebugTrace.Error)
                {
                    DebugTrace.Trace(TraceLevel.Verbose, "Failed to serialize log entry for participant: {0}", exception);
                }
                ParticipantRecoveryLogEntryCreationFailureRecord.TraceAndLog(participant.EnlistmentId, participant.Enlistment.RemoteTransactionId, exception.Message, exception);
                base.state.TwoPhaseCommitCoordinator.SendRollback(participant);
                base.state.TransactionManagerSend.Aborted(participant);
                e.StateMachine.ChangeState(base.state.States.DurableAborted);
            }
        }
Beispiel #3
0
 public override void OnEvent(MsgPreparedEvent e)
 {
 }
 public virtual void OnEvent(MsgPreparedEvent e)
 {
     this.InvalidParticipantMessage(e);
 }
Beispiel #5
0
 public virtual void OnEvent(MsgPreparedEvent e)
 {
     this.InvalidParticipantMessage(e);
 }
 public override void OnEvent(MsgPreparedEvent e)
 {
     base.state.TransactionManagerSend.PrePrepared(e.Participant);
     e.StateMachine.ChangeState(base.state.States.VolatilePrePrepared);
 }
 public override void OnEvent(MsgPreparedEvent e)
 {
     base.state.TwoPhaseCommitCoordinator.SendRollback(e.ReplyTo);
 }
Beispiel #8
0
 public override void OnEvent(MsgPreparedEvent e)
 {
     base.state.TwoPhaseCommitCoordinator.SendCommit(e.Participant);
 }
 public override void OnEvent(MsgPreparedEvent e)
 {
     base.state.TwoPhaseCommitCoordinator.SendCommit(e.Participant);
 }
Beispiel #10
0
 public override void OnEvent(MsgPreparedEvent e)
 {
     base.state.TwoPhaseCommitCoordinator.SendCommit(e.ReplyTo);
 }
 public void OnEvent(MsgPreparedEvent e)
 {
     this.TraceNotificationMessage(e);
 }
Beispiel #12
0
 public override void OnEvent(MsgPreparedEvent e)
 {
     base.state.TransactionManagerSend.PrePrepared(e.Participant);
     e.StateMachine.ChangeState(base.state.States.VolatilePrePrepared);
 }