public void retried_messages_appear_in_version_order() { var buffer = new StreamBuffer(10, 10, null, true); var id2Retry1 = Guid.NewGuid(); var id2Retry2 = Guid.NewGuid(); buffer.AddReadMessage(BuildMessageAt(0)); buffer.AddRetry(BuildMessageAt(2, id2Retry1)); buffer.AddRetry(BuildMessageAt(3)); buffer.AddRetry(BuildMessageAt(1)); buffer.AddRetry(BuildMessageAt(2, id2Retry2)); var messagePointer = buffer.Scan().First(); Assert.AreEqual(GetEventIdFor(1), messagePointer.Message.EventId); messagePointer.MarkSent(); messagePointer = buffer.Scan().First(); Assert.AreEqual(id2Retry1, messagePointer.Message.EventId); messagePointer.MarkSent(); messagePointer = buffer.Scan().First(); Assert.AreEqual(id2Retry2, messagePointer.Message.EventId); messagePointer.MarkSent(); messagePointer = buffer.Scan().First(); Assert.AreEqual(GetEventIdFor(3), messagePointer.Message.EventId); messagePointer.MarkSent(); }
public void retried_messages_appear_in_version_order() { var buffer = new StreamBuffer(10, 10, -1, true); var id1 = Guid.NewGuid(); buffer.AddReadMessage(BuildMessageAt(id1, 0)); var id2 = Guid.NewGuid(); var id3 = Guid.NewGuid(); var id4 = Guid.NewGuid(); var id5 = Guid.NewGuid(); buffer.AddRetry(BuildMessageAt(id2, 2)); buffer.AddRetry(BuildMessageAt(id3, 3)); buffer.AddRetry(BuildMessageAt(id4, 1)); buffer.AddRetry(BuildMessageAt(id5, 2)); var messagePointer = buffer.Scan().First(); Assert.AreEqual(id4, messagePointer.Message.EventId); messagePointer.MarkSent(); messagePointer = buffer.Scan().First(); Assert.AreEqual(id2, messagePointer.Message.EventId); messagePointer.MarkSent(); messagePointer = buffer.Scan().First(); Assert.AreEqual(id5, messagePointer.Message.EventId); messagePointer.MarkSent(); messagePointer = buffer.Scan().First(); Assert.AreEqual(id3, messagePointer.Message.EventId); messagePointer.MarkSent(); }
public void lowest_retry_doesnt_assume_order() { var buffer = new StreamBuffer(10, 10, -1, true); buffer.AddRetry(BuildMessageAt(Guid.NewGuid(), 4)); buffer.AddRetry(BuildMessageAt(Guid.NewGuid(), 2)); buffer.AddRetry(BuildMessageAt(Guid.NewGuid(), 3)); Assert.AreEqual(2, buffer.GetLowestRetry()); }
public void lowest_retry_doesnt_assume_order() { var buffer = new StreamBuffer(10, 10, null, true); buffer.AddRetry(BuildMessageAt(4)); buffer.AddRetry(BuildMessageAt(2)); buffer.AddRetry(BuildMessageAt(3)); Assert.AreEqual(2, buffer.GetLowestRetry().sequenceNumber); }
public void lowest_retry_ignores_replayed_events() { var buffer = new StreamBuffer(10, 10, -1, true); buffer.AddRetry(BuildMessageAt(Guid.NewGuid(), 4)); buffer.AddRetry(BuildMessageAt(Guid.NewGuid(), 2)); buffer.AddRetry(BuildMessageAt(Guid.NewGuid(), 3)); //add parked event buffer.AddRetry(new OutstandingMessage(Guid.NewGuid(), null, Helper.BuildFakeEvent(Guid.NewGuid(), "foo", "$persistentsubscription-foo::group-parked", 1), 0)); Assert.AreEqual(2, buffer.GetLowestRetry()); }
public void lowest_retry_ignores_replayed_events() { var buffer = new StreamBuffer(10, 10, null, true); buffer.AddRetry(BuildMessageAt(4)); buffer.AddRetry(BuildMessageAt(2)); buffer.AddRetry(BuildMessageAt(3)); //add parked events buffer.AddRetry(OutstandingMessage.ForParkedEvent(Helper.BuildFakeEvent(Guid.NewGuid(), "foo", "$persistentsubscription-foo::group-parked", 1))); Assert.AreEqual(2, buffer.GetLowestRetry().sequenceNumber); }
public void retried_messages_appear_first() { var buffer = new StreamBuffer(10, 10, -1, true); var id1 = Guid.NewGuid(); buffer.AddReadMessage(BuildMessageAt(id1, 0)); var id2 = Guid.NewGuid(); buffer.AddRetry(BuildMessageAt(id2, 2)); Assert.AreEqual(2, buffer.BufferCount); Assert.AreEqual(1, buffer.RetryBufferCount); Assert.AreEqual(1, buffer.ReadBufferCount); var messagePointer = buffer.Scan().First(); Assert.AreEqual(id2, messagePointer.Message.EventId); messagePointer.MarkSent(); Assert.AreEqual(1, buffer.BufferCount); Assert.AreEqual(0, buffer.RetryBufferCount); Assert.AreEqual(1, buffer.ReadBufferCount); messagePointer = buffer.Scan().First(); Assert.AreEqual(id1, messagePointer.Message.EventId); messagePointer.MarkSent(); Assert.AreEqual(0, buffer.BufferCount); Assert.AreEqual(0, buffer.RetryBufferCount); Assert.AreEqual(0, buffer.ReadBufferCount); Assert.IsFalse(buffer.Live); }
public void retried_messages_appear_first() { var buffer = new StreamBuffer(10, 10, null, true); buffer.AddReadMessage(BuildMessageAt(0)); buffer.AddRetry(BuildMessageAt(2)); Assert.AreEqual(2, buffer.BufferCount); Assert.AreEqual(1, buffer.RetryBufferCount); Assert.AreEqual(1, buffer.ReadBufferCount); var messagePointer = buffer.Scan().First(); Assert.AreEqual(GetEventIdFor(2), messagePointer.Message.EventId); messagePointer.MarkSent(); Assert.AreEqual(1, buffer.BufferCount); Assert.AreEqual(0, buffer.RetryBufferCount); Assert.AreEqual(1, buffer.ReadBufferCount); messagePointer = buffer.Scan().First(); Assert.AreEqual(GetEventIdFor(0), messagePointer.Message.EventId); messagePointer.MarkSent(); Assert.AreEqual(0, buffer.BufferCount); Assert.AreEqual(0, buffer.RetryBufferCount); Assert.AreEqual(0, buffer.ReadBufferCount); Assert.IsFalse(buffer.Live); }