dimas-b commented on code in PR #3427:
URL: https://github.com/apache/polaris/pull/3427#discussion_r2691092671
##########
polaris-core/src/main/java/org/apache/polaris/core/persistence/resolver/PolarisResolutionManifest.java:
##########
@@ -143,6 +143,16 @@ public ResolverStatus resolveAll() {
return primaryResolverStatus;
}
+ /**
+ * Resolve only reference catalog, entities, and paths without resolving
caller principal or
+ * roles. Returns SUCCESS, PATH_COULD_NOT_BE_FULLY_RESOLVED, or
ENTITY_COULD_NOT_BE_RESOLVED and
+ * never returns CALLER_PRINCIPAL_DOES_NOT_EXIST.
+ */
+ public ResolverStatus resolvePathsOnly() {
Review Comment:
nit: the method name sounds a bit obscure to me, TBH 😅 How about
`resolveNonIamEntities` or `resolveResourceEntities` or
`resolveCatalogEntities`? I personally prefer the latter, but I suppose it may
still be confusing wrt "Catalog Roles". WDYT?
##########
polaris-core/src/main/java/org/apache/polaris/core/persistence/resolver/Resolver.java:
##########
@@ -447,6 +484,57 @@ private ResolverStatus runResolvePass() {
return validationSuccess ? status : null;
}
+ /**
+ * Execute one resolve pass on all entities without resolving caller
principal or roles.
+ *
+ * @return status of the resolve pass
+ */
+ private ResolverStatus runResolvePassPathsOnly() {
Review Comment:
WDYT about making a `Resolver` sub-class for the new logic?
##########
polaris-core/src/main/java/org/apache/polaris/core/persistence/resolver/Resolver.java:
##########
@@ -54,6 +54,7 @@
* incoming rest request, Once resolved, the request can be authorized.
*/
public class Resolver {
+ private static final int MAX_RESOLVE_PASSES = 1000;
Review Comment:
+1000 :)
--
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]