These are chat archives for damianh/Cedar

30th
Jul 2015
Dan Barua
@danbarua
Jul 30 2015 09:32
morning, one sec
not yet
event idempotency bits
Dan Barua
@danbarua
Jul 30 2015 09:37
When_read_to_end_of_allstream_then_append_then_can_read_to_end_of_allstream
that would be read_to_end_of_allstream_then_append_events_that_already_exist ?
ie. these new events are ignored as they exist already
Dan Barua
@danbarua
Jul 30 2015 10:02
urgh, debugging async code in nCrunch (not sure if this is the case in general) you need to put break points either side of your awaits
Ok feedback
Can_read_to_end_of_allstream this test seems wrong
insert 3 events then read up to 4 events
lastAllEventPage.StreamEvents.Should().BeEmpty(); will not be correct
because it will have 3 events
now...
here's what's happening in Cedar.GES
you ask GES for the all events stream
then you discard any events that begin with "$", not having used GES in anger i'm assuming those are system/GES-internal event streams
var events = allEventsSlice
                 .Events
                 .Where(@event => 
                     !(@event.OriginalEvent.EventType.StartsWith("$") 
                     || @event.OriginalStreamId.StartsWith("$")))
                 .Select(resolvedEvent =>resolvedEvent.ToSteamEvent())
                 .ToArray();
so the meaning of GES.allEventsSlice.IsEndOfStream is different from the meaning of Cedar's IsEndOfStream
(which is why read_all returns an empty page of events when reading past the end of the all_stream for GES)
so maybe we ought to change Cedar.GES to return IsEndOfTheStreamsWeActuallyCareAbout
Dan Barua
@danbarua
Jul 30 2015 10:10
but.. we might have grabbed a slice of system/internal events, perhaps there are domain events in the next slice that we actually care about heh..