ListStreams: an ExclusiveStartStreamArn that is not a stream ARN answers "Invalid stream ARN format", where DynamoDB answers Invalid StreamArn or a length fault
维护者通常 4 天内回复
还没有人认领这个 Issue。
评估
- 难度
- 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 小时
- 30 天内合并 PR
- 79
环境准备
- 提供 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 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
-
binding:python bug
难度 2/5 1-3 小时 新手友好度 82/100
维护者通常 1 天内回复
-
enhancement
难度 2/5 1-3 小时 新手友好度 78/100
coollabsio/orbit#72 ·
维护者通常 1 天内回复
-
Synth suite fails unless run from the repo root: signal_flow's default machine path is cwd-relative未关闭bug
难度 2/5 1-3 小时 新手友好度 80/100
Nimblesite/osprey#370 ·
维护者通常 1 天内回复
-
enhancement
难度 2/5 1-3 小时 新手友好度 70/100
-
bug order-flow studies ui
难度 2/5 1-3 小时 新手友好度 88/100
userFRM/egui-charts#2417 ·
维护者通常 1 天内回复