Skip to content

Slice 7: Deprecate .inner + explicit as_upstream_object_store() escape hatch #7338

Description

@wjones127

Parent PRD

#7331

What to build

Mark ObjectStore::inner #[deprecated] once common internal call sites have Lance-method alternatives, and add an explicitly named upstream-interop accessor (e.g. as_upstream_object_store()) for the remaining legitimate compatibility uses. The field stays public until the next breaking API window (Phase 6, deferred).

Deprecation note should point users to Lance methods or the explicit escape hatch:

#[deprecated(
    note = "use Lance ObjectStore methods instead; direct upstream object_store access bypasses Lance I/O wrappers"
)]
pub inner: Arc<dyn object_store::ObjectStore>,

Acceptance criteria

  • inner annotated #[deprecated] with a message pointing to Lance methods / the escape hatch
  • as_upstream_object_store() (or agreed name per Open Q3) added for explicit interop
  • Workspace builds with no internal #[deprecated] warnings (remaining uses go through the escape hatch and are documented as compatibility)
  • Parent .inner tracker reflects the final set of intentional remaining uses
  • Open Question 3 resolved and recorded

Blocked by

Design sections addressed

  • Phase 5 (Deprecate .inner); Open Question 3

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