You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When a remote updates arrives, the interDC protocol at the receiver checks that the update's dependencies have been applied. If the check passes, the update will be added to the materializer and the log.
Otherwise, it will be buffered until the check passes. https://github.com/SyncFree/antidote/blob/master/src/inter_dc_dep_vnode.erl#L127-L146
My intuition is that this check is redundant, as the stabilisation protocol guarantees that a transaction only reads stable updates. Therefore, if we bypass this check and send the updates to the materialiser as they arrive, the materialiser might be in an inconsistent state, but the stabilisation algorithm will ensure this inconsistent state is not visible by transactions. I hope this is clear.
The text was updated successfully, but these errors were encountered:
The materializer assumes that the operations it receives are in causal order. That assumption will be violated if we remove this check by the inter-dc module. It makes sense for the materializer to have this assumption. Otherwise, it has to check for causal dependency and reorder the operations.
When a remote updates arrives, the interDC protocol at the receiver checks that the update's dependencies have been applied. If the check passes, the update will be added to the materializer and the log.
Otherwise, it will be buffered until the check passes.
https://github.com/SyncFree/antidote/blob/master/src/inter_dc_dep_vnode.erl#L127-L146
My intuition is that this check is redundant, as the stabilisation protocol guarantees that a transaction only reads stable updates. Therefore, if we bypass this check and send the updates to the materialiser as they arrive, the materialiser might be in an inconsistent state, but the stabilisation algorithm will ensure this inconsistent state is not visible by transactions. I hope this is clear.
The text was updated successfully, but these errors were encountered: