bugfix: Consume all result pages in DynamoDbLogicalDb.batchLoad #176
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This fixes a somewhat subtle bug I realized
tempest2
has.From the enhanced client docs (emphasis mine):
Tempest currently only gets the first page of results.
From the BatchGetItem docs, the reasons that partial results can be returned are:
The end result is that tempest silently drops some results from
batchLoad
when these conditions occur because it only consumes the first page of the iterator.This might also happen in
DynamoDbQueryable
andDynamoDbScannable
as they also only consume the first page of the iterator - I haven't done enough digging there to confirm.Seemingly this isn't the case with
tempest
, as the mapper it uses handlesunprocessedKeys
under the hood