Maybe better CRDTs for object_table, version_table and block_ref_table? #19
Labels
No Label
AdminAPI
Bug
Check AWS
CI
Correctness
Critical
Documentation
Ideas
Improvement
Low priority
Newcomer
Performance
S3 Compatibility
Testing
Usability
No Milestone
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: Deuxfleurs/garage#19
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
(As started in #18)
But maybe not.
object_table: complex reconciliation logic, better suited for a custom CRDT.
version_table: we would need a crdt for a simple map, and not an LWWMap. Also we need to make it clear that Map CRDTs are ordered (they are, because the data is in fact just stored in a vec, it isn't even a btree or what), because the block list relies on the fact that blocks are ordered...
block_ref_table: the only crdt is a boolean, we could use crdt::Bool for that but then we would have to add a migration, and the logic is so simple it can't be messed up so there is no advantage of using crdt::Bool instead of just a bool
Mostly done in
dev-0.2