Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Unknown AttributeValue type descriptor answers SerializationException where the service answers ValidationException

Đang mở
#629 0 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 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
Loại issue
Lỗi
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
rust, sqlite
Lĩnh vực
backend, databases

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

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 ExtendDB/extenddb

Tất cả issue của ExtendDB/extenddb

Issue tương tự

Thêm issue về Rust

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.