ListStreams: an ExclusiveStartStreamArn that is not a stream ARN answers "Invalid stream ARN format", where DynamoDB answers Invalid StreamArn or a length fault
メンテナーはふだん 4 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 76/100
調査の方向性
crates/storage/src/util/arn.rs の parse_stream_arn から始め、ListStreams が ExclusiveStartStreamArn をどのように検証するかを追ってください。既存のエラーを issue の DynamoDB の測定結果と比較し、不正な ARN 形式と 37 文字未満の値を対象とするテストを追加するか、既存のテストを見つけてください。両方のケースで、指定された DynamoDB 互換の検証エラーが返されれば完了です。
索引モデルが issue の本文から書いたものです。
説明
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.
- 主要言語
- Rust
- スター
- 517
- フォーク
- 60
- 平均マージ
- 5日 3時間
- マージ済み PR(30日)
- 79
環境構築
- Dockerfile または Docker Compose ファイルあり
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
ExtendDB/extenddb のほかの issue
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
メンテナーはふだん 4 日以内に返信
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
メンテナーはふだん 4 日以内に返信
-
tests: two race tests share one boto3 client across threads and failed with TLSV1_ALERT_DECODE_ERRORオープンci:stability
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
メンテナーはふだん 4 日以内に返信
-
documentation
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
メンテナーはふだん 4 日以内に返信
-
storage-sqlite: a restore slot test checks the slot before the copy frees it対応中かも @Dodothereal が今日担当しました。 オープンci:stability sqlite
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
メンテナーはふだん 4 日以内に返信
ExtendDB/extenddb の issue をすべて見る
似ている issue
-
enhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
-
bug order-flow studies ui
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
userFRM/egui-charts#2417 ·
メンテナーはふだん 1 日以内に返信
-
In a plain-text message, Font, Font Size, Font Color and Text Highlight Color stay live対応中かも @ragelfundionctrumnar が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
UCS-Care-Group/mailcraft#862 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
smoltcp-rs/smoltcp#1243 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信