Skip to content

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

Description

@wjones127

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

Design sections addressed

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions