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)); }
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)); }
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()); }
public void replication_checkpoint_can_advance_to_second_position() { Assert.AreEqual(_secondLogPosition, ReplicationCheckpoint.Read()); Assert.AreEqual(_secondLogPosition, ReplicationCheckpoint.ReadNonFlushed()); }