Skip to content

Retry large storage query live tests - #7280

Merged
JinmingHu (Jinming-Hu) merged 2 commits into
mainfrom
stgxx_fix_storage_nightly_query_flake
Aug 7, 2026
Merged

Retry large storage query live tests#7280
JinmingHu (Jinming-Hu) merged 2 commits into
mainfrom
stgxx_fix_storage_nightly_query_flake

Conversation

@Jinming-Hu

Copy link
Copy Markdown
Member

Summary

  • retry large Blob and Data Lake query response reads once after a transport failure
  • keep request failures and assertion failures immediate
  • use the existing GoogleTest logging convention for retry messages
  • verify the complete query output length

Testing

  • BlockBlobClientTest.QueryLargeBlob_LIVEONLY_ (LIVE)
  • DataLakeFileClientTest.QueryLargeBlob_LIVEONLY_ (LIVE)
  • built azure-storage-blobs-test and azure-storage-files-datalake-test

Fixes the macOS nightly flake seen in Azure Pipelines build 6658328 where the streaming query response failed with CURLE 56.

JinmingHu (Jinming-Hu) and others added 2 commits August 5, 2026 09:02
Retry response-body transport failures once in the Blob and Data Lake large query live tests, while preserving immediate failures for requests and assertions.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Use the existing Storage test convention for informational retry messages instead of writing directly to standard output.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@github-actions github-actions Bot added the Storage Storage Service (Queues, Blobs, Files) label Aug 4, 2026
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 1 pipeline(s).
9 pipeline(s) were filtered out due to trigger conditions.
There may be pipelines that require an authorized user to comment /azp run to run.

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 1 pipeline(s).
9 pipeline(s) were filtered out due to trigger conditions.
There may be pipelines that require an authorized user to comment /azp run to run.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR reduces flakiness in large-query LIVE tests for Azure Storage Blobs and Azure Storage Data Lake by retrying the query once when a transport failure occurs while streaming the response body, and by additionally validating that the entire expected output was read.

Changes:

  • Wrap large query result streaming reads in a 2-attempt loop that retries only on Azure::Core::Http::TransportException during response body reads.
  • Keep assertion failures and request-time failures immediate by limiting the try/catch scope to the read/compare loop.
  • Add a final ASSERT_EQ(comparePos, jsonData.size()) to validate full expected output length was received.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
sdk/storage/azure-storage-files-datalake/test/ut/datalake_file_query_test.cpp Adds a one-time retry on transport failures during large Data Lake query response streaming and validates full output length.
sdk/storage/azure-storage-blobs/test/ut/blob_query_test.cpp Adds a one-time retry on transport failures during large blob query response streaming and validates full output length.

@Jinming-Hu

Copy link
Copy Markdown
Member Author

/azp run cpp - storage

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 1 pipeline(s).

@Jinming-Hu
JinmingHu (Jinming-Hu) merged commit 2da0328 into main Aug 7, 2026
105 checks passed
@Jinming-Hu
JinmingHu (Jinming-Hu) deleted the stgxx_fix_storage_nightly_query_flake branch August 7, 2026 00:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Storage Storage Service (Queues, Blobs, Files)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants