Use `queryPaginator` when deleting messages

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

View File

@ -160,7 +160,7 @@ public class MessagesDynamoDb extends AbstractDynamoDbStore {
@Nonnull
private Optional<OutgoingMessageEntity> deleteItemsMatchingQueryAndReturnFirstOneActuallyDeleted(AttributeValue partitionKey, QueryRequest queryRequest) {
Optional<OutgoingMessageEntity> result = Optional.empty();
for (Map<String, AttributeValue> item : db().query(queryRequest).items()) {
for (Map<String, AttributeValue> item : db().queryPaginator(queryRequest).items()) {
final byte[] rangeKeyValue = item.get(KEY_SORT).b().asByteArray();
DeleteItemRequest.Builder deleteItemRequest = DeleteItemRequest.builder()
.tableName(tableName)
@ -225,7 +225,7 @@ public class MessagesDynamoDb extends AbstractDynamoDbStore {
}
private void deleteRowsMatchingQuery(AttributeValue partitionKey, QueryRequest querySpec) {
writeInBatches(db().query(querySpec).items(), (itemBatch) -> deleteItems(partitionKey, itemBatch));
writeInBatches(db().queryPaginator(querySpec).items(), itemBatch -> deleteItems(partitionKey, itemBatch));
}
private void deleteItems(AttributeValue partitionKey, List<Map<String, AttributeValue>> items) {