New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Switch to pure operation-based CRDTs #301

krasserm opened this Issue Sep 1, 2016 · 0 comments


None yet
1 participant
Copy link

krasserm commented Sep 1, 2016

The approach is described in Making Operation-based CRDTs Operation-based. At the moment, the implementation follows the approach from A comprehensive study of Convergent and Commutative Replicated Data Types which requires access to local CRDT state during the prepare phase.

Eventuate already provides a reliable causal broadcast via replicated event logs and additionally exposes causality information (vector timestamps) during event delivery. In other words, it provides the Tagged Reliable Causal Broadcast (TRCB) API as described in the paper. What is still missing is the causal stability part of the TRCB API but this should be a minor effort to implement.

Freeing CRDTs from local state access during the prepare phase allows for much more efficient batching of operations messages (i.e. events) being written to the event log, which will significantly increase write throughput.

@krasserm krasserm self-assigned this Sep 1, 2016

@krasserm krasserm changed the title Make all operation-based CRDTs pure Switch to pure operation-based CRDTs Sep 1, 2016

@krasserm krasserm removed their assignment Oct 5, 2016

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment