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

Use no custom header APIs when header type isn't used #40482

Conversation

alzimmermsft
Copy link
Member

Description

Updates many service client APIs to use the NoCustomHeaders generated API. The NoCustomHeaders variant doesn't convert the response HTTP headers into a typed object, the service client APIs moved to these variants didn't use the custom headers being returned by the non-NoCustomHeaders variant. Aka, they were wasting CPU cycles on converting the HTTP headers to a Java type just to throw away that work. This should provide a performance improvement.

Additionally, the thread pool being used internally by Storage SDKs was replaced by SharedExecutorService in azure-core. This is preferable as this is meant to be an ExecutorService shared by all Azure SDKs so that each SDK doesn't need to configure, and possible expose ways to modify the behavior, their own ExecutorServices. Long term this will allow for azure-core to simply provide better integration into application environments such as allowing the SharedExecutorService to use an ExecutorService provided by the application rather than one in the implementation details of azure-core (allowing customers to better manage how the Azure SDKs use resources).

All SDK Contribution checklist:

  • The pull request does not introduce [breaking changes]
  • CHANGELOG is updated for new features, bug fixes or other significant changes.
  • I have read the contribution guidelines.

General Guidelines and Best Practices

  • Title of the pull request is clear and informative.
  • There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

  • Pull request includes test coverage for the included changes.

@alzimmermsft alzimmermsft self-assigned this Jun 4, 2024
@github-actions github-actions bot added the Storage Storage Service (Queues, Blobs, Files) label Jun 4, 2024
@azure-sdk
Copy link
Collaborator

API change check

API changes are not detected in this pull request.

@alzimmermsft
Copy link
Member Author

/azp run java - storage - tests

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@alzimmermsft alzimmermsft enabled auto-merge (squash) June 4, 2024 19:31
@alzimmermsft
Copy link
Member Author

/check-enforcer override

@alzimmermsft alzimmermsft merged commit 83c2a2c into Azure:main Jun 4, 2024
29 of 41 checks passed
@alzimmermsft alzimmermsft deleted the AzStorage_UseBetterApiForExistanceChecks branch June 4, 2024 19:34
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.

3 participants