Repository navigation
DO NOT MERGE testing for API VIew: STG105 with parser 20261009.3 - #7465
Closed
JinmingHu (Jinming-Hu) wants to merge 14 commits into
Closed
JinmingHu (Jinming-Hu) wants to merge 14 commits into
JinmingHu (Jinming-Hu) wants to merge 14 commits into
Conversation
Preserve the requested Prefix in Arrow flat-list responses. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Normalize hostname casing for service/account inference without changing URL casing. Use CMake automatic DLL exports for session providers without exporting STL members. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Reduce default initial transfer sizes to 4 MiB and overlap remaining downloads with consumption of the initial response for Blob and Files transfers. Add Blob and DataLake layout APIs, download hints, and locality routing. Keep managed locality routing disabled by default while supporting explicit Auto and Enabled selection. Include both features' changelogs and layout member documentation. Expose the layout ranges directly as vectors in BlobLayoutInfo and FileLayoutInfo, without redundant range-container wrapper types. Preserve the explicit false legal-hold initializer through the generation customization and regenerated BlobProperties declaration. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Collect standalone deletion remarks, existing API descriptions, and generated-model documentation without changing executable behavior. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Recognize the sovereign-cloud endpoint suffixes and service-defined xfiles header. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Collect feature tests, fixture migrations, regression assertions, shared test helpers, test build definitions, and the published recording pin. Include default-disabled locality coverage and playback-only Files cases pending production enablement. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Initialize the nullable policy before assigning either Arrow immutability column without clearing a value parsed from the other column. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Move the default XML-to-Arrow listing response format note out of Breaking Changes because the public blob listing behavior is unchanged. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
|
Azure Pipelines: Successfully started running 2 pipeline(s). 8 pipeline(s) were filtered out due to trigger conditions. There may be pipelines that require an authorized user to comment /azp run to run. |
Contributor
There was a problem hiding this comment.
🟡 Changes recommended
Download coordination and session-version handling need corrections, and this temporary PR is explicitly not a merge candidate.
3 open findings
What changed in this PR
Temporary, do-not-merge integration of STG105 Storage features with APIView parser 20261009.3, intended to generate CI artifacts for local API comparison.
Changes:
- Adds session authentication, locality APIs, and updated transfer/listing defaults.
- Extends Files Shares with change feed, creation timestamps, and file-ID addressing.
- Updates tests, generation inputs, and APIView tooling while disabling production revision submission.
| File | Description |
|---|---|
| sdk/storage/azure-storage-files-shares/test/ut/share_service_client_test.cpp | Checks share creation timestamps in playback. |
| sdk/storage/azure-storage-files-shares/test/ut/share_file_client_test.cpp | Tests file-ID addressing and adjusts NFS fixtures. |
| sdk/storage/azure-storage-files-shares/test/ut/share_client_test.cpp | Tests addressing restrictions and change feed. |
| sdk/storage/azure-storage-files-shares/swagger/README.md | Updates specification and generation customizations. |
| sdk/storage/azure-storage-files-shares/src/share_options.cpp | Adds file-ID parsing and operation guards. |
| sdk/storage/azure-storage-files-shares/src/share_lease_client.cpp | Rejects leases on ID-addressed files. |
| sdk/storage/azure-storage-files-shares/src/share_file_client.cpp | Implements ID addressing, links, and overlapping downloads. |
| sdk/storage/azure-storage-files-shares/src/share_directory_client.cpp | Supports ID-addressed directory properties and guards. |
| sdk/storage/azure-storage-files-shares/src/share_client.cpp | Creates ID-addressed clients and handles change feed. |
| sdk/storage/azure-storage-files-shares/inc/azure/storage/files/shares/share_responses.hpp | Adds file names and hard-link results. |
| sdk/storage/azure-storage-files-shares/inc/azure/storage/files/shares/share_options.hpp | Adds change-feed and link options. |
| sdk/storage/azure-storage-files-shares/inc/azure/storage/files/shares/share_file_client.hpp | Exposes file-ID and hard-link APIs. |
| sdk/storage/azure-storage-files-shares/inc/azure/storage/files/shares/share_directory_client.hpp | Exposes directory file IDs. |
| sdk/storage/azure-storage-files-shares/inc/azure/storage/files/shares/share_constants.hpp | Defines the file-ID query parameter. |
| sdk/storage/azure-storage-files-shares/inc/azure/storage/files/shares/share_client.hpp | Declares ID-addressed client factories. |
| sdk/storage/azure-storage-files-shares/inc/azure/storage/files/shares/rest_client.hpp | Updates protocol version, models, and operations. |
| sdk/storage/azure-storage-files-shares/CHANGELOG.md | Records new Shares features. |
| sdk/storage/azure-storage-files-datalake/test/ut/session_authentication_test.cpp | Tests session use and pipeline preservation. |
| sdk/storage/azure-storage-files-datalake/test/ut/datalake_file_client_test.cpp | Checks new transfer defaults. |
| sdk/storage/azure-storage-files-datalake/test/ut/data_locality_test.cpp | Tests layouts, routing, and download hints. |
| sdk/storage/azure-storage-files-datalake/test/ut/CMakeLists.txt | Registers locality and session tests. |
| sdk/storage/azure-storage-files-datalake/src/private/datalake_utilities.hpp | Declares shared property conversion. |
| sdk/storage/azure-storage-files-datalake/src/datalake_utilities.cpp | Maps Blob properties and session options. |
| sdk/storage/azure-storage-files-datalake/src/datalake_responses.cpp | Implements layout pagination. |
| sdk/storage/azure-storage-files-datalake/src/datalake_path_client.cpp | Reuses property conversion. |
| sdk/storage/azure-storage-files-datalake/src/datalake_file_system_client.cpp | Preserves Blob pipelines after rename. |
| sdk/storage/azure-storage-files-datalake/src/datalake_file_client.cpp | Implements layouts and forwards routing information. |
| sdk/storage/azure-storage-files-datalake/src/datalake_directory_client.cpp | Preserves Blob client configuration after rename. |
| sdk/storage/azure-storage-files-datalake/inc/azure/storage/files/datalake/datalake_responses.hpp | Adds layout responses and download hints. |
| sdk/storage/azure-storage-files-datalake/inc/azure/storage/files/datalake/datalake_options.hpp | Adds session/layout options and transfer defaults. |
| sdk/storage/azure-storage-files-datalake/inc/azure/storage/files/datalake/datalake_file_system_client.hpp | Documents deletion timing. |
| sdk/storage/azure-storage-files-datalake/inc/azure/storage/files/datalake/datalake_file_client.hpp | Declares GetLayout. |
| sdk/storage/azure-storage-files-datalake/CHANGELOG.md | Records features and default changes. |
| sdk/storage/azure-storage-common/test/ut/test_base.hpp | Shares request-inspection test policy. |
| sdk/storage/azure-storage-common/test/ut/storage_url_test.cpp | Tests Storage endpoint parsing. |
| sdk/storage/azure-storage-common/test/ut/CMakeLists.txt | Registers URL tests. |
| sdk/storage/azure-storage-common/src/storage_url.cpp | Parses Storage accounts and endpoints. |
| sdk/storage/azure-storage-common/src/storage_pipeline.cpp | Integrates optional locality routing policy. |
| sdk/storage/azure-storage-common/src/storage_data_locality_policy.cpp | Routes requests while preserving original Host. |
| sdk/storage/azure-storage-common/src/storage_bearer_token_authentication_policy.cpp | Separates authorization from request sending. |
| sdk/storage/azure-storage-common/src/shared_key_policy.cpp | Generalizes signing for session reuse. |
| sdk/storage/azure-storage-common/inc/azure/storage/common/internal/storage_url.hpp | Declares Storage URL parsing types. |
| sdk/storage/azure-storage-common/inc/azure/storage/common/internal/storage_pipeline.hpp | Adds locality-policy configuration. |
| sdk/storage/azure-storage-common/inc/azure/storage/common/internal/storage_data_locality_policy.hpp | Declares routing policy and context helpers. |
| sdk/storage/azure-storage-common/inc/azure/storage/common/internal/storage_bearer_token_auth.hpp | Enables session-policy specialization. |
| sdk/storage/azure-storage-common/inc/azure/storage/common/internal/shared_key_policy.hpp | Exposes reusable internal signing method. |
| sdk/storage/azure-storage-common/CMakeLists.txt | Registers routing and URL sources. |
| sdk/storage/azure-storage-blobs/test/ut/storage_timeout_test.cpp | Uses shared request-inspection helper. |
| sdk/storage/azure-storage-blobs/test/ut/storage_retry_policy_test.cpp | Explicitly disables locality routing. |
| sdk/storage/azure-storage-blobs/test/ut/CMakeLists.txt | Registers locality and session tests. |
| sdk/storage/azure-storage-blobs/test/ut/block_blob_client_test.cpp | Checks new transfer defaults. |
| sdk/storage/azure-storage-blobs/test/ut/blob_container_client_test.cpp | Tests Arrow defaults and explicit XML selection. |
| sdk/storage/azure-storage-blobs/swagger/README.md | Adds layout and download-hint generation mappings. |
| sdk/storage/azure-storage-blobs/src/private/token_credential_session_provider.hpp | Declares session provider and cache state. |
| sdk/storage/azure-storage-blobs/src/private/token_credential_session_provider.cpp | Implements session creation, refresh, and invalidation. |
| sdk/storage/azure-storage-blobs/src/private/session_authentication_policy.hpp | Declares authentication-policy factory. |
| sdk/storage/azure-storage-blobs/src/private/session_authentication_policy.cpp | Implements session signing and bearer fallback. |
| sdk/storage/azure-storage-blobs/src/private/data_locality.hpp | Declares layout cache and endpoint selection. |
| sdk/storage/azure-storage-blobs/src/private/data_locality.cpp | Implements endpoint selection and asynchronous refresh. |
| sdk/storage/azure-storage-blobs/src/blob_service_client.cpp | Configures session authentication and locality routing. |
| sdk/storage/azure-storage-blobs/src/blob_responses.cpp | Implements layout pagination. |
| sdk/storage/azure-storage-blobs/src/blob_options.cpp | Constructs public session providers. |
| sdk/storage/azure-storage-blobs/src/blob_container_client.cpp | Enables Arrow defaults and session/locality policies. |
| sdk/storage/azure-storage-blobs/inc/azure/storage/blobs/rest_client.hpp | Adds layout protocol models and download hints. |
| sdk/storage/azure-storage-blobs/inc/azure/storage/blobs/blob_service_client.hpp | Documents container deletion timing. |
| sdk/storage/azure-storage-blobs/inc/azure/storage/blobs/blob_responses.hpp | Adds public layout response types. |
| sdk/storage/azure-storage-blobs/inc/azure/storage/blobs/blob_options.hpp | Adds session/routing options and changes defaults. |
| sdk/storage/azure-storage-blobs/inc/azure/storage/blobs/blob_container_client.hpp | Documents container deletion timing. |
| sdk/storage/azure-storage-blobs/inc/azure/storage/blobs/blob_client.hpp | Declares GetLayout. |
| sdk/storage/azure-storage-blobs/CMakeLists.txt | Registers session and locality implementation sources. |
| sdk/storage/azure-storage-blobs/CHANGELOG.md | Records new features and default changes. |
| sdk/storage/assets.json | Updates the recordings pin. |
| eng/pipelines/templates/jobs/archetype-sdk-client.yml | Updates parser and disables APIView revision submission. |
| .vscode/cspell.json | Adds Storage terminology to spelling allowlist. |
🧠 Review effort: Balanced
| _internal::BuildStoragePipelineOptions pipelineOptions; | ||
| pipelineOptions.PackageName = _internal::BlobServicePackageName; | ||
| pipelineOptions.PackageVersion = PackageVersion::ToString(); | ||
| pipelineOptions.ApiVersion = Blobs::_detail::ApiVersion; |
| std::future<void> remainingDownload; | ||
| if (remainingSize > 0 && options.TransferOptions.Concurrency > 1) | ||
| { | ||
| const int remainingConcurrency = options.TransferOptions.Concurrency - 1; |
Comment on lines
+1320
to
+1321
| int64_t bytesRead = firstChunk.Value.BodyStream->ReadToCount( | ||
| buffer, static_cast<size_t>(firstChunkLength), context); |
JinmingHu (Jinming-Hu)
deleted the
jinming-hu-apiview-combined-test-pr
branch
October 15, 2026 01:28
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Temporary test PR — DO NOT MERGE. This non-draft PR exists only to generate Storage APIView JSON through automatic PR CI for comparison in a local test environment. It is intentionally not a release or merge candidate.
Combines the exact current changes from #7448 at
6079cfd47e5d5ce08f0193054cdb6f80e4208810with the parser-version update from #7464 atf9f1db0d906c8012d957b52bda6b85775b231b25, based on currentmainate0016580d2e7c30aeb1d3bc50cba7b570d72621b. Both original PRs remain unchanged. The net scope is 78 source-PR files plus one pipeline template (79 files total).Production APIView safeguard:
eng/pipelines/templates/jobs/archetype-sdk-client.ymlpassesCondition: falsetodetect-api-changes.yml. This skips both the production endpoint setup andDetect-Api-Changes.ps1revision submission tasks. Existingcreate-apireview.ymlexcludes PullRequest runs, and the release-stage caller is Manual-only. No endpoints are redirected and no APIView files are uploaded to production or shared staging by this PR.Generate APIReview Token Filesand publication of thepackagesartifact remain intact; generated JSON is underpackages/<package>/<package>_cpp.json. The intended consumer downloads CI artifacts and uploads them only to the local test environment.Validation performed: pinned clang-format 11.0.0 ran on all integrated modified C++ files with no additional formatting changes.
git diff --check— passed.git merge-tree --write-tree origin/main 6079cfd47e5d5ce08f0193054cdb6f80e4208810andgit diff --exit-code <resulting-tree> HEAD -- sdk .vscode— passed, confirming exact source integration. Inline Python/PyYAML safety assertions — passed: YAML parses, parser pin is 20261009.3, guard disables both detection tasks, other production callers exclude PR runs, JSON generation and packages publication are preserved, and no other pipeline edits exist. Local SDK build/unit tests were not run; automatic Storage PR CI is the intended artifact producer. No manual CI runs have been requested.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.