lance-format / lance-format/lance

Slice 6: Migrate mutation .inner call sites to ObjectStore methods

Open
#7,335 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 mutation uses of object_store.inner with Lance ObjectStore methods that preserve Lance semantics. Per the parent's .inner tracker, this covers inner.delete, inner.copy, inner.delete_stream, inner.put_opts, inner.rename. Add rename / streaming-delete methods to the Lance store if missing.

Done per-module in focused PRs; the parent issue's call-site checklist tracks progress (dataset/mem_wal, lance-table/io/commit, namespace-impls/dir). Resolves Open Q4 application (copy/rename as store-level vs reader/writer ops) per the decision recorded in Slice 1.

Acceptance criteria

  • Lance ObjectStore exposes methods covering every migrated mutation pattern (delete, copy, rename, streaming delete)
  • Mutation .inner call sites outside lance-io plumbing migrated; parent checklist updated
  • Remaining intentional .inner mutations documented as compatibility/plumbing
  • Tests assert wrapper observability for migrated mutations (delete/copy/rename on a wrapped store)

Blocked by

  • Blocked by #7332

Design sections addressed

  • Phase 4 (Replace Internal .inner Call Sites) — mutation 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 parent #7331's .inner tracker and the dependency on #7332, then review the listed dataset/mem_wal, lance-table/io/commit, and namespace-impls/dir call sites. Use the Slice 1 decision to resolve copy/rename ownership, and verify that migrated delete, copy, and rename paths expose wrapper observability while documenting intentional compatibility or plumbing uses.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
backend, data-engineering
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.