Problem with this is that for every single time we have a request, a new token has to be fetched using the AZURE_TENANT_ID, AZURE_CLIENT_ID, AZURE_CLIENT_SECRET
Which I assume would have a performance impact and create a lot of unnecessary requests for the tokens.
Why is there no option to reuse the created DefaultAzureCredentials to utilize default caching?
Am I missing something or is this simply not implemented?
Query engine
Iceberg REST catalog
Question
Currently it looks like when using ADLSFileIO for every request it creates a new client, which then calls https://github.com/apache/iceberg/blob/e3f39972863f891481ad9f5a559ffef093976bd7/azure/src/main/java/org/apache/iceberg/azure/adlsv2/ADLSFileIO.java#L114
which then ends up creating a new AzureDefaultCredential: https://github.com/apache/iceberg/blob/e3f39972863f891481ad9f5a559ffef093976bd7/azure/src/main/java/org/apache/iceberg/azure/AzureProperties.java#L88
Problem with this is that for every single time we have a request, a new token has to be fetched using the AZURE_TENANT_ID, AZURE_CLIENT_ID, AZURE_CLIENT_SECRET Which I assume would have a performance impact and create a lot of unnecessary requests for the tokens.
Why is there no option to reuse the created DefaultAzureCredentials to utilize default caching? Am I missing something or is this simply not implemented?