Skip deletes / tombstone eviction
- Dominant language
- Erlang
- Stars
- 7k
- Forks
- 1.1k
- Avg merge
- 1d 16h
- Merged PRs (30d)
- 9
Description
@janl:
> ddoc filter to specify docs to drop during compaction
>
> This one is self-explanatory, mobile clients usually don’t need to sync deletes from a year ago first. Mango filters might already get us there, maybe we can do better.
@davisp:
> There's two issues we'll need to consider. First, my memory is a bit hazy but if I recall correctly there's a subtle issue around modifying the contents of a database during compaction. I believe it has to do with resuming compaction but I'd have to spend more time trying to write this again.
>
> The second issue is that in a cluster if any of the documents that are dropped are accessed its likely that read-repair will end up rewriting them to the database as from the clustered point of view if a doc is missing on a single node then it needs to be re-written to heal the error.
Contributor guide
Research direction
Start by reviewing CouchDB compaction behavior and clustered read-repair, especially the concerns raised in the discussion about resuming compaction and rewriting dropped documents. Done requires an agreed design for safely evicting old tombstones or filtering them while preserving compaction and cluster consistency.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- erlang
- Domain
- databases, distributed-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100