Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] Failed to use AzurePageBlob.UploadPagesFromUriAsync with data from managed disk incremental snapshot #23031

Closed
Yutolivo opened this issue Aug 1, 2021 · 8 comments
Assignees
Labels
bug This issue requires a change to an existing behavior in the product in order to be resolved. Client This issue points to a problem in the data-plane of the library. customer-reported Issues that are reported by GitHub users external to the Azure organization. needs-team-attention Workflow: This issue needs attention from Azure service team or SDK team Service Attention Workflow: This issue is responsible by Azure service team. Storage Storage Service (Queues, Blobs, Files)
Milestone

Comments

@Yutolivo
Copy link

Yutolivo commented Aug 1, 2021

Describe the bug
Use API AzurePageBlob.UploadPagesFromUriAsync to upload a page into target page blob while the source Uri is the SAS Uri from a incremental managed disk snapshot.

Expected behavior
Upload pages successfully.

Actual behavior (include Exception or Stack Trace)
Source blob of a copy operation cannot be non-snapshot incremental copy blob.
RequestId:04d2b21f-201e-00c3-1eb7-865f83000000
Time:2021-08-01T09:24:52.9391333Z
Status: 409 (Source blob of a copy operation cannot be non-snapshot incremental copy blob.)
ErrorCode: CopySourceCannotBeIncrementalCopyBlob

Content:

CopySourceCannotBeIncrementalCopyBlobSource blob of a copy operation cannot be non-snapshot incremental copy blob.
RequestId:04d2b21f-201e-00c3-1eb7-865f83000000
Time:2021-08-01T09:24:52.9391333Z

Headers:
Server: Windows-Azure-Blob/1.0,Microsoft-HTTPAPI/2.0
x-ms-error-code: CopySourceCannotBeIncrementalCopyBlob
x-ms-request-id: 04d2b21f-201e-00c3-1eb7-865f83000000
x-ms-version: 2020-08-04
x-ms-client-request-id: 560c07cb-5c97-4667-9636-e2af49757d34
Date: Sun, 01 Aug 2021 09:24:52 GMT
Content-Length: 284
Content-Type: application/xml

To Reproduce

  1. Create a managed disk incremental snapshot.
  2. Generate SAS uri with read permission for the snapshot.
  3. Initialize a source page blob with SAS uri
  4. Initialize a target page blob.
  5. Get pages info from source page blob
  6. Upload the pages with invoking the API AzurePageBlob.UploadPagesFromUriAsync
  7. You can use the sample code to reproduce the issue https://github.com/Azure-Samples/managed-disks-dotnet-backup-with-incremental-snapshots.
  8. Important!!!!! The API can be invoked with no errors with Azure.Storage.Blobs 12.4.1, when update the package to Azure.Storage.Blobs 12.9.1, the error occurred.

Environment:

  • Azure.Storage.Blobs 12.9.1
  • Windows 10 .NET Framework 5.0.300
  • Visual Studio Community 2019 16.10.31321.278
@ghost ghost added needs-triage Workflow: This is a new issue that needs to be triaged to the appropriate team. customer-reported Issues that are reported by GitHub users external to the Azure organization. question The issue doesn't require a change to the product in order to be resolved. Most issues start as that labels Aug 1, 2021
@jsquire jsquire added Client This issue points to a problem in the data-plane of the library. needs-team-attention Workflow: This issue needs attention from Azure service team or SDK team Service Attention Workflow: This issue is responsible by Azure service team. Storage Storage Service (Queues, Blobs, Files) labels Aug 1, 2021
@ghost ghost removed the needs-triage Workflow: This is a new issue that needs to be triaged to the appropriate team. label Aug 1, 2021
@ghost
Copy link

ghost commented Aug 1, 2021

Thanks for the feedback! We are routing this to the appropriate team for follow-up. cc @xgithubtriage.

Issue Details

Describe the bug
Use API AzurePageBlob.UploadPagesFromUriAsync to upload a page into target page blob while the source Uri is the SAS Uri from a incremental managed disk snapshot.

Expected behavior
Upload pages successfully.

Actual behavior (include Exception or Stack Trace)
Source blob of a copy operation cannot be non-snapshot incremental copy blob.
RequestId:04d2b21f-201e-00c3-1eb7-865f83000000
Time:2021-08-01T09:24:52.9391333Z
Status: 409 (Source blob of a copy operation cannot be non-snapshot incremental copy blob.)
ErrorCode: CopySourceCannotBeIncrementalCopyBlob

Content:

CopySourceCannotBeIncrementalCopyBlobSource blob of a copy operation cannot be non-snapshot incremental copy blob.
RequestId:04d2b21f-201e-00c3-1eb7-865f83000000
Time:2021-08-01T09:24:52.9391333Z

Headers:
Server: Windows-Azure-Blob/1.0,Microsoft-HTTPAPI/2.0
x-ms-error-code: CopySourceCannotBeIncrementalCopyBlob
x-ms-request-id: 04d2b21f-201e-00c3-1eb7-865f83000000
x-ms-version: 2020-08-04
x-ms-client-request-id: 560c07cb-5c97-4667-9636-e2af49757d34
Date: Sun, 01 Aug 2021 09:24:52 GMT
Content-Length: 284
Content-Type: application/xml

To Reproduce

  1. Create a managed disk incremental snapshot.
  2. Generate SAS uri with read permission for the snapshot.
  3. Initialize a source page blob with SAS uri
  4. Initialize a target page blob.
  5. Get pages info from source page blob
  6. Upload the pages with invoking the API AzurePageBlob.UploadPagesFromUriAsync
  7. You can use the sample code to reproduce the issue https://github.com/Azure-Samples/managed-disks-dotnet-backup-with-incremental-snapshots.
  8. Important!!!!! The API can be invoked with no errors with Azure.Storage.Blobs 12.4.1, when update the package to Azure.Storage.Blobs 12.9.1, the error occurred.

Environment:

  • Azure.Storage.Blobs 12.9.1
  • Windows 10 .NET Framework 5.0.300
  • Visual Studio Community 2019 16.10.31321.278
Author: Yutolivo
Assignees: -
Labels:

Client, Service Attention, Storage, customer-reported, needs-team-attention, needs-triage, question

Milestone: -

@Yutolivo
Copy link
Author

Yutolivo commented Aug 2, 2021

I tested with Azure.Storage.Blobs 120.10.0-beta.2, still got the error.

@amishra-dev
Copy link
Contributor

@kasobol-msft can you take a quick look at this tomorrow.

@kasobol-msft kasobol-msft self-assigned this Aug 2, 2021
@kasobol-msft
Copy link
Contributor

@Yutolivo Thank you for reporting. I was able to reproduce this problem using the sample.
The problem seems to be introduced on the service side starting with version 2020-06-12 of the REST API.

While this is investigated further the workaround is to downgrade service version used by PageBlobClient when calling UploadPagesFromUriAsync API. Example below:
image

@Yutolivo
Copy link
Author

Yutolivo commented Aug 3, 2021

Many thanks to the team! I can copy the page ranges with the workaround. But may I know if this issue will be fixed in the further version of Azure.Storage.Blobs and how can I be informed.

@kasobol-msft
Copy link
Contributor

@Yutolivo Yes, we'll be working on the fix and will post update here when this is addressed.

@amishra-dev amishra-dev added bug This issue requires a change to an existing behavior in the product in order to be resolved. and removed question The issue doesn't require a change to the product in order to be resolved. Most issues start as that labels Sep 3, 2021
@jsquire jsquire added this to the Backlog milestone Sep 7, 2021
@amishra-dev
Copy link
Contributor

The service fix is still rolling out. I am trying to get an ETA for it.

@amishra-dev
Copy link
Contributor

The service fix has rolled out for this.

azure-sdk pushed a commit to azure-sdk/azure-sdk-for-net that referenced this issue Mar 13, 2023
@github-actions github-actions bot locked and limited conversation to collaborators Mar 27, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug This issue requires a change to an existing behavior in the product in order to be resolved. Client This issue points to a problem in the data-plane of the library. customer-reported Issues that are reported by GitHub users external to the Azure organization. needs-team-attention Workflow: This issue needs attention from Azure service team or SDK team Service Attention Workflow: This issue is responsible by Azure service team. Storage Storage Service (Queues, Blobs, Files)
Projects
None yet
Development

No branches or pull requests

5 participants