ListStreams: an ExclusiveStartStreamArn that is not a stream ARN answers "Invalid stream ARN format", where DynamoDB answers Invalid StreamArn or a length fault

Đang mở Phù hợp với người mới
#906 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 4 ngày

Chưa có ai nhận issue nà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
76/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ệ
postgresql, rust, sqlite
Lĩnh vực
api, backend, databases

Hướng nghiên cứu

Bắt đầu với parse_stream_arn trong crates/storage/src/util/arn.rs và theo dõi cách ListStreams xác thực ExclusiveStartStreamArn. So sánh các lỗi hiện có với số liệu đo của DynamoDB trong issue; thêm hoặc tìm các kiểm thử cho những dạng ARN không hợp lệ và các giá trị ngắn hơn 37 ký tự. Công việc hoàn tất khi cả hai trường hợp đều trả về các lỗi xác thực tương thích với DynamoDB đã nêu.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

bug

What ExtendDB does

parse_stream_arn in crates/storage/src/util/arn.rs refuses a start ARN it cannot read with Invalid stream ARN format: <value>. ListStreams gives that sentence for a table ARN and for a value of fewer than 37 characters.

Measured at 9234b54ac of #830 on 2026-11-07, SQLite and PostgreSQL, on the caller's account:

ExclusiveStartStreamArn ExtendDB
arn:aws:dynamodb:us-east-1:123456789012:table/pq830-probe ValidationException: Invalid stream ARN format: arn:aws:dynamodb:us-east-1:123456789012:table/pq830-probe
the same table ARN with U+0000 in the table segment Invalid stream ARN format: <value>
xyz Invalid stream ARN format: xyz
x<U+0000>y Invalid stream ARN format: x<U+0000>y

What DynamoDB does

Measured in us-east-1 on 2026-11-06, with SDK parameter validation off:

ExclusiveStartStreamArn DynamoDB
a table ARN of the caller's account, with or without U+0000 in the table segment ValidationException: Invalid StreamArn
xyz and x<U+0000>y ValidationException: 1 validation error detected: Value at 'exclusiveStartStreamArn' failed to satisfy constraint: Member must have length greater than or equal to 37

Suggested fix

Answer Invalid StreamArn for a start ARN that is not a stream ARN, and check the minimum length of 37 characters before the shape. The maximum length, and the order of these checks against Limit, were not measured.

Related: #621, #830.

Ngôn ngữ chính
Rust
Star
517
Fork
60
Merge trung bình
5 ngày 3 giờ
Pull request đã merge (30 ngày)
79

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.