Clone and Rehydrate may overwrite blobs when destination checks fail

Đang mở
#9,233 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
22/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
azure
Lĩnh vực
cloud, desktop-dev

Hướng nghiên cứu

Start in the Clone and Rehydrate flow, tracing how the destination-blob existence checks, the container check and the subsequent copy are sequenced, and how a failed blob check is interpreted as a missing destination. The payload names no specific files or tests, so locate them from those function names. Done means a reproduction with injected check failures, plus either a blocked Apply or an explicit overwrite confirmation, and the maintainers have agreed on the intended behaviour.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

Summary

Source inspection identified a potential data-loss risk in Clone and Rehydrate. If the destination-existence checks both fail, the operation may treat an existing blob as absent and overwrite it. This has not been reproduced, and no data loss has been verified.

Conditions to investigate
  • The destination container exists and its initial container check succeeds.
  • A blob with the selected destination name already exists.
  • Both the destination-blob property check and the listing check fail, for example because of transient errors or permissions that allow the container check and copy but prevent blob reads and listing.
  • A subsequent copy request succeeds.
Proposed reproduction (not yet run)

Use disposable test data, not a production account.

  1. Create an archived source blob and an existing destination blob.
  2. Arrange for both destination-blob existence checks to fail while allowing the initial container check and the subsequent copy to succeed. The exact permission configuration or failure injection still needs to be established.
  3. Open Clone and Rehydrate, enter the existing destination name, and observe whether Apply is enabled and whether the existing blob is overwritten.
Expected experience

If the destination cannot be checked, the operation should report the failure and avoid silently overwriting an existing blob.

Actual experience

Not observed. Source inspection suggests that failures of both blob-existence checks can be treated as a missing destination, enabling Apply, and that the subsequent copy has no overwrite condition or separate confirmation. In contrast, a failed container-existence check prevents Apply, although its message may say the container does not exist.

Environment and related report

Storage Explorer version, build, operating system, architecture, authentication method, and an exact reproducing permission setup have not been verified. A previous same-name warning report is closed; it did not describe failures of both existence checks.

Ngôn ngữ chính
Không có dữ liệu ngôn ngữ
Star
458
Fork
92
Merge trung bình
17 giờ 57 phút
Pull request đã merge (30 ngày)
4

Chuẩn bị môi trường

Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của microsoft/AzureStorageExplorer

Tất cả issue của microsoft/AzureStorageExplorer

Issue tương tự

Thêm issue về Cloud

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.