Copilot commented on code in PR #14407:
URL: https://github.com/apache/gravitino/pull/14407#discussion_r4435540733
##########
catalogs/catalog-fileset/src/main/java/org/apache/gravitino/catalog/fileset/FilesetCatalogOperations.java:
##########
@@ -218,22 +224,43 @@ public class FilesetCatalogOperations extends
ManagedSchemaOperations
}
static class FileSystemCacheKey {
+ // The settings that decide how an HDFS file system logs in. The authority
carries the principal
+ // only without its realm, and a location without a scheme has no
authority at all.
+ private static final List<String> AUTHENTICATION_KEYS =
+ ImmutableList.of(
+ AuthenticationConfig.AUTH_TYPE_KEY,
+ AuthenticationConfig.IMPERSONATION_ENABLE_KEY,
+ KerberosConfig.PRINCIPAL_KEY,
+ KerberosConfig.KEY_TAB_URI_KEY,
+ HADOOP_SECURITY_AUTHENTICATION,
+ GRAVITINO_BYPASS + HADOOP_SECURITY_AUTHENTICATION,
Review Comment:
The allowlist omits `HADOOP_SECURITY_PRINCIPAL` and
`HADOOP_SECURITY_KEYTAB`, which `KerberosConfig.loadFromHdfsConfiguration()`
uses when Gravitino-specific credential overrides are absent. Two filesets with
the same user and HDFS authority but different fallback credentials therefore
still share a cache key and reuse the first fileset's login. Include both
constants and their `gravitino.bypass.` forms, and add regression cases for all
four variants.
--
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]