These are chat archives for RBMHTechnology/eventuate

16th
Feb 2018
Volker Stampa
@volkerstampa
Feb 16 2018 14:25
I think you can build this information up without sending additional messages around. The emitterId of a DurableEvent indicates the log that emitted the event initially (i.e. in the example above A, B or C). When processing events you could maintain a version vector for each emitter id by merging the vector timestamps of all events from the same emitter. As far as I understand this is what you are trying to get, right?
gabrielgiussi
@gabrielgiussi
Feb 16 2018 16:45
Suppose that A writes an event (A -> 1) and C writes an event (C -> 1). After replication between this two endpoints, A and C ends with CTVV = (A -> 1, C -> 1).
But when A replicates events to B, those events are in the form DurableEvent(emitterId = A, vt = (A -> 1)) DurableEvent(emittedId = C, vt = (C -> 1)), so B can only build the following RecentTimestampMatrix (the matrix of the last CTVV saw by each endpoint)
A = (A ->1)
B = (A ->1, C ->1)
C = (C -> 1)
gabrielgiussi
@gabrielgiussi
Feb 16 2018 21:08
If A would send its replicaVersionVectors to B, it could build the following RTM
A = (A =1, C = 1)
B = (A =1, C = 1)
C = (A =1, C = 1)