Dynamo Db LastEvaluatedKey Looping Issue

0

Hello Everyone,

I have a stepfuntion which invokes a lambda. The lambda queries the dynamo with GSI with limit 1 so it returns only 1 record while fetching and the last Evaluated key which we pass back to the step function.

Let’s say if we have 4 records with the required GSI, the lambda returns last evaluated key for 1st iteration as 2nd item and for 2nd it would be 3rd and so on…

But for last record where I expect there should be no last Evaluated key, it is returning first record as last Evaluated key and the loop continues until the GSI key value is changed.

  • Something in your logic is not as expected. Please share the code.

  • I am using PageIterable which executes the query and stores the result. And we get the Page Iterator using .iterator() method. we get the page using iterator.hasNext() and assigning page = iterator.next(). then we check if if the page has lastEvalualtedKey, if yes we add it the the last evaluated key.

  • Thanks for explaining, but its best to share the code, I can help you then.

  • Thanks Leeroy, Found the issue, commenting the answer

profile picture
AGS
已提问 8 个月前417 查看次数
1 回答
0
已接受的回答

I was updating the the GSIs after fetching the entity, hence the iterator considers that as an new entry in its list. Hence the loop was created. The fix was not to update the GSI or PK when it is paginated to maintain the entities' version

profile picture
AGS
已回答 7 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则

相关内容