lance-format / lance-format/lance

Slice 5: Migrate read .inner call sites to ObjectStore methods

Open
#7,334 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

Replace direct internal read uses of object_store.inner with Lance ObjectStore methods so wrappers observe them. Add any missing Lance-level methods needed (e.g. a full-object get, get_range/get_ranges equivalents) where no method exists yet. Per the parent's .inner tracker, this covers inner.get, inner.head, inner.list / list_with_delimiter, inner.get_range, inner.get_opts, inner.get_ranges.

Done per-module in focused PRs; the parent issue's call-site checklist tracks progress (lance-table, dataset/mem_wal, lance/io, lance/index, namespace-impls). Classify lance-io-internal sites (list_retry.rs, throttle.rs, object_reader.rs) that are wrapper plumbing and may legitimately stay on the backend.

Acceptance criteria

  • Lance ObjectStore exposes methods covering every migrated read pattern
  • Read .inner call sites outside lance-io plumbing migrated; parent checklist updated
  • Remaining intentional .inner reads documented as compatibility/plumbing
  • Tests assert wrapper observability for migrated reads (head/list/get on a wrapped store)

Blocked by

  • Blocked by #7332

Design sections addressed

  • Phase 4 (Replace Internal .inner Call Sites) — read paths

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 with the parent #7331 call-site tracker after resolving the dependency on #7332. Inspect the listed lance-table, dataset/mem_wal, lance/io, lance/index, and namespace-impls modules, including list_retry.rs, throttle.rs, and object_reader.rs. Migrate eligible read paths to Lance ObjectStore methods, document intentional plumbing uses, and verify wrapper-observability tests cover head, list, and get.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.