8000 Azure SDK version bump introduced regression in token refresh · Issue #23036 · vectordotdev/vector · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
Azure SDK version bump introduced regression in token refresh #23036
Closed
@ganelo

Description

@ganelo

A note for the community

  • Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
  • If you are interested in working on this issue or have submitted a pull request, please leave a comment

Problem

Vector 0.46.0 bumped Azure SDK from 0.17.0 to 0.21.0 here: 0085246

However, this introduced a regression transitively from Azure SDK version 0.20.0 that wasn't fixed until 0.22.0:

It's worth noting, however, that 0.22.0 introduces its own regression - namely, the removal of EnvironmentCredential from DefaultAzureCredential. In 0.17.0 as well as 0.18.0 through 0.21.0, the first method attempted by DefaultAzureCredential was EnvironmentCredential (see eg https://docs.rs/azure_identity/0.17.0/azure_identity/struct.DefaultAzureCredential.html). However, in 0.22.0, EnvironmentCredential has been removed altogether, and is therefore no longer included in the list of methods that DefaultAzureCredential will try. In any case, upgrading to 0.22.0 is complicated by the fact that the related azure_storage crate, which Vector also uses, does not have any version newer than 0.21.0 due to a shift in Microsoft priorities: Microsoft is developing the official Azure SDK for Rust crates and has no plans to update this unofficial crate. - while it is possible to handle this with some kludges to shim between the 0.21.0 and 0.22.0 versions of azure_core classes, the result is pretty ugly and in any case doesn't fully work due to the missing EnvironmentCredential class.

Probably the easiest short term solution is to revert the azure version bumps introduced in 0085246 or at least stick with 0.19.0 as the highest supported version for now.

Long-term, the ideal would probably be to do the presumably large refactor to switch from azure_core/azure_identity/azure_storage et al to eg https://docs.rs/crate/azure_storage_blob/latest (the full set of crates can be found at https://azure.github.io/azure-sdk/releases/latest/index.html#rust) - however it is explicitly marked as not suitable for Production at the moment.

Configuration



5ECA

Version

0.46.1

Debug Output


Example Data

No response

Additional Context

No response

References

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    provider: azureAnything `azure` service provider relatedtype: bugA code related bug.

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      0