InMemoryAccountInfo is not threadsafe
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ó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 18/100
Hướng nghiên cứu
The traceback points to b2sdk/account_info/in_memory.py, where the decorator raises MissingAccountData when a getter such as get_allowed runs before its value is stored, and to check_bucket_restrictions in b2sdk/api.py, which calls it. Start by working out which code path can reach get_allowed with an empty in-memory cache, then decide whether the fix is to populate the value or to fail more clearly. Done means the scenario no longer raises unexpectedly or has a documented, tested error path. The title mentions thread safety but the body does not show a race, so confirm that first.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Hi,
My application has thrown this exception and the cause or mitigation is unclear. This did not occur at application startup. Nothing has changed with regards to access for that key.
I have used the InMemoryAccountInfo class, so my guess is that this is the result of a stale entry?
But am unsure how to diagnose. The documentation is sparse on this respect.
Any insight on what this could mean is appreciated :-)
MissingAccountData: Missing account data: allowed (3 additional frame(s) were not displayed) ... File "django_backblaze_b2/storage.py", line 74, in _getOrCreateBucket self._bucket = self.b2Api.get_bucket_by_name(self._bucketName) File "b2sdk/api.py", line 251, in get_bucket_by_name self.check_bucket_restrictions(bucket_name) File "logfury/v0_1/trace_call.py", line 84, in wrapper return function(*wrapee_args, **wrapee_kwargs) File "b2sdk/api.py", line 445, in check_bucket_restrictions allowed = self.account_info.get_allowed() File "b2sdk/account_info/in_memory.py", line 28, in inner raise MissingAccountData(function.__name__[4:])
- Ngôn ngữ chính
- Python
- Star
- 214
- Fork
- 68
- Merge trung bình
- 51 phút
- Pull request đã merge (30 ngày)
- 6
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Không 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 Backblaze/b2-sdk-python
-
Download and copy sync actions print remote file names without escape_control_charsCó thể đã có người làm @dreyfus92 đã nhận 15 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Backblaze/b2-sdk-python#631 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
SqliteAccountInfo profile name validation uses "re.match", so only the first character is checkedCó thể đã có người làm @nazarli-shabnam đã nhận 9 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
Backblaze/b2-sdk-python#629 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Adopt the AI-native SDLC and repository policiesCó thể đã có người làm @goanpeca đã nhận 18 ngày trước. Đang mởenhancement
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 20/100
Backblaze/b2-sdk-python#634 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 50/100
Backblaze/b2-sdk-python#630 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
ci: cli-compat fails — 4 sse/sync integration tests broken in B2_Command_Line_Tool (all environments)Có thể làm lại được @ffumero2003 đã nhận 37 ngày trước và không có pull request nào đang mở. Đang mởbug testing
Backblaze/b2-sdk-python#627 · 2 bình luận · 1 người được giao ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của Backblaze/b2-sdk-python
Issue tương tự
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 72/100
btclib-org/btclib-node#2505 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
open-webui/open-webui#34462 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
gorakhargosh/watchdog#1462 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 85/100
openwisp/openwisp-monitoring#889 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
IETF-Hackathon/pqc-certificates#351 ·
Maintainer thường phản hồi trong vòng 2 ngày