apache / apache/couchdb

Skip deletes / tombstone eviction

Open
#1,505 3 comments 0 reactions 0 assignees View on GitHub
api replication roadmap
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.