Skip to content

Fix flaky Blob tag test by moving search coverage to playback - #7483

Open
JinmingHu (Jinming-Hu) wants to merge 1 commit into
Azure:mainfrom
Jinming-Hu:storage-split-tag-tests
Open

JinmingHu (Jinming-Hu) wants to merge 1 commit into
Azure:mainfrom
Jinming-Hu:storage-split-tag-tests

Conversation

@Jinming-Hu

Copy link
Copy Markdown
Member

Pull Request Checklist

Please leverage this checklist as a reminder to address commonly occurring feedback when submitting a pull request to make sure your PR can be reviewed quickly:

See the detailed list in the contributing guide.

  • C++ Guidelines
  • Doxygen docs
  • Unit tests
  • No unwanted commits/changes
  • Descriptive title/description
    • PR is single purpose
    • Related issue listed
  • Comments in source
  • No typos
  • Update changelog
  • Not work-in-progress
  • External references or docs updated
  • Self review of PR done
  • Any breaking changes?

Description

Split the Blob tag test so synchronous tag operations remain covered in LIVE and PLAYBACK, while FindBlobsByTags paging runs only in RECORD/PLAYBACK. Blob Index updates are eventually consistent, so requiring search results to appear within the LIVE test deadline was testing service propagation timing and caused recurring CI flakes.

  • Renames BlobContainerClientTest.Tags to BlobContainerClientTest.GetSetTags.
  • Adds BlobContainerClientTest.ListBlobsByTags_PLAYBACKONLY_ for container- and service-level search and paging coverage.
  • Updates the Storage assets tag with the two new sanitized recordings.
  • Leaves Data Lake unchanged because its existing GetSetTags test already covers synchronous operations and Data Lake exposes no tag-search API.

Doxygen, changelog, related issue, and external documentation updates are not applicable to this test-only change. There are no breaking changes.

Validation

  • Passed: cmake.exe --build C:\wd\azure-sdk-for-cpp\build --config Release --target azure-storage-blobs-test
  • Passed (2/2): azure-storage-blobs-test.exe --gtest_filter=BlobContainerClientTest.GetSetTags:BlobContainerClientTest.ListBlobsByTags_PLAYBACKONLY_ with AZURE_TEST_MODE=PLAYBACK
  • Passed before publishing recordings: both tests in RECORD mode; GetSetTags in LIVE mode, with ListBlobsByTags_PLAYBACKONLY_ skipped in LIVE as intended.

Keep synchronous tag operations covered in live and playback modes, while moving eventually consistent FindBlobsByTags coverage to a playback-only test.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI balanced review requested due to automatic review settings October 17, 2026 04:05
@github-actions github-actions Bot added the Storage Storage Service (Queues, Blobs, Files) label Oct 17, 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.

@Jinming-Hu JinmingHu (Jinming-Hu) changed the title Split Blob tag search into playback-only test Fix flaky Blob tag test by moving search coverage to playback Oct 17, 2026

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.

🟢 Approval recommended

The focused test split preserves coverage, uses existing LIVE-skip behavior, and includes matching recordings.

No open issues 🎉

What changed in this PR

Separates synchronous Blob tag tests from eventually consistent tag-search tests to reduce LIVE CI flakes.

Changes:

  • Renames synchronous coverage to GetSetTags.
  • Moves search and paging coverage into a RECORD/PLAYBACK-only test.
  • Updates the Storage assets tag for both recordings.
File Description
sdk/​storage/​azure-storage-blobs/​test/​ut/​blob_container_client_test.cpp Splits synchronous tag operations from tag-search coverage.
sdk/​storage/​assets.json References updated test recordings.

Review effort: Balanced

This branch has not been deployed

No deployments
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.

2 participants