These are chat archives for RBMHTechnology/eventuate

15th
Sep 2016
Mark de Jong
@Fristi
Sep 15 2016 09:12

I am studying Eventuate at the moment. One thing I don't fully understand is:

If for instance you have one actor which emits e1 on node a and on node b e1 is received,
but due a network partition node a is isolated for a while.. Now on node a and node b there are
users interacting with this actor which both produce a e2 event.

How does conflict resolution work here?
In the examples the output is a state (there are two states there, one from node a and one from node b) which wins, but what happens to the events of the loser?
Are they undone? :-) What are the consequence of such a thing?
The winner is selected and that is replicated, such that events of the loser are deleted?
I could not find that in the docs, or am I looking with my nose? ;)

And for VectorTime, what do you use as processId? A unique identifier of the node?

Events are never deleted. Conflict resolution is either repeatable (in case of automated conflict resolution) or the resolution decision is persisted (in case of interactive conflict resolution)
Mark de Jong
@Fristi
Sep 15 2016 09:26
I see, makes sense. Thanks !
What about VectorTime, what do you use for processId? A unique identifier of the node?
Martin Krasser
@krasserm
Sep 15 2016 09:26
The log id
i.e the local log id, of course
Mark de Jong
@Fristi
Sep 15 2016 09:28
I see, that's just generated by a UUID ?
Martin Krasser
@krasserm
Sep 15 2016 09:28
No, it's application-defined