CredentialProviderFactory.getProviders() will be called recursively if the FS being instantiated as a source of a JCECKs file calls Configuration.getPassword().
S3A FileSystem does this when looking at encryption settings, even when authentication
is not being done by hadoop config options.
Recursion is straightforward to detect, leaving a choice of actions
- Fix by having getPassword() return null; this implicitly skips use of the credential providers for the nested FS instance.
- fix by skipping the specific credential provider factory with the problem (warn first?)
My preference is for #3.