danielcweeks commented on code in PR #6045:
URL: https://github.com/apache/iceberg/pull/6045#discussion_r1022041978
##########
hive-metastore/src/main/java/org/apache/iceberg/hive/HiveCatalog.java:
##########
@@ -539,12 +577,22 @@ Database convertToDatabase(Namespace namespace,
Map<String, String> meta) {
database.setDescription(value);
} else if (key.equals("location")) {
database.setLocationUri(value);
+ } else if (key.equals(HMS_DB_OWNER)) {
+ database.setOwnerName(value);
+ } else if (key.equals(HMS_DB_OWNER_TYPE) && value != null) {
+ database.setOwnerType(PrincipalType.valueOf(value));
} else {
if (value != null) {
parameter.put(key, value);
}
}
});
+
+ if (database.getOwnerName() == null) {
+ database.setOwnerName(System.getProperty("user.name"));
Review Comment:
I think it actually makes sense to use just `user.name` in other places in
Iceberg since we want to avoid hard dependencies on Hadoop/Hive where possible.
In this case though, Hive requires a Hadoop dependency and since this catalog
is likely used in that context, `UserGroupInformation` seems like it would
produce more consistent behavior with the Spark/Hive engine itself.
Other catalog implementation probably should not use UGI since they may be
running on environments where hadoop is not available (e.g. some flink
environments don't have hadoop).
--
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]