You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Streams: a request without StreamArn, ShardId or ShardIterator answers SerializationException; DynamoDB Streams answers ValidationException #757
DynamoDB Streams answers a request that lacks a required member with 400 ValidationException. ExtendDB answers it with 400 SerializationException, because the request does not deserialize into the input type.
Measured on Amazon DynamoDB Streams in us-east-1 on 2026-10-29 with raw signed requests, so no SDK check ran first. ExtendDB is main at 8099ff0 with the same requests:
Request
DynamoDB Streams
ExtendDB
DescribeStream with body {}
ValidationException: Invalid StreamArn
SerializationException: missing field `StreamArn`
GetShardIterator without ShardId
ValidationException: 1 validation error detected: Value at 'shardId' failed to satisfy constraint: Member must not be null
SerializationException: missing field `ShardIterator`
The service's type is com.amazon.coral.validate#ValidationException. ExtendDB's is com.amazon.coral.service#SerializationException.
Why it matters
SDKs surface the error code. A client or a test that expects ValidationException for a Streams request with a missing member gets SerializationException from ExtendDB, and a match on the service's message fails.
Proposed change
Make StreamArn, ShardId and ShardIterator optional in the Streams input types and refuse a missing value in the handler with the messages above. A StreamArn that is present but not a stream ARN is refused with Invalid StreamArn by open pull request #466, which also closes #450 and #451.
Activity