vmware / vmware/splinterdb

feature request: range delete

Open
#203 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
C
Stars
732
Forks
67
PR merge metrics
No merged PRs in 30d

Description

Bad things happen when you try to delete the current key of a live iterator.

So the naive approach to range delete is:

  • iterate over the range, stashing the keys in a separate data structure
  • close the iterator
  • call delete for each stashed key

But that is really slow:

image

A single-message, atomic range-delete would be wonderful.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The issue names no file, test, or entry point. Start by locating the iterator and delete APIs, then determine how a single atomic range-delete operation should avoid deleting the current key of a live iterator. Done means the requested operation is defined, implemented, and verified for the described iterator behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
databases
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.