InMemoryAccountInfo is not threadsafe

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

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
Loại issue
Lỗi
Độ rõ ràng
Cần làm rõ
Mức độ hoạt động
Đình trệ
Công nghệ
python
Lĩnh vực
api, cloud

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ả

bug help wanted

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

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 Backblaze/b2-sdk-python

Tất cả issue của Backblaze/b2-sdk-python

Issue tương tự

Thêm issue về Python

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.