Skip to content

Track Blob V2 Managed Kind #8971

Description

@Xuanwo

Goal

Allow Blob v2 payload objects to survive DataFile rewrites without copying payload bytes by adding an independently addressed Managed kind.

Contract

  • Managed kind 4 uses the existing five descriptor fields in file formats 2.2 and 2.3, carrying an explicit base ID, relative URI, and byte range.
  • New objects use _blobs/<uuid>.blob. Existing Packed and Dedicated objects can be adopted at their original paths without copying bytes.
  • Compaction preserves object references. Cleanup respects protected snapshots; shallow clone retains source ownership and deep clone creates independently owned destination objects.
  • New Blob data-file commits atomically publish paired reader/writer capability bits and base bindings. The capability survives restore.
  • Existing Blob kinds retain their read semantics. All maintenance after activation must use a Managed-aware client, including maintenance through previously cached handles.

Delivery

  1. Document the existing Blob v2 contract: docs: specify Blob v2 storage and logical input contracts #9193
  2. Land a separate Managed-kind format proposal through the required format vote.
  3. Land the implementation: feat(blob): reuse independently addressed managed objects #9293
  4. Validate compaction, cleanup, clone, restore, and released-client compatibility.

Boundaries

No DataFile-attached Blob Reuse Index, configurable repack threshold, new repack API, or Blob v3 catalog is included.

Completion

The format contract and implementation are merged, lifecycle and compatibility coverage passes, and activation and maintenance requirements are documented.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

A-encodingEncoding, IO, file reader/writerA-formatOn-disk format: protos and format spec docsenhancementNew feature or requestformat-changeA change to the format spec, which requires a vote. Remove if minor (e.g. fixing typo).

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions