Skip to content

appservice: Use reserved from list response for EP/WS plan OS detection#2229

Merged
alexweininger merged 2 commits intomainfrom
appservice/asp-list-perf-reserved-field
Mar 19, 2026
Merged

appservice: Use reserved from list response for EP/WS plan OS detection#2229
alexweininger merged 2 commits intomainfrom
appservice/asp-list-perf-reserved-field

Conversation

@alexweininger
Copy link
Copy Markdown
Member

When listing App Service Plans for the quick pick, EP (Elastic Premium) and WS (Workflow Standard) plans don't include the OS in their kind string, so we check the reserved property instead. The old code did a separate GET request for every single EP/WS plan to fetch this, which caused multi-minute delays for users with many plans (see #2129).

As Brandon found in #2129 (comment), reserved is now correctly returned by the list operation as of API version 2024-11-01. Our SDK (@azure/arm-appservice v18.0.0) uses 2025-03-01, so we can just read plan.reserved directly — no extra queries needed.

Fixes #2129

Remove per-plan GET requests for Elastic Premium and Workflow Standard
plans when determining Linux vs Windows OS. The `reserved` property is
now correctly returned by the list operation as of API version
2024-11-01+. The current SDK (@azure/arm-appservice v18.0.0) uses API
version 2025-03-01.

This eliminates N+1 API calls that could cause multi-minute delays when
users have many EP/WS app service plans.

Fixes #2129

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings March 19, 2026 13:51
@alexweininger alexweininger marked this pull request as ready for review March 19, 2026 13:52
@alexweininger alexweininger requested a review from a team as a code owner March 19, 2026 13:52
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

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 improves App Service Plan OS detection for Elastic Premium (EP) and Workflow Standard (WS) plans by using the reserved flag from the list response instead of issuing a separate GET request per plan, eliminating significant quick pick load delays (fixes #2129).

Changes:

  • Removed per-plan tryGetAppServicePlan GET calls for EP/WS plans during quick pick population.
  • Switched EP/WS OS detection logic to rely on plan.reserved from the list response.
Files not reviewed (1)
  • appservice/package-lock.json: Language not supported

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

You can also share your feedback on Copilot code review. Take the survey.

@alexweininger alexweininger merged commit fac4943 into main Mar 19, 2026
4 checks passed
@alexweininger alexweininger deleted the appservice/asp-list-perf-reserved-field branch March 19, 2026 14:46
@alexweininger
Copy link
Copy Markdown
Member Author

Released in appservice v4.2.2

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

AppServicePlanListStep - performance improvement

3 participants