Running backups and exports report completed_at as year 1 instead of None
Maintainer thường phản hồi trong vòng 1 ngày
Đánh giá
- Độ khó
- 2/5
- Thời gian dự kiến
- 1-3 giờ
- Mức phù hợp với người mới
- 30/100
Hướng nghiên cứu
Start by reading the backup list and export status response parsing used by client.backup.list_backups(...) and client.export.get_status(...). Reproduce with an operation that is still running and inspect how each completedAt value becomes completed_at. Done means both fields are None until completion; pull request #2217 is already open, so check its status before starting.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
While a backup or export is still running, Weaviate returns completedAt as Go's zero time, 0001-01-01T00:00:00.000Z. The client parses that value directly, so completed_at is datetime(1, 1, 1, tzinfo=UTC) instead of None:
client.backup.list_backups(...):BackupListReturn.completed_atclient.export.get_status(...):ExportStatusReturn.completed_at
Both fields are Optional[datetime] and default to None, so completed_at is None looks like the natural way to detect an unfinished operation, but it never matches.
Reproduction
Weaviate 1.40.0 with ENABLE_MODULES=backup-filesystem and EXPORT_ENABLED=true, client from main:
import weaviate
from weaviate.backup.backup import BackupStorage
from weaviate.export.export import ExportFileFormat
c = weaviate.connect_to_local()
# a collection with ~20k objects, so neither operation finishes instantly
c.backup.create(backup_id="bk2", backend=BackupStorage.FILESYSTEM)
for b in c.backup.list_backups(backend=BackupStorage.FILESYSTEM):
print(b.status.value, repr(b.completed_at))
c.export.create(export_id="exp2", backend=BackupStorage.FILESYSTEM, file_format=ExportFileFormat.PARQUET)
s = c.export.get_status(export_id="exp2", backend=BackupStorage.FILESYSTEM)
print(s.status.value, repr(s.completed_at))
Output:
STARTED datetime.datetime(1, 1, 1, 0, 0, tzinfo=TzInfo(0))
TRANSFERRING datetime.datetime(1, 1, 1, 0, 0, tzinfo=TzInfo(0))
Raw GET /v1/export/filesystem/exp1 while running:
{"backend":"filesystem","classes":["Article"],"completedAt":"0001-01-01T00:00:00.000Z","id":"exp1","path":"/tmp/exports/exp1","shardStatus":{"Article":{"TsBLZBMHUJSh":{"status":"TRANSFERRING"}}},"startedAt":"2026-10-21T06:50:47.995Z","status":"TRANSFERRING"}
Expected
completed_at is None until the operation completes.
Cause
The server models declare CompletedAt strfmt.DateTime with json:"completedAt,omitempty". omitempty does not omit struct values, so an unset timestamp is serialized as the zero time instead of being left out.
- Ngôn ngữ chính
- Python
- Star
- 228
- Fork
- 167
- Merge trung bình
- 2 ngày 22 giờ
- Pull request đã merge (30 ngày)
- 20
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 weaviate/weaviate-python-client
-
Batch: re-added rate-limited objects stay in results.objs.all_responses as errorsCó thể đã có người làm @inchang-ing đã nhận 26 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
weaviate/weaviate-python-client#2179 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
insert_many silently discards vectors if they're NumPy arraysCó thể đã có người làm @tibor-reiss đã nhận 832 ngày trước. Đang mởbug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
weaviate/weaviate-python-client#1002 · 5 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
error when client connectCó thể đã có người làm @dudanogueira đã nhận 6 ngày trước. Đang mở
Độ khó 4/5 1-2 ngày Mức phù hợp với người mới 45/100
weaviate/weaviate-python-client#2220 · 3 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Client-side batching: wholesale chunk failures are reported under chunk-local indices, so errors collide and describe the wrong objectsCó thể đã có người làm @feiiiiii5 đã nhận 40 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 15/100
weaviate/weaviate-python-client#2165 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[HTTPXodus] Consider migrating from httpx to httpx2 (the actively maintained fork)Có thể đã có người làm @SiAgentBuild đã nhận 54 ngày trước. Đang mở
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 30/100
weaviate/weaviate-python-client#2154 ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của weaviate/weaviate-python-client
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
btclib-org/btclib-ecc#404 ·
-
changelog investigate
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 78/100
ramnes/notion-sdk-py#430 ·
-
bug good first issue
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 91/100
hyeonjoong/debussy#56 ·
-
README устарел: статус проекта, версия 0.1.0 при описании тега v0.1.1, семантика фолбэка поискаĐang mởdocumentation
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
Lagrunge82/yandex-mail-mcp#43 ·
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 78/100
liberation-data/drivine-python#252 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày