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
This issue proposes an atomic approach for data model synchronization. Here I slightly alter the invalidation and autosaving properties of the DMF:
When a context gets a value from a data model instance, it has two modes:
disposable-get: The returned value does not have any side effects on any data models.
persistent-get: The returned value may affect the data model itself.
persistent-get additionally returns a model "image" used for identifying the data model's state.
When a context writes a value from a data, it has two types:
independent-set: The new value doesn't depend on certain parts of the data model (including conditional dependency).
dependent-set: The new value depends on certain parts of the data model.
dependent-set should accept an extra parameter "image", which is the state identifier returned from the dependent persistent-get.
When a data model cache manager uploads a set of changes for a data model, it should summarize all changes into an image->image pair, indicating the original image and the final image, along with a commit ID. If another server recently changed this data model, receives the change and finds out that original-image is distinct from the database's current value, it should rollback both changes. Then it should compare both commit IDs. The server that generated the greater commit ID should be responsible for the rollback and merging.
The text was updated successfully, but these errors were encountered:
This issue proposes an atomic approach for data model synchronization. Here I slightly alter the invalidation and autosaving properties of the DMF:
When a data model cache manager uploads a set of changes for a data model, it should summarize all changes into an image->image pair, indicating the original image and the final image, along with a commit ID. If another server recently changed this data model, receives the change and finds out that original-image is distinct from the database's current value, it should rollback both changes. Then it should compare both commit IDs. The server that generated the greater commit ID should be responsible for the rollback and merging.
The text was updated successfully, but these errors were encountered: