Due to batching an empty result does not imply there are no results left. Consider a table containing 100k items, a batch get is executed for 10k items. Of those 10k items about 50% do not exist. If a single batch request of 100 items (the DynamoDB limit) does not contain a result then no further results will be processed.
Added test to cover empty batch result in a batch_get operation. All keys should be processed rather than returning on first empty batch result.