Unknown AttributeValue type descriptor answers SerializationException where the service answers ValidationException
Maintainer thường phản hồi trong vòng 2 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức phù hợp với người mới
- 70/100
Hướng nghiên cứu
Start in crates/core/src/types/attribute_value.rs, where the issue says unknown AttributeValue descriptors are mapped to a serde error. Read how that error becomes a server response and how validation failures are represented; the issue gives no test file, so locate the relevant deserializer and operation tests. Done when unknown descriptors return the stated ValidationException and message, while malformed JSON still returns SerializationException.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
An item attribute whose value object carries a type descriptor DynamoDB does not define, for example {"pk": {"S": "a"}, "x": {"X": 1}}, is refused by the service with 400 ValidationException and the message Supplied AttributeValue is empty, must contain exactly one of the supported datatypes. On UpdateItem the message is wrapped: ExpressionAttributeValues contains invalid value: Supplied AttributeValue is empty, must contain exactly one of the supported datatypes for key :v. Measured on 2026-10-28 in us-east-1 on PutItem, UpdateItem, TransactWriteItems and BatchWriteItem, with the unknown descriptor at the top level of a value and nested inside an L and an M, two repetitions each; the answer was the same in every cell.
ExtendDB at abf8082f answers 400 SerializationException with Start of structure or map found where not expected: unknown AttributeValue type descriptor: X on all four operations, top-level and nested (SQLite server, two repetitions). The status matches; the error code and the message do not. A client that branches on the code (retrying SerializationException as a transport-shaped failure, surfacing ValidationException as a caller error) sees a different class of failure.
Where: the AttributeValue deserializer in crates/core/src/types/attribute_value.rs maps the unknown-descriptor arm to a serde error, which the server reports as SerializationException. The fix is to classify the unknown descriptor as a validation failure with the service's message, keeping SerializationException for malformed JSON.
- Ngôn ngữ chính
- Rust
- Star
- 517
- Fork
- 60
- Merge trung bình
- 2 ngày 22 giờ
- Pull request đã merge (30 ngày)
- 25
Chuẩn bị môi trường
- Có Dockerfile hoặc 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 ExtendDB/extenddb
-
Độ 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 2 ngày
-
backend:mongodb bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 77/100
Maintainer thường phản hồi trong vòng 2 ngày
-
backend:cassandra bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
Maintainer thường phản hồi trong vòng 2 ngày
-
documentation
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
Maintainer thường phản hồi trong vòng 2 ngày
-
backend:cassandra bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
Maintainer thường phản hồi trong vòng 2 ngày
Tất cả issue của ExtendDB/extenddb
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
BurntSushi/jiff#668 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
router-for-me/EasyCLIProxyAPI#534 ·
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 74/100
astral-sh/astral-codec#244 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
ready-for-agent
Độ 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 dependencies kind:fix priority: P3 ready-for-agent
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
shep-pm/shep#1318 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày