Shard Iterator Expires Unexpectedly
A shard is a uniquely identified sequence of data records in a stream.
A stream is composed of one or more shards, each of which provides a fixed unit of capacity.
A new shard iterator is returned by every GetRecords request (as
NextShardIterator
).You then use in the next GetRecords request (as
ShardIterator
).
Typically, this shard iterator does not expire before you use it.
However, you may find that shard iterators expire because you have not called GetRecords for more than 5 minutes, or because you've performed a restart of your consumer application.
If the shard iterator expires immediately, before you can use it, this might indicate that the DynamoDB table used by Kinesis does not have enough capacity to store the lease data.
This situation is more likely to happen if you have a large number of shards.
To solve this problem, increase the write capacity assigned to the shard table.
Last updated
Was this helpful?