mderoy opened a new issue, #6241:
URL: https://github.com/apache/iceberg/issues/6241
### Apache Iceberg version
0.14.0
### Query engine
_No response_
### Please describe the bug 🐞
The Iceberg HiveCatalog class lets you set a configuration via
```
@Override
public void setConf(Configuration conf) {
this.conf = new Configuration(conf);
}
```
however doing this does not actually update things in the class which depend
on it like the FileIO... our application was working properly until we tried to
remove the S3 credential environment variables and switch to passing them
programmatically as part of the HiveConf....unfortunately though we did this
```
m_catalog.initialize("hive", properties);
m_catalog.setConf(config);
```
instead of
```
m_catalog.setConf(config);
m_catalog.initialize("hive", properties);
```
which led to the error `No AWS Credentials provided by
TemporaryAWSCredentialsProvider SimpleAWSCredentialsProvider
EnvironmentVariableCredentialsProvider IAMInstanceCredentialsProvider`
Working my way back through the stack I was able to realize that the Conf
being passed was blank which is why the credentials weren't being setup.....
and reading the source I realized that a HadoopFileIO was set using a blank
Conf during initialize(), even though our class now had the proper conf set
after
to avoid such issues I'd prefer if setConf was removed and instead replaced
with a constructor which accepted the Configuration (and leave a constructor
without this to create a new blank Conf)... or maybe have setConf throw an
error if it's already set....or maybe even have setConf call initialize() to
set these things to use the proper Conf
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]