Antidote can be configured to use different transaction protocols and recovery strategies.
Write operations are certified during commit. The transaction is aborted if a write conflict is detected (i.e. snapshot isolation is ensured for the updates within a single DC, updates across DCs are not checked) (default).
Transactions perform no certification check and always commit (if they do not crash).
Uses the Cure protocol to define snapshots and causal dependencies (default).
Uses the Gentle-rain protocol to define snapshots and causal dependencies.
When starting a node, it loads any operations stored on the disk log to the in memory cache of the key-value store (default).
When starting a node, the key-value store is empty.
Meta-data state is loaded from disk on restart including connection state between other DCs and node names and configurations. Nodes automatically reconnect to other DCs on restart (default).
meta-data concerning node names and connections to other DCs is not loaded on restart.
Local transactions are stored in the log synchronously, i.e., when the reply is sent, the updates are guaranteed to have been stored to disk (this is very slow in the current logging setup).
All updates are sent to the operating system to be stored on disk (eventually), but are not guaranteed to be stored durably on disk when the reply is sent (default)