Skip to content

Fix Blob Versioning GC pagination across duplicate names - #2

Merged
rorozcov merged 4 commits into
users/rorozcov/blobversioningfrom
copilot/testblob-versioning-gc-regression-again
Sep 2, 2026
Merged

Fix Blob Versioning GC pagination across duplicate names#2
rorozcov merged 4 commits into
users/rorozcov/blobversioningfrom
copilot/testblob-versioning-gc-regression-again

Conversation

Copilot AI commented Sep 2, 2026

Copy link
Copy Markdown

Blob GC skipped live extents when more than 5,000 versions or snapshots shared one blob name because listAllBlobs() continued using only that name.

Changes

  • Stable GC pagination

    • Order Loki records by blob name and $loki ID.
    • Order SQL records by blob name and blobId.
    • Encode both values in the internal continuation marker.
    • Retain compatibility with legacy name-only markers.
  • Regression coverage

    • Create 5,001 versions of one blob with distinct extent IDs.
    • Exercise store.iteratorExtents().
    • Assert every live extent is enumerated without deleting data.
  • Documentation

    • Document per-account configuration through --accountConfigFilePath and --accountConfigAsJson.
    • Clarify AZURITE_ACCOUNTS authentication requirements, supported behavior, and limitations.
    • Add an Upcoming Release changelog entry.

rorozcov and others added 3 commits August 13, 2026 16:11
Adding Blob Versioning Support to Azurite
…nto copilot/testblob-versioning-gc-regression-again

# Conflicts:
#	src/blob/BlobConfiguration.ts
#	src/blob/BlobEnvironment.ts
#	src/blob/BlobServer.ts
#	src/blob/BlobServerFactory.ts
#	src/blob/errors/StorageErrorFactory.ts
#	src/blob/handlers/BlobHandler.ts
#	src/blob/persistence/IBlobMetadataStore.ts
#	src/blob/persistence/LokiBlobMetadataStore.ts
#	src/blob/persistence/PageWithDelimiter.ts
#	src/blob/persistence/SqlBlobMetadataStore.ts
#	src/common/Environment.ts
#	src/common/VSCEnvironment.ts
#	src/common/VSCServerManagerBlob.ts

Co-authored-by: rorozcov <44987991+rorozcov@users.noreply.github.com>
Co-authored-by: rorozcov <44987991+rorozcov@users.noreply.github.com>
Co-authored-by: rorozcov <44987991+rorozcov@users.noreply.github.com>
@rorozcov
rorozcov marked this pull request as ready for review September 2, 2026 20:39
@rorozcov
rorozcov merged commit 9bd2897 into users/rorozcov/blobversioning Sep 2, 2026
31 of 44 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants