Use `queryPaginator` when loading messages

This commit is contained in:
Chris Eager 2021-09-14 15:51:42 -07:00 committed by Jon Chambers
parent 53aa45a2bb
commit cd49ea43c0
1 changed files with 6 additions and 1 deletions

View File

@ -129,8 +129,13 @@ public class MessagesDynamoDb extends AbstractDynamoDbStore {
.limit(numberOfMessagesToFetch)
.build();
List<OutgoingMessageEntity> messageEntities = new ArrayList<>(numberOfMessagesToFetch);
for (Map<String, AttributeValue> message : db().query(queryRequest).items()) {
for (Map<String, AttributeValue> message : db().queryPaginator(queryRequest).items()) {
messageEntities.add(convertItemToOutgoingMessageEntity(message));
if (messageEntities.size() == numberOfMessagesToFetch) {
// queryPaginator() uses limit() as the page size, not as an absolute limit
// but a page might be smaller than limit, because a page is capped at 1 MB
break;
}
}
return messageEntities;
});