Orleans Grain Persistence ETag Guidance
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 1/5
- Thời gian dự kiến
- 1-3 giờ
- Mức phù hợp với người mới
- 45/100
- Loại issue
- Tài liệu
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức độ hoạt động
- Đình trệ
- Lĩnh vực
- documentation
Hướng nghiên cứu
Bắt đầu tại docs/orleans/grains/grain-persistence/index.md và đọc phần xung quanh “Write state.” Thêm phần “ETag and Optimistic Concurrency” được yêu cầu cùng với cảnh báo và bảng hành vi, đồng thời giữ nguyên phần Document Details bắt buộc. Hoàn thành khi trang giải thích rõ hành vi của ETag và hướng dẫn được yêu cầu xuất hiện sau “Write state.”
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Describe the issue or suggestion
Page: Grain persistence
Add a new section titled "ETag and Optimistic Concurrency" after the "Write state" section, with a warning and do's/don'ts table:
Understanding ETag behavior is essential when working with grain persistence, especially in reentrant grains or when state may be modified externally. Mishandling ETags can lead to data loss or InconsistentStateException errors. Some providers leave this as null if they don't use Etags. This is why thorough testing of providers is required.
The ETag property provides optimistic concurrency control. When you call WriteStateAsync() or ClearStateAsync(), the storage provider compares the grain's current ETag with the value in storage. If they don't match (indicating another write occurred), the operation fails with an InconsistentStateException.
Behaviors:
ReadStateAsync(): Updates both State and ETag from storage
WriteStateAsync(): Fails if ETag doesn't match storage; updates ETag on success
ClearStateAsync(): Fails if ETag doesn't match storage; resets ETag to null on success
Setting ETag = null before write/clear operations bypasses version checking
Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.
- ID: 4a124b90-917f-0167-176b-f123193300d2
- Version Independent ID: 8b9bcb0f-4a4a-8beb-eef3-9992f63c2f23
- Platform ID: af443b67-9a4f-e58c-e82f-055d30008b23
- Content: Grain persistence - .NET
- Content Source: docs/orleans/grains/grain-persistence/index.md
- Service: dotnet-orleans
- GitHub Login: @meaghanlewis
- Microsoft Alias: mosagie
- Ngôn ngữ chính
- Không có dữ liệu ngôn ngữ
- Star
- 4.8k
- Fork
- 6.1k
- Merge trung bình
- 22 giờ 46 phút
- Pull request đã merge (30 ngày)
- 296
Chuẩn bị môi trường
Khởi chạy dev container của dự án ngay trên trình duyệt, bằng tài khoản GitHub của bạn.
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- 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.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của dotnet/docs
-
ExamenĐang mởdotnet-csharp/svc lang-reference/subsvc needs-more-info
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 66/100
dotnet/docs#56845 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Update the .NET Framework 3.5 on Windows 11 FAQ to mention Windows 11 26H2Có thể đã có người làm @BillWagner đã nhận 3 ngày trước. Đang mở:pushpin: seQUESTered dotnet/svc
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 78/100
dotnet/docs#56791 · 1 reaction · 2 người được giao ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 86/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Improve description of `limitations of extensions`Có thể đã có người làm @Manish-1kumar đã nhận 11 ngày trước. Đang mởadvanced-concepts/subsvc dotnet-csharp/svc
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 84/100
dotnet/docs#56626 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Document unit-test / theory-data impact of .NET 11 double→decimal conversionCó thể đã có người làm @SkyDevLab đã nhận 22 ngày trước. Đang mở:watch: Not Triaged dotnet-fundamentals/svc
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 88/100
Maintainer thường phản hồi trong vòng 1 ngày
Issue tương tự
-
README says the land/sea mask must match the XS grid; the demo mask does not, and Step 4 worksĐang mởdocumentation
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
buckai-observatory/Automated-Cloud-Removal-and-Seamless-Satellite-Image-Mosaicking-Pipeline#52 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
documentation
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 84/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 82/100
run-llama/llama_index#24163 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 82/100
btclib-org/btclib#3090 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Translate the READMEĐang mởdocumentation good first issue
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
asasemahmed/openboard#68 ·
Maintainer thường phản hồi trong vòng 1 ngày