DynamoDB запрос медленного сканирования - PullRequest
0 голосов
/ 13 января 2019

Когда я делаю этот запрос в консоли AWS, он сразу же возвращает:

enter image description here

Но из кода Java он никогда не завершается:

    final List<TransactionDetails> tx = dynamoDBMapper //
            .scan(TransactionDetails.class, new DynamoDBScanExpression() //
                    .withConsistentRead(false)
                    .withLimit(maxRecords) //
                    .withFilterConditionEntry("time", new Condition().withComparisonOperator(ComparisonOperator.LT)
                            .withAttributeValueList(new AttributeValue(Long.toString(time)))));

    return tx;  

1 Ответ

0 голосов
/ 14 января 2019

Консоль DynamoDB показывает только 100 результатов одновременно. Модуль отображения DynamoDB реализует операцию сканирования так, что он будет автоматически перебирать все элементы в вашей таблице. Он будет отправлять столько же запросов в «Динамо», сколько нужно для сканирования всей таблицы, и он также будет повторять попытки, если его удушат.

Для небольших таблиц сканирование обычно завершается за несколько секунд, но большая таблица, особенно если у вас недостаточно выделенной емкости для чтения, может занять минуты, часы или дни.

Итак - проверьте размер таблицы и предоставленную емкость. Сканирование завершится, но длительность определенно зависит от этих двух переменных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...