lance-format / lance-format/lance

Slice 4: Fault-injection / instrumentation parity test harness

Open
#7,337 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Rust
Stars
7.1k
Forks
852
Avg merge
3d 18h
Merged PRs (30d)
272

Description

Parent PRD

#7331

What to build

A reusable fault-injection / instrumentation test wrapper built on the Lance-level wrapper surface that can fail or perturb a specific operation — a range read, writer shutdown, list, delete, or copy — regardless of backend. Demonstrate the same fault-injection test running on file:// and memory:// without resorting to file-object-store://.

Acceptance criteria

  • Test wrapper can inject failures into: reader get_range, writer shutdown, list, delete, copy
  • Same fault-injection test runs on local file:// and memory:// (no file-object-store://)
  • Wrapper is reusable from other crates' tests (lives in a test-support location)
  • At least one existing flaky/hard-to-test path gains a fault-injection test using it

Blocked by

  • Blocked by #7332
  • Blocked by #7333

Design sections addressed

  • "Better Testing and Fault Injection"; Success criterion #3

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

Start by reviewing the Lance-level wrapper surface and the work in blocked issues #7332 and #7333. Build the reusable wrapper in a test-support location, then exercise fault injection for reader get_range, writer shutdown, list, delete, and copy against both file:// and memory://. Done means another crate can reuse it and at least one existing flaky or hard-to-test path has a fault-injection test.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
testing
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.