[Storage] Migrate azure-storage-queue to TypeSpec - #50082
Open
gunjansingh-msft wants to merge 15 commits into
Open
[Storage] Migrate azure-storage-queue to TypeSpec#50082gunjansingh-msft wants to merge 15 commits into
gunjansingh-msft wants to merge 15 commits into
Conversation
- Remove the unused generated getXmlNextLink helpers from ServicesImpl. exposeRawListQueuesResponse replaces the emitter's paginated path, so the private getXmlNextLink helpers are never called, tripping SpotBugs UPM_UNCALLED_PRIVATE_METHOD. Add removeUnusedXmlNextLinkHelpers to the customization so the removal is reproduced on regeneration. - ModelHelper.transformQueueProperties: default approximate-messages-count to 0L (was null) to avoid a null unboxed into the primitive QueueProperties field (SpotBugs null-dereference). SpotBugs: BugInstance size is 0. All 323 playback tests pass. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019uaMNtk1vxEK8FSsfCUTwQ
gunjansingh-msft
requested review from
a team,
Alan Zimmer (alzimmermsft),
browndav-msft,
Isabelle (ibrandes),
Kyle Knapp (kyleknap) and
Sean McCullough (seanmcc-msft)
as code owners
August 10, 2026 14:27
|
Azure Pipelines: Successfully started running 1 pipeline(s). 35 pipeline(s) were filtered out due to trigger conditions. There may be pipelines that require an authorized user to comment /azp run to run. |
Adopts Weidong's typespec-java responseHeadersAsModel client option (typespec#11420, emitter >= 0.45.11) for the two header-only queue operations whose results the hand-written clients build from response headers: Queue.getProperties and Queue.updateMessage. The spec option is set in the pinned client.tsp (fork commit 21116d8bdd) and generates QueuesGetPropertiesHeaders and MessageIdsUpdateHeaders. ModelHelper now uses those generated header models instead of reading HttpHeaders directly (typed getApproximateMessagesCount / getPopReceipt / getTimeNextVisible). The x-ms-meta-* metadata map is still read manually because the single-valued header model cannot represent it. Call sites are unchanged. Verified: clean tsp-client update reproduces the header classes; 323 playback tests pass; SpotBugs and revapi clean. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019uaMNtk1vxEK8FSsfCUTwQ
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.
Summary
Migrates
azure-storage-queuefrom AutoRest/Swagger to TypeSpec code generation, targeting thefeature/storage/typespecMigrationintegration branch. The hand-written public clients (QueueClient/QueueServiceClient+ async variants) are preserved and delegate to a generated protocol implementation layer.Scope: 66 files, all under
sdk/storage/azure-storage-queue.What's included
QueueStorageCustomizations) covering:@UnexpectedResponseExceptionTypeentries to a singleQueueStorageExceptionInternaldefault, so all errors map toQueueStorageException(and XML error bodies deserialize via azure-xml, not Jackson).exposeRawListQueuesResponseraw accessor for hand-writtenlistQueuespagination, plusremoveUnusedXmlNextLinkHelpersto drop the now-unused generated helpers.include=query handling, response header reads).BugInstance size is 0.Validation
12.30.0— no public API breaks.Known follow-up
tsp-location.yamlcurrently pins a personal spec fork; must repoint to the mergedAzure/azure-rest-api-specscommit once the"java"client.tspcustomization block lands upstream.🤖 Generated with Claude Code