MissingHeaderBodySeparatorDefect when uploading items to OSS
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
- 25/100
Hướng nghiên cứu
Bắt đầu từ lệnh gọi put_object được báo cáo và các điểm đầu vào của traceback trong oci/_vendor/urllib3/connectionpool.py và oci/_vendor/urllib3/util/response.py. Tái hiện lỗi khi tải lên OSS nhiều lần, xác định tại sao response kích hoạt MissingHeaderBodySeparatorDefect và bị treo bên ngoài try/except được hiển thị, sau đó xác minh rằng lỗi luôn được đưa ra một cách đáng tin cậy mà không làm gián đoạn các lần tải lên thành công.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
When uploading files to OSS, I randomly (~1000 items in) experience this error after I run
with open(file_path, 'rb') as f:
obj_data = f.read()
try:
response = oci_client.put_object(
OSS_NAMESPACE,
OSS_BUCKET_NAME,
oss_object_name, # object name
obj_data, # object body (bytes)
)
if response.status != 200:
msg = f'WARNING: {oss_object_name} upload resulted in status {response.status}. {response.data}'
logging.log(logging.WARN, msg)
print(msg)
else:
msg = f'SUCCESS! {oss_object_name} uploaded'
logging.log(logging.INFO, msg)
print(msg)
except oci.exceptions.ServiceError as e:
# Handling OCI specific exceptions
msg = f'ERROR: {oss_object_name} upload failed with ServiceError. {e.status} {e.message}'
logging.error(msg)
print(msg)
except Exception as e:
msg = f'ERROR: {oss_object_name} upload failed. {e}'
logging.log(logging.ERROR, msg)
print(msg)
Here's the traceback:
2024-02-19 20:09:39,991:WARNING:Failed to parse headers (url=https://objectstorage.ap-osaka-1.oraclecloud.com:443/n/ax2tjlcefnht/b/laion2B-en-aesthetic/o/000000401/000000401.txt): [MissingHeaderBodySeparatorDefect()], unparsed data: 'HTTP/1.1 200 OK\r\netag: 07f8f92b-fd96-49ec-b9db-1b927e144116\r\nlast-modified: Mon, 19 Feb 2024 20:09:39 GMT\r\nopc-content-md5: tMGI50PK84P9//D2pQ8evQ==\r\nversion-id: 04303300-a3ec-4fdb-a2eb-58cd65effb06\r\nContent-Length: 0\r\ndate: Mon, 19 Feb 2024 20:09:39 GMT\r\nopc-request-id: kix-1:BaX2PWrWLWStJYPKMWmC_TRLmcJaINqwJQey95jbJrG80yzz4rVgEBGGUeet-gvk\r\nx-api-id: native\r\nx-content-type-options: nosniff\r\nstrict-transport-security: max-age=31536000; includeSubDomains\r\naccess-control-allow-origin: *\r\naccess-control-allow-methods: POST,PUT,GET,HEAD,DELETE,OPTIONS\r\naccess-control-allow-credentials: true\r\naccess-control-expose-headers: access-control-allow-credentials,access-control-allow-methods,access-control-allow-origin,content-length,date,etag,last-modified,opc-client-info,opc-content-md5,opc-request-id,strict-transport-security,version-id,x-api-id,x-content-type-options\r\n\r\n'
Traceback (most recent call last):
File "/home/Mindy/.cache/pypoetry/virtualenvs/t2i-adapter-3QVI5i9t-py3.10/lib/python3.10/site-packages/oci/_vendor/urllib3/connectionpool.py", line 474, in _make_request
assert_header_parsing(httplib_response.msg)
File "/home/Mindy/.cache/pypoetry/virtualenvs/t2i-adapter-3QVI5i9t-py3.10/lib/python3.10/site-packages/oci/_vendor/urllib3/util/response.py", line 96, in assert_header_parsing
raise HeaderParsingError(defects=defects, unparsed_data=unparsed_data)
oci._vendor.urllib3.exceptions.HeaderParsingError: [MissingHeaderBodySeparatorDefect()], unparsed data: 'HTTP/1.1 200 OK\r\netag: 07f8f92b-fd96-49ec-b9db-1b927e144116\r\nlast-modified: Mon, 19 Feb 2024 20:09:39 GMT\r\nopc-content-md5: tMGI50PK84P9//D2pQ8evQ==\r\nversion-id: 04303300-a3ec-4fdb-a2eb-58cd65effb06\r\nContent-Length: 0\r\ndate: Mon, 19 Feb 2024 20:09:39 GMT\r\nopc-request-id: kix-1:BaX2PWrWLWStJYPKMWmC_TRLmcJaINqwJQey95jbJrG80yzz4rVgEBGGUeet-gvk\r\nx-api-id: native\r\nx-content-type-options: nosniff\r\nstrict-transport-security: max-age=31536000; includeSubDomains\r\naccess-control-allow-origin: *\r\naccess-control-allow-methods: POST,PUT,GET,HEAD,DELETE,OPTIONS\r\naccess-control-allow-credentials: true\r\naccess-control-expose-headers: access-control-allow-credentials,access-control-allow-methods,access-control-allow-origin,content-length,date,etag,last-modified,opc-client-info,opc-content-md5,opc-request-id,strict-transport-security,version-id,x-api-id,x-content-type-options\r\n\r\n'
Even after adding try...except, I can't catch the exception and my code hangs. put_object worked fine for me two weeks ago when I uploaded hundreds of thousands of items.
- Ngôn ngữ chính
- Python
- Star
- 473
- Fork
- 322
- Merge trung bình
- 13 phút
- Pull request đã merge (30 ngày)
- 4
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 oracle/oci-python-sdk
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 48/100
oracle/oci-python-sdk#890 · 3 bình luận ·
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 45/100
oracle/oci-python-sdk#879 · 3 bình luận ·
-
Example uses non-existent APICó thể đã có người làm @reginaldalfret đã nhận 11 ngày trước. Đang mở
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 66/100
oracle/oci-python-sdk#878 ·
-
SDK
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 55/100
oracle/oci-python-sdk#861 · 5 bình luận ·
-
SDK
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 48/100
oracle/oci-python-sdk#852 ·
Tất cả issue của oracle/oci-python-sdk
Issue tương tự
-
docs: the dev-setup table and AGENTS.md name the reviewed_by guard that CI's Changelog job runsĐang mởarea: tools documentation good first issue ready for a contributor
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
eyalgolan/statecraft-israel#873 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Add cover art to song rowsĐang mởenhancement
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Maintainer thường phản hồi trong vòng 5 ngày
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Maintainer thường phản hồi trong vòng 1 ngày
-
bug good first issue
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 85/100
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
Maintainer thường phản hồi trong vòng 1 ngày