[Question] Garbage collection
- Dominant language
- Scala
- Stars
- 298
- Forks
- 18
- PR merge metrics
- No merged PRs in 30d
Description
Hi
It looks like JSON CRDT described in the paper suffers from 2 kinds of unbounded growth problems
- Tombstones in lists/sets
- Applied operations
Are there any ways to garbage-collect? At some point I want to commit current state and clear operations. But then it is unclear how a newly added replica will converge with old replica - paper only describes transmission of messages.
Same thing goes for tombstones. For an actively edited document the amount of tombstones may get out of hand. A possible solution that comes to mind - define some kind of `Commit` type of the operation that will signal to replica to perform tombstone GC. Commit Op is emitted arbitrarily by the programmer.
Please share your thoughts on the subject
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reviewing the JSON CRDT paper and the issue's concerns about tombstones, applied operations, commits, and newly added replicas. Define garbage-collection semantics that preserve convergence between old and new replicas, with completion demonstrated for both operation history and tombstone growth.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- scala
- Domain
- distributed-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100