Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Aztables] Pagination is broken when using NewListEntitiesPager on some Cross Partition Queries #22456

Closed
estebanreyl opened this issue Feb 27, 2024 · 4 comments · Fixed by #22469
Assignees
Labels
Client This issue points to a problem in the data-plane of the library. customer-reported Issues that are reported by GitHub users external to the Azure organization. needs-team-attention Workflow: This issue needs attention from Azure service team or SDK team Tables

Comments

@estebanreyl
Copy link

Bug Report

  • import path of package in question, e.g. /sdk/data/aztables
  • SDK version: v1.1.0
    • Specify the exact commit if possible: 6c75210
  • output of go version : go version go1.22.0 linux/amd64
  • What happened? We encountered a situation where the default runtime pager fails to get all entities in a table when doing a cross partition scan. Instead, we will end up processing 0 entities as the More function returns false incorrectly.
  • What did you expect or want to happen? When running through a cross partition query, it is possible for azure storage to return an empty list and a next partition only. In this case we need to use the partition as a continuation token to keep getting entries. Apparently, this is expected behavior https://learn.microsoft.com/en-us/rest/api/storageservices/Query-Timeout-and-Pagination and we have verified this is happening on our storage account.
  • How can we reproduce it? I am still working on figuring this out, but my current guess is that if enough entities with different partitions are present in a single table this becomes more likely.
  • Anything we should know about your environment.
    No

P.S. from looking at the code the fix amounts to changing the More function in sdk/dara/aztablesclient.go : NewListEntitiesPager to ignore the page.NextRowKey value. I still havent tested this and will try to follow up with a PR but want to leave this documented.

@github-actions github-actions bot added Client This issue points to a problem in the data-plane of the library. customer-reported Issues that are reported by GitHub users external to the Azure organization. needs-team-triage Workflow: This issue needs the team to triage. question The issue doesn't require a change to the product in order to be resolved. Most issues start as that Tables labels Feb 27, 2024
@jhendrixMSFT jhendrixMSFT removed question The issue doesn't require a change to the product in order to be resolved. Most issues start as that needs-team-triage Workflow: This issue needs the team to triage. labels Feb 27, 2024
@jhendrixMSFT jhendrixMSFT self-assigned this Feb 27, 2024
@github-actions github-actions bot added the needs-team-attention Workflow: This issue needs attention from Azure service team or SDK team label Feb 27, 2024
@jhendrixMSFT
Copy link
Member

Fix will be included in aztables@v1.2.0 to be released March 5th.

@estebanreyl
Copy link
Author

Thanks for the quick fix :)

@jhendrixMSFT
Copy link
Member

Unfortunately there was a delay in the release, it's available now.

@estebanreyl
Copy link
Author

No worries, thanks for the update :)

@github-actions github-actions bot locked and limited conversation to collaborators Jun 9, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Client This issue points to a problem in the data-plane of the library. customer-reported Issues that are reported by GitHub users external to the Azure organization. needs-team-attention Workflow: This issue needs attention from Azure service team or SDK team Tables
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants