Azure / Azure/Azurite

Azurite doesn't support get page ranges that differ between a specified snapshot and this page blob

Open
#812 1 comment 0 reactions 1 assignee Claimed by @blueww View on GitHub
blob-storage featureparity
Dominant language
TypeScript
Stars
2.3k
Forks
393
Avg merge
1d 20h
Merged PRs (30d)
36

Description

**Error Description:**
Azurite doesn't support get page ranges that differ between a specified snapshot and this page blob.

**To Reproduce:**
Please run the demo code as following:
```Typescript
import { BlobServiceClient, StorageSharedKeyCredential } from "@azure/storage-blob";
import { assert } from "chai";

async function main() {
const blobServiceClient = new BlobServiceClient("", new StorageSharedKeyCredential("", ""));
const containerClient = blobServiceClient.getContainerClient("");
await containerClient.create();
const pageBlobClient = containerClient.getPageBlobClient("");
await pageBlobClient.create(1024);
await pageBlobClient.uploadPages("b".repeat(1024), 0, 1024);
const snapshotResult = await pageBlobClient.createSnapshot();
await pageBlobClient.uploadPages("a".repeat(512), 0, 512);
await pageBlobClient.clearPages(512, 512);
await pageBlobClient.getPageRangesDiff(0, 1024, snapshotResult.snapshot!);
}

main().catch((err) => {
assert.ok((err as any).code === "APINotImplemented");
});
```

**Error Track:**
[https://github.com/Azure/Azurite/blob/master/src/blob/handlers/PageBlobHandler.ts#L402](https://github.com/Azure/Azurite/blob/master/src/blob/handlers/PageBlobHandler.ts#L402)
![image](https://user-images.githubusercontent.com/20970631/120990222-e7ae5480-c7b2-11eb-9480-025311d84a77.png)
Api `getPageRangesDiff` is not implemented in Azurite.

**Expected Behavior:**
Azurite supports get page ranges that differ between a specified snapshot and this page blob.

@jongio for notification.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.