Limit value not respected in dynamodb query
nielsbergsma opened this issue · 1 comments
nielsbergsma commented
Hi,
I'm unable to limit the number of results in a dynamodb query operation, the following snippet returns 23k messages instead of 50. Why is the result set size so big?
private def getItems(sequenceFrom:Long) =
table.query(
keyConditions = Seq("partition" -> cond.eq(partitionKey), "sequence" -> cond.gt(sequenceFrom)),
consistentRead = true,
limit=50)
.map(mapItemToRecord(partition, _))
torstenrudolf commented
After reading the code, I believe the limit
parameter only sets the "per-page-limit".
But since the AWScala dynamodb table.query
uses the QueryResultPager
under the hood which gets converted into a stream it still will result in the full set of items.
You might need to use the ResultPager
directly, to only get the first page.