public void Replay(Message message)
 {
     ProtocolVersionHelper.AssertProtocolVersion10(this.protocolVersion, typeof(TwoPhaseCommitCoordinatorDispatcher), "constr");
     try
     {
         if (DebugTrace.Verbose)
         {
             DebugTrace.Trace(TraceLevel.Verbose, "Dispatching 2PC Replay message");
             if (DebugTrace.Pii)
             {
                 DebugTrace.TracePii(TraceLevel.Verbose, "Sender is {0}", CoordinationServiceSecurity.GetSenderName(message));
             }
         }
         ReplayMessage.ReadFrom(message, this.protocolVersion);
         this.dispatch.Replay(message);
     }
     catch (CommunicationException exception)
     {
         Microsoft.Transactions.Bridge.DiagnosticUtility.ExceptionUtility.TraceHandledException(exception, TraceEventType.Warning);
         base.OnMessageException(message, exception);
     }
     catch (Exception exception2)
     {
         DebugTrace.Trace(TraceLevel.Error, "Unhandled exception {0} dispatching Replay message: {1}", exception2.GetType().Name, exception2);
         Microsoft.Transactions.Bridge.DiagnosticUtility.InvokeFinalHandler(exception2);
     }
 }
        public override void OnEvent(MsgReplayEvent e)
        {
            ProtocolVersionHelper.AssertProtocolVersion10(base.state.ProtocolVersion, typeof(DurableActive), "OnEvent(replay)");
            ParticipantEnlistment participant = e.Participant;

            base.state.TwoPhaseCommitCoordinator.SendRollback(participant);
            base.state.TransactionManagerSend.Rollback(participant);
            e.StateMachine.ChangeState(base.state.States.DurableAborted);
        }
        public void Replay(Message message)
        {
            ProtocolVersionHelper.AssertProtocolVersion10(this.state.ProtocolVersion, base.GetType(), "Replay");
            ParticipantEnlistment participant = this.CheckMessage(message, true, true);

            if (participant != null)
            {
                participant.StateMachine.Enqueue(new MsgReplayEvent(participant));
            }
        }
        public override void OnEvent(MsgReplayEvent e)
        {
            ProtocolVersionHelper.AssertProtocolVersion10(base.state.ProtocolVersion, typeof(DurablePreparing), "OnEvent(replay)");
            ParticipantEnlistment participant = e.Participant;

            if (DurableParticipantReplayWhilePreparingRecord.ShouldTrace)
            {
                DurableParticipantReplayWhilePreparingRecord.Trace(participant.EnlistmentId, participant.Enlistment.RemoteTransactionId);
            }
            base.state.TwoPhaseCommitCoordinator.SendRollback(participant);
            base.state.TransactionManagerSend.Aborted(participant);
            e.StateMachine.ChangeState(base.state.States.DurableAborted);
        }
Exemplo n.º 5
0
 public override void OnEvent(MsgReplayEvent e)
 {
     ProtocolVersionHelper.AssertProtocolVersion10(base.state.ProtocolVersion, typeof(DurableRejoined), "OnEvent(replay)");
 }
 public ActivationCoordinatorDispatcher10(CoordinationService service, IActivationCoordinator dispatch)
 {
     ProtocolVersionHelper.AssertProtocolVersion10(service.ProtocolVersion, typeof(ActivationCoordinatorDispatcher10), "constr");
     this.activationCoordinatorDispatcher = new ActivationCoordinatorDispatcher(service, dispatch);
 }
Exemplo n.º 7
0
 public override void OnEvent(MsgReplayEvent e)
 {
     ProtocolVersionHelper.AssertProtocolVersion10(base.state.ProtocolVersion, typeof(DurableCommitting), "OnEvent(replay)");
     base.state.TwoPhaseCommitCoordinator.SendCommit(e.Participant);
 }
Exemplo n.º 8
0
 public TwoPhaseCommitCoordinatorDispatcher10(CoordinationService service, ITwoPhaseCommitCoordinator dispatch)
 {
     ProtocolVersionHelper.AssertProtocolVersion10(service.ProtocolVersion, typeof(TwoPhaseCommitCoordinatorDispatcher10), "constr");
     this.twoPhaseCommitCoordinatorDispatcher = new TwoPhaseCommitCoordinatorDispatcher(service, dispatch);
 }
 public CompletionCoordinatorDispatcher10(CoordinationService service, ICompletionCoordinator dispatch)
 {
     ProtocolVersionHelper.AssertProtocolVersion10(service.ProtocolVersion, typeof(CompletionCoordinatorDispatcher10), "constr");
     this.completionCoordinatorDispatcher = new CompletionCoordinatorDispatcher(service, dispatch);
 }
 public override void OnEvent(MsgReplayEvent e)
 {
     ProtocolVersionHelper.AssertProtocolVersion10(base.state.ProtocolVersion, typeof(DurableAborted), "OnEvent(replay)");
     base.state.TwoPhaseCommitCoordinator.SendRollback(e.ReplyTo);
 }
Exemplo n.º 11
0
 public RegistrationCoordinatorDispatcher10(CoordinationService service, IRegistrationCoordinator dispatch)
 {
     ProtocolVersionHelper.AssertProtocolVersion10(service.ProtocolVersion, typeof(RegistrationCoordinatorDispatcher10), "constr");
     this.registrationCoordinatorDispatcher = new RegistrationCoordinatorDispatcher(service, dispatch);
 }
Exemplo n.º 12
0
 public override void OnEvent(MsgReplayEvent e)
 {
     ProtocolVersionHelper.AssertProtocolVersion10(base.state.ProtocolVersion, typeof(DurableRecoveryAwaitingRollback), "OnEvent(replay)");
 }