public override void When()
 {
     // Reach quorum for middle commit
     ReplicationCheckpoint.Write(_logPositionCommit2);
     ReplicationCheckpoint.Flush();
     Service.Handle(new ReplicationTrackingMessage.ReplicatedTo(_logPositionCommit2));
 }
 public override void When()
 {
     Service.Handle(new StorageMessage.CommitAck(_correlationId, _logPosition, _logPosition, 0, 0));
     ReplicationCheckpoint.Write(_logPosition - 1);
     ReplicationCheckpoint.Flush();
     Service.Handle(new ReplicationTrackingMessage.ReplicatedTo(_logPosition - 1));
 }
예제 #3
0
        public override void When()
        {
            AddPendingPrepare(_logPosition2);
            AddPendingPrepare(_logPosition1);
            Service.Handle(new StorageMessage.CommitAck(_correlationId2, _logPosition4, _logPosition2, 0, 0));
            Service.Handle(new StorageMessage.CommitAck(_correlationId1, _logPosition3, _logPosition1, 0, 0));


            ReplicationCheckpoint.Write(_logPosition4 + 1);
            ReplicationCheckpoint.Flush();
            Service.Handle(new ReplicationTrackingMessage.ReplicatedTo(_logPosition4 + 1));
        }
예제 #4
0
        protected override void WriteTestScenario()
        {
            var res = WritePrepare("ES1", 0, Guid.NewGuid(), "event-type", new string('.', 3000));

            WriteCommit(res.LogPosition, "ES1", 0);

            res = WritePrepare("ES2", 0, Guid.NewGuid(), "event-type", new string('.', 3000));
            var commit = WriteCommit(res.LogPosition, "ES2", 0);

            _commitPosition = commit.LogPosition;

            res = WritePrepare("ES2", 1, Guid.NewGuid(), "event-type", new string('.', 3000));
            WriteCommit(res.LogPosition, "ES2", 1);

            ReplicationCheckpoint.Write(_commitPosition);
        }
 public void replication_checkpoint_should_advance()
 {
     Assert.AreEqual(_logPosition, ReplicationCheckpoint.Read());
     Assert.AreEqual(_logPosition, ReplicationCheckpoint.ReadNonFlushed());
 }
 public void replication_checkpoint_be_at_the_first_position()
 {
     Assert.AreEqual(_firstLogPosition, ReplicationCheckpoint.Read());
     Assert.AreEqual(_firstLogPosition, ReplicationCheckpoint.ReadNonFlushed());
 }
예제 #7
0
 public void replication_checkpoint_can_advance_to_second_position()
 {
     Assert.AreEqual(_secondLogPosition, ReplicationCheckpoint.Read());
     Assert.AreEqual(_secondLogPosition, ReplicationCheckpoint.ReadNonFlushed());
 }