Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Regenerate SDKs to Use Sync Stack #30634

Closed
alzimmermsft opened this issue Aug 24, 2022 · 0 comments
Closed

Regenerate SDKs to Use Sync Stack #30634

alzimmermsft opened this issue Aug 24, 2022 · 0 comments
Assignees
Labels
Client This issue points to a problem in the data-plane of the library.
Milestone

Comments

@alzimmermsft
Copy link
Member

alzimmermsft commented Aug 24, 2022

Steps to onboard sync stack workflow for SDK's:

  1. Add enable-sync-stack: true to Code generation settings in respective swagger/autorest.md
    Using this generation setting, autorest should generate sync equivalent overloads for all the API's.

  2. Initialize the respective SDK sync client to use a service impl variable similar to what we do with the async client.

  3. Use the initialized service impl directly to call into the respective Sync API rather than blocking the async client call.
    Example commit

  4. Enable AssertingClient Testing, this makes sure sync call API's are running in completely synchronous call stack.

  5. Validate the changes by running LIVE test pipeline on the PR.

  6. Run Perf analysis and compare data to understand the impact of the changes.

Update the context for service API's that cannot be onboarded sync stack workflow as follows:
private static final String HTTP_REST_PROXY_SYNC_PROXY_ENABLE = "com.azure.core.http.restproxy.syncproxy.enable";
context.addData(HTTP_REST_PROXY_SYNC_PROXY_ENABLE, false)

Known Issues when generating with the latest Autorest:

  • Make sure to use latest locally compiled autorest version.
    autorest --java --use=C:\~\Autorest\autorest.java --use:@autorest/modelerfour@4.23.7
  • Change from Mono<StreamResponse> to Mono<SomeObjectResponse> is intended.

SDK's to be onboarded:

Service Library Driver Status Notes
App Configuration azure-data-appconfiguration @samvaity Done
Key Vault azure-security-keyvault-secrets @g2vinay Done
Key Vault azure-security-keyvault-keys @g2vinay Done
Key Vault azure-security-keyvault-certificates @g2vinay Done
Key Vault azure-security-keyvault-administration @g2vinay Done
Identity azure-identity @g2vinay Done
Service Bus Administration azure-messaging-servicebus @samvaity Done
Container Registry azure-containers-containerregistry @samvaity Done
Search azure-search-documents @g2vinay Done
Form Recognizer azure-ai-formrecognizer @samvaity Done
Metrics Advisor azure-ai-metricsadvisor @samvaity Done
Tables azure-data-tables @jairmyree Done
Text Analytics azure-ai-textanalytics @mssfang Done
Azure Monitor Query azure-monitor-query @lmolkova / @srnagar Done
Azure Monitor Ingestion azure-monitor-ingestion @lmolkova / @srnagar Done
Event Grid azure-messaging-eventgrid @billwert Done
Schema Registry azure-data-schemaregistry @g2vinay Done
Open AI azure-ai-openai @mssfang Done

DPG Libraries - #33249

Partner team SDK's to be onboarded: - #33250

@alzimmermsft alzimmermsft added the Client This issue points to a problem in the data-plane of the library. label Aug 24, 2022
@g2vinay g2vinay moved this to In Progress in Java SDKs Azure Core Sep 20, 2022
@samvaity samvaity added this to the 2023-05 milestone Feb 27, 2023
@samvaity samvaity moved this from In Progress to Done in Java SDKs Azure Core Feb 27, 2023
@samvaity samvaity moved this from Done to Planned in Java SDKs Azure Core Feb 27, 2023
@samvaity samvaity modified the milestones: 2023-05, 2023-03, 2023-04 Feb 27, 2023
@github-project-automation github-project-automation bot moved this from Planned to Done in Java SDKs Azure Core Feb 15, 2024
@github-actions github-actions bot locked and limited conversation to collaborators May 15, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Client This issue points to a problem in the data-plane of the library.
Projects
Status: Done
Development

No branches or pull requests

5 participants