From edf64bbda983ce2576a9f4f32ef94785db566c17 Mon Sep 17 00:00:00 2001 From: Dmitri Bourlatchkov Date: Thu, 13 Mar 2025 21:04:20 -0400 Subject: [PATCH 1/3] Simplify PolarisGrantManager Previously strongly typed methods redirected to typeless lookup methods, while implementations had only the typeless variant. This change reverts the redirects from strongly typed methods to existing typeless methods in implementations. As a result it is possible to simplify the interface by removing typeless lookup methods. Existing call sites all have strongly typed parameters available and use the typed lookup methods now. For context: This refactoring seems valuable by itself, but it is also needed for the upcoming NoSQL implementations for reasons similar to #1112 --- .../core/auth/PolarisGrantManager.java | 36 +---------------- .../AtomicOperationMetaStoreManager.java | 13 +++++- .../TransactionWorkspaceMetaStoreManager.java | 9 +++-- .../PolarisMetaStoreManagerImpl.java | 13 +++++- .../PolarisTestMetaStoreManager.java | 40 +++++++------------ .../quarkus/admin/PolarisAuthzTestBase.java | 3 +- .../service/admin/PolarisAdminService.java | 23 +++-------- 7 files changed, 49 insertions(+), 88 deletions(-) diff --git a/polaris-core/src/main/java/org/apache/polaris/core/auth/PolarisGrantManager.java b/polaris-core/src/main/java/org/apache/polaris/core/auth/PolarisGrantManager.java index 55177860f5..2583eda6d7 100644 --- a/polaris-core/src/main/java/org/apache/polaris/core/auth/PolarisGrantManager.java +++ b/polaris-core/src/main/java/org/apache/polaris/core/auth/PolarisGrantManager.java @@ -22,7 +22,6 @@ import jakarta.annotation.Nullable; import java.util.List; import org.apache.polaris.core.PolarisCallContext; -import org.apache.polaris.core.entity.PolarisBaseEntity; import org.apache.polaris.core.entity.PolarisEntityCore; import org.apache.polaris.core.entity.PolarisPrivilege; import org.apache.polaris.core.persistence.dao.entity.LoadGrantsResult; @@ -119,23 +118,8 @@ PrivilegeResult revokePrivilegeOnSecurableFromRole( * ENTITY_NOT_FOUND if the securable cannot be found */ @Nonnull - default LoadGrantsResult loadGrantsOnSecurable( - @Nonnull PolarisCallContext callCtx, PolarisBaseEntity securable) { - return loadGrantsOnSecurable(callCtx, securable.getCatalogId(), securable.getId()); - } - - /** - * This method should be used by the Polaris app to cache all grant records on a securable. - * - * @param callCtx call context - * @param securableCatalogId id of the catalog this securable belongs to - * @param securableId id of the securable - * @return the list of grants and the version of the grant records. We will return - * ENTITY_NOT_FOUND if the securable cannot be found - */ - @Nonnull LoadGrantsResult loadGrantsOnSecurable( - @Nonnull PolarisCallContext callCtx, long securableCatalogId, long securableId); + @Nonnull PolarisCallContext callCtx, PolarisEntityCore securable); /** * This method should be used by the Polaris app to load all grants made to a grantee, either a @@ -147,22 +131,6 @@ LoadGrantsResult loadGrantsOnSecurable( * grantee does not exist */ @Nonnull - default LoadGrantsResult loadGrantsToGrantee( - @Nonnull PolarisCallContext callCtx, PolarisBaseEntity grantee) { - return loadGrantsToGrantee(callCtx, grantee.getCatalogId(), grantee.getId()); - } - - /** - * This method should be used by the Polaris app to load all grants made to a grantee, either a - * role or a principal. - * - * @param callCtx call context - * @param granteeCatalogId id of the catalog this grantee belongs to - * @param granteeId id of the grantee - * @return the list of grants and the version of the grant records. We will return NULL if the - * grantee does not exist - */ - @Nonnull LoadGrantsResult loadGrantsToGrantee( - PolarisCallContext callCtx, long granteeCatalogId, long granteeId); + @Nonnull PolarisCallContext callCtx, PolarisEntityCore grantee); } diff --git a/polaris-core/src/main/java/org/apache/polaris/core/persistence/AtomicOperationMetaStoreManager.java b/polaris-core/src/main/java/org/apache/polaris/core/persistence/AtomicOperationMetaStoreManager.java index 26a1a1791b..ae68618df7 100644 --- a/polaris-core/src/main/java/org/apache/polaris/core/persistence/AtomicOperationMetaStoreManager.java +++ b/polaris-core/src/main/java/org/apache/polaris/core/persistence/AtomicOperationMetaStoreManager.java @@ -65,6 +65,7 @@ import org.apache.polaris.core.storage.PolarisStorageActions; import org.apache.polaris.core.storage.PolarisStorageConfigurationInfo; import org.apache.polaris.core.storage.PolarisStorageIntegration; +import org.jetbrains.annotations.NotNull; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -1328,8 +1329,12 @@ private void revokeGrantRecord( return new PrivilegeResult(grantRecord); } - /** {@inheritDoc} */ @Override + public @NotNull LoadGrantsResult loadGrantsOnSecurable( + @NotNull PolarisCallContext callCtx, PolarisEntityCore securable) { + return loadGrantsOnSecurable(callCtx, securable.getCatalogId(), securable.getId()); + } + public @Nonnull LoadGrantsResult loadGrantsOnSecurable( @Nonnull PolarisCallContext callCtx, long securableCatalogId, long securableId) { // get metastore we should be using @@ -1369,8 +1374,12 @@ private void revokeGrantRecord( entities.stream().filter(Objects::nonNull).collect(Collectors.toList())); } - /** {@inheritDoc} */ @Override + public @NotNull LoadGrantsResult loadGrantsToGrantee( + @NotNull PolarisCallContext callCtx, PolarisEntityCore grantee) { + return loadGrantsToGrantee(callCtx, grantee.getCatalogId(), grantee.getId()); + } + public @Nonnull LoadGrantsResult loadGrantsToGrantee( @Nonnull PolarisCallContext callCtx, long granteeCatalogId, long granteeId) { // get metastore we should be using diff --git a/polaris-core/src/main/java/org/apache/polaris/core/persistence/TransactionWorkspaceMetaStoreManager.java b/polaris-core/src/main/java/org/apache/polaris/core/persistence/TransactionWorkspaceMetaStoreManager.java index c8c59797c9..581dd089f9 100644 --- a/polaris-core/src/main/java/org/apache/polaris/core/persistence/TransactionWorkspaceMetaStoreManager.java +++ b/polaris-core/src/main/java/org/apache/polaris/core/persistence/TransactionWorkspaceMetaStoreManager.java @@ -50,6 +50,7 @@ import org.apache.polaris.core.persistence.dao.entity.ScopedCredentialsResult; import org.apache.polaris.core.persistence.dao.entity.ValidateAccessResult; import org.apache.polaris.core.storage.PolarisStorageActions; +import org.jetbrains.annotations.NotNull; /** * Wraps an existing impl of PolarisMetaStoreManager and delegates expected "read" operations @@ -280,8 +281,8 @@ public PrivilegeResult revokePrivilegeOnSecurableFromRole( } @Override - public LoadGrantsResult loadGrantsOnSecurable( - @Nonnull PolarisCallContext callCtx, long securableCatalogId, long securableId) { + public @NotNull LoadGrantsResult loadGrantsOnSecurable( + @NotNull PolarisCallContext callCtx, PolarisEntityCore securable) { callCtx .getDiagServices() .fail("illegal_method_in_transaction_workspace", "loadGrantsOnSecurable"); @@ -289,8 +290,8 @@ public LoadGrantsResult loadGrantsOnSecurable( } @Override - public LoadGrantsResult loadGrantsToGrantee( - PolarisCallContext callCtx, long granteeCatalogId, long granteeId) { + public @NotNull LoadGrantsResult loadGrantsToGrantee( + @NotNull PolarisCallContext callCtx, PolarisEntityCore grantee) { callCtx .getDiagServices() .fail("illegal_method_in_transaction_workspace", "loadGrantsToGrantee"); diff --git a/polaris-core/src/main/java/org/apache/polaris/core/persistence/transactional/PolarisMetaStoreManagerImpl.java b/polaris-core/src/main/java/org/apache/polaris/core/persistence/transactional/PolarisMetaStoreManagerImpl.java index 0b8a91c52b..f38bd0f7e4 100644 --- a/polaris-core/src/main/java/org/apache/polaris/core/persistence/transactional/PolarisMetaStoreManagerImpl.java +++ b/polaris-core/src/main/java/org/apache/polaris/core/persistence/transactional/PolarisMetaStoreManagerImpl.java @@ -66,6 +66,7 @@ import org.apache.polaris.core.storage.PolarisStorageActions; import org.apache.polaris.core.storage.PolarisStorageConfigurationInfo; import org.apache.polaris.core.storage.PolarisStorageIntegration; +import org.jetbrains.annotations.NotNull; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -1755,8 +1756,12 @@ private PolarisEntityResolver resolveSecurableToRoleGrant( entities.stream().filter(Objects::nonNull).collect(Collectors.toList())); } - /** {@inheritDoc} */ @Override + public @NotNull LoadGrantsResult loadGrantsOnSecurable( + @NotNull PolarisCallContext callCtx, PolarisEntityCore securable) { + return loadGrantsOnSecurable(callCtx, securable.getCatalogId(), securable.getId()); + } + public @Nonnull LoadGrantsResult loadGrantsOnSecurable( @Nonnull PolarisCallContext callCtx, long securableCatalogId, long securableId) { // get metastore we should be using @@ -1805,8 +1810,12 @@ private PolarisEntityResolver resolveSecurableToRoleGrant( entities.stream().filter(Objects::nonNull).collect(Collectors.toList())); } - /** {@inheritDoc} */ @Override + public @NotNull LoadGrantsResult loadGrantsToGrantee( + @NotNull PolarisCallContext callCtx, PolarisEntityCore grantee) { + return loadGrantsToGrantee(callCtx, grantee.getCatalogId(), grantee.getId()); + } + public @Nonnull LoadGrantsResult loadGrantsToGrantee( @Nonnull PolarisCallContext callCtx, long granteeCatalogId, long granteeId) { // get metastore we should be using diff --git a/polaris-core/src/testFixtures/java/org/apache/polaris/core/persistence/PolarisTestMetaStoreManager.java b/polaris-core/src/testFixtures/java/org/apache/polaris/core/persistence/PolarisTestMetaStoreManager.java index 55849baf44..9c1d6a307a 100644 --- a/polaris-core/src/testFixtures/java/org/apache/polaris/core/persistence/PolarisTestMetaStoreManager.java +++ b/polaris-core/src/testFixtures/java/org/apache/polaris/core/persistence/PolarisTestMetaStoreManager.java @@ -268,8 +268,7 @@ void ensureGrantRecordExists( // load all grant records on that securable, should not fail LoadGrantsResult loadGrantsOnSecurable = - polarisMetaStoreManager.loadGrantsOnSecurable( - this.polarisCallContext, securable.getCatalogId(), securable.getId()); + polarisMetaStoreManager.loadGrantsOnSecurable(this.polarisCallContext, securable); // ensure entities for these grant records have been properly loaded this.validateLoadedGrants(loadGrantsOnSecurable, false); @@ -278,8 +277,7 @@ void ensureGrantRecordExists( // load all grant records on that grantee, should not fail LoadGrantsResult loadGrantsOnGrantee = - polarisMetaStoreManager.loadGrantsToGrantee( - this.polarisCallContext, grantee.getCatalogId(), grantee.getId()); + polarisMetaStoreManager.loadGrantsToGrantee(this.polarisCallContext, grantee); // ensure entities for these grant records have been properly loaded this.validateLoadedGrants(loadGrantsOnGrantee, true); @@ -355,8 +353,7 @@ void ensureGrantRecordRemoved( // load all grant records on that securable, should not fail LoadGrantsResult loadGrantsOnSecurable = - polarisMetaStoreManager.loadGrantsOnSecurable( - this.polarisCallContext, securable.getCatalogId(), securable.getId()); + polarisMetaStoreManager.loadGrantsOnSecurable(this.polarisCallContext, securable); // ensure entities for these grant records have been properly loaded this.validateLoadedGrants(loadGrantsOnSecurable, false); @@ -365,8 +362,7 @@ void ensureGrantRecordRemoved( // load all grant records on that grantee, should not fail LoadGrantsResult loadGrantsOnGrantee = - polarisMetaStoreManager.loadGrantsToGrantee( - this.polarisCallContext, grantee.getCatalogId(), grantee.getId()); + polarisMetaStoreManager.loadGrantsToGrantee(this.polarisCallContext, grantee); this.validateLoadedGrants(loadGrantsOnGrantee, true); // check that the grant record has been removed @@ -734,14 +730,12 @@ void dropEntity(List catalogPath, PolarisBaseEntity entityToD granteeEntities = new ArrayList<>( polarisMetaStoreManager - .loadGrantsOnSecurable( - this.polarisCallContext, entity.getCatalogId(), entity.getId()) + .loadGrantsOnSecurable(this.polarisCallContext, entity) .getEntities()); securableEntities = new ArrayList<>( polarisMetaStoreManager - .loadGrantsToGrantee( - this.polarisCallContext, entity.getCatalogId(), entity.getId()) + .loadGrantsToGrantee(this.polarisCallContext, entity) .getEntities()); } else { granteeEntities = List.of(); @@ -831,8 +825,7 @@ void dropEntity(List catalogPath, PolarisBaseEntity entityToD // of the entity it was connected with before being dropped for (PolarisBaseEntity connectedEntity : granteeEntities) { LoadGrantsResult grantResult = - polarisMetaStoreManager.loadGrantsToGrantee( - this.polarisCallContext, connectedEntity.getCatalogId(), connectedEntity.getId()); + polarisMetaStoreManager.loadGrantsToGrantee(this.polarisCallContext, connectedEntity); if (grantResult.isSuccess()) { long cnt = grantResult.getGrantRecords().stream() @@ -853,8 +846,7 @@ void dropEntity(List catalogPath, PolarisBaseEntity entityToD } for (PolarisBaseEntity connectedEntity : securableEntities) { LoadGrantsResult grantResult = - polarisMetaStoreManager.loadGrantsOnSecurable( - this.polarisCallContext, connectedEntity.getCatalogId(), connectedEntity.getId()); + polarisMetaStoreManager.loadGrantsOnSecurable(this.polarisCallContext, connectedEntity); long cnt = grantResult.getGrantRecords().stream() .filter(gr -> gr.getGranteeId() == entityToDrop.getId()) @@ -1294,8 +1286,7 @@ private void validateCacheEntryLoad(ResolvedEntityResult cacheEntry) { List refGrantRecords = new ArrayList<>(); if (refEntity.getType().isGrantee()) { LoadGrantsResult loadGrantResult = - this.polarisMetaStoreManager.loadGrantsToGrantee( - this.polarisCallContext, refEntity.getCatalogId(), refEntity.getId()); + this.polarisMetaStoreManager.loadGrantsToGrantee(this.polarisCallContext, refEntity); this.validateLoadedGrants(loadGrantResult, true); // same version @@ -1306,8 +1297,7 @@ private void validateCacheEntryLoad(ResolvedEntityResult cacheEntry) { } LoadGrantsResult loadGrantResult = - this.polarisMetaStoreManager.loadGrantsOnSecurable( - this.polarisCallContext, refEntity.getCatalogId(), refEntity.getId()); + this.polarisMetaStoreManager.loadGrantsOnSecurable(this.polarisCallContext, refEntity); this.validateLoadedGrants(loadGrantResult, false); // same version @@ -1347,10 +1337,9 @@ private void validateCacheEntryRefresh( // reload the grants LoadGrantsResult loadGrantResult = refEntity.getType().isGrantee() - ? this.polarisMetaStoreManager.loadGrantsToGrantee( - this.polarisCallContext, catalogId, entityId) + ? this.polarisMetaStoreManager.loadGrantsToGrantee(this.polarisCallContext, refEntity) : this.polarisMetaStoreManager.loadGrantsOnSecurable( - this.polarisCallContext, catalogId, entityId); + this.polarisCallContext, refEntity); this.validateLoadedGrants(loadGrantResult, refEntity.getType().isGrantee()); Assertions.assertThat(cacheEntry.getGrantRecordsVersion()) .isEqualTo(loadGrantResult.getGrantsVersion()); @@ -2099,7 +2088,7 @@ public void testPrivileges() { grantToGrantee(catalog, R1, PR9000, PolarisPrivilege.CATALOG_ROLE_USAGE); LoadGrantsResult loadGrantsResult = - polarisMetaStoreManager.loadGrantsToGrantee(this.polarisCallContext, 0L, PR9000.getId()); + polarisMetaStoreManager.loadGrantsToGrantee(this.polarisCallContext, PR9000); this.validateLoadedGrants(loadGrantsResult, true); Assertions.assertThat(loadGrantsResult.getGrantRecords()).hasSize(1); Assertions.assertThat(loadGrantsResult.getGrantRecords().get(0).getSecurableCatalogId()) @@ -2107,8 +2096,7 @@ public void testPrivileges() { Assertions.assertThat(loadGrantsResult.getGrantRecords().get(0).getSecurableId()) .isEqualTo(R1.getId()); - loadGrantsResult = - polarisMetaStoreManager.loadGrantsToGrantee(this.polarisCallContext, 0L, PR900.getId()); + loadGrantsResult = polarisMetaStoreManager.loadGrantsToGrantee(this.polarisCallContext, PR900); Assertions.assertThat(loadGrantsResult).isNotNull(); Assertions.assertThat(loadGrantsResult.getGrantRecords()).hasSize(0); } diff --git a/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/admin/PolarisAuthzTestBase.java b/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/admin/PolarisAuthzTestBase.java index de0e03fa8d..ebf113ab70 100644 --- a/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/admin/PolarisAuthzTestBase.java +++ b/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/admin/PolarisAuthzTestBase.java @@ -362,8 +362,7 @@ public void after() { protected @Nonnull Set loadPrincipalRolesNames(AuthenticatedPolarisPrincipal p) { return metaStoreManager - .loadGrantsToGrantee( - callContext.getPolarisCallContext(), 0L, p.getPrincipalEntity().getId()) + .loadGrantsToGrantee(callContext.getPolarisCallContext(), p.getPrincipalEntity()) .getGrantRecords() .stream() .filter(gr -> gr.getPrivilegeCode() == PolarisPrivilege.PRINCIPAL_ROLE_USAGE.getCode()) diff --git a/service/common/src/main/java/org/apache/polaris/service/admin/PolarisAdminService.java b/service/common/src/main/java/org/apache/polaris/service/admin/PolarisAdminService.java index 0eafc27659..76f5997bdc 100644 --- a/service/common/src/main/java/org/apache/polaris/service/admin/PolarisAdminService.java +++ b/service/common/src/main/java/org/apache/polaris/service/admin/PolarisAdminService.java @@ -1217,8 +1217,7 @@ public List listPrincipalRolesAssigned(String principalName) { findPrincipalByName(principalName) .orElseThrow(() -> new NotFoundException("Principal %s not found", principalName)); LoadGrantsResult grantList = - metaStoreManager.loadGrantsToGrantee( - getCurrentPolarisContext(), principalEntity.getCatalogId(), principalEntity.getId()); + metaStoreManager.loadGrantsToGrantee(getCurrentPolarisContext(), principalEntity); return buildEntitiesFromGrantResults(grantList, false, PolarisEntityType.PRINCIPAL_ROLE, null); } @@ -1281,10 +1280,7 @@ public List listAssigneePrincipalsForPrincipalRole(String princip .orElseThrow( () -> new NotFoundException("PrincipalRole %s not found", principalRoleName)); LoadGrantsResult grantList = - metaStoreManager.loadGrantsOnSecurable( - getCurrentPolarisContext(), - principalRoleEntity.getCatalogId(), - principalRoleEntity.getId()); + metaStoreManager.loadGrantsOnSecurable(getCurrentPolarisContext(), principalRoleEntity); return buildEntitiesFromGrantResults(grantList, true, PolarisEntityType.PRINCIPAL, null); } @@ -1336,10 +1332,7 @@ public List listCatalogRolesForPrincipalRole( .orElseThrow( () -> new NotFoundException("PrincipalRole %s not found", principalRoleName)); LoadGrantsResult grantList = - metaStoreManager.loadGrantsToGrantee( - getCurrentPolarisContext(), - principalRoleEntity.getCatalogId(), - principalRoleEntity.getId()); + metaStoreManager.loadGrantsToGrantee(getCurrentPolarisContext(), principalRoleEntity); return buildEntitiesFromGrantResults( grantList, false, @@ -1565,10 +1558,7 @@ public List listAssigneePrincipalRolesForCatalogRole( findCatalogRoleByName(catalogName, catalogRoleName) .orElseThrow(() -> new NotFoundException("CatalogRole %s not found", catalogRoleName)); LoadGrantsResult grantList = - metaStoreManager.loadGrantsOnSecurable( - getCurrentPolarisContext(), - catalogRoleEntity.getCatalogId(), - catalogRoleEntity.getId()); + metaStoreManager.loadGrantsOnSecurable(getCurrentPolarisContext(), catalogRoleEntity); return buildEntitiesFromGrantResults(grantList, true, PolarisEntityType.PRINCIPAL_ROLE, null); } @@ -1584,10 +1574,7 @@ public List listGrantsForCatalogRole(String catalogName, String c findCatalogRoleByName(catalogName, catalogRoleName) .orElseThrow(() -> new NotFoundException("CatalogRole %s not found", catalogRoleName)); LoadGrantsResult grantList = - metaStoreManager.loadGrantsToGrantee( - getCurrentPolarisContext(), - catalogRoleEntity.getCatalogId(), - catalogRoleEntity.getId()); + metaStoreManager.loadGrantsToGrantee(getCurrentPolarisContext(), catalogRoleEntity); List catalogGrants = new ArrayList<>(); List namespaceGrants = new ArrayList<>(); List tableGrants = new ArrayList<>(); From 38e27b13ba732b239f4d38f3e3d1aa8d6c35495a Mon Sep 17 00:00:00 2001 From: Dmitri Bourlatchkov Date: Fri, 14 Mar 2025 08:35:03 -0400 Subject: [PATCH 2/3] review: jakarta annotations --- .../persistence/AtomicOperationMetaStoreManager.java | 9 ++++----- .../TransactionWorkspaceMetaStoreManager.java | 9 ++++----- .../transactional/PolarisMetaStoreManagerImpl.java | 9 ++++----- 3 files changed, 12 insertions(+), 15 deletions(-) diff --git a/polaris-core/src/main/java/org/apache/polaris/core/persistence/AtomicOperationMetaStoreManager.java b/polaris-core/src/main/java/org/apache/polaris/core/persistence/AtomicOperationMetaStoreManager.java index ae68618df7..46ae2a61c2 100644 --- a/polaris-core/src/main/java/org/apache/polaris/core/persistence/AtomicOperationMetaStoreManager.java +++ b/polaris-core/src/main/java/org/apache/polaris/core/persistence/AtomicOperationMetaStoreManager.java @@ -65,7 +65,6 @@ import org.apache.polaris.core.storage.PolarisStorageActions; import org.apache.polaris.core.storage.PolarisStorageConfigurationInfo; import org.apache.polaris.core.storage.PolarisStorageIntegration; -import org.jetbrains.annotations.NotNull; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -1330,8 +1329,8 @@ private void revokeGrantRecord( } @Override - public @NotNull LoadGrantsResult loadGrantsOnSecurable( - @NotNull PolarisCallContext callCtx, PolarisEntityCore securable) { + public @Nonnull LoadGrantsResult loadGrantsOnSecurable( + @Nonnull PolarisCallContext callCtx, PolarisEntityCore securable) { return loadGrantsOnSecurable(callCtx, securable.getCatalogId(), securable.getId()); } @@ -1375,8 +1374,8 @@ private void revokeGrantRecord( } @Override - public @NotNull LoadGrantsResult loadGrantsToGrantee( - @NotNull PolarisCallContext callCtx, PolarisEntityCore grantee) { + public @Nonnull LoadGrantsResult loadGrantsToGrantee( + @Nonnull PolarisCallContext callCtx, PolarisEntityCore grantee) { return loadGrantsToGrantee(callCtx, grantee.getCatalogId(), grantee.getId()); } diff --git a/polaris-core/src/main/java/org/apache/polaris/core/persistence/TransactionWorkspaceMetaStoreManager.java b/polaris-core/src/main/java/org/apache/polaris/core/persistence/TransactionWorkspaceMetaStoreManager.java index 581dd089f9..4f26c51fa6 100644 --- a/polaris-core/src/main/java/org/apache/polaris/core/persistence/TransactionWorkspaceMetaStoreManager.java +++ b/polaris-core/src/main/java/org/apache/polaris/core/persistence/TransactionWorkspaceMetaStoreManager.java @@ -50,7 +50,6 @@ import org.apache.polaris.core.persistence.dao.entity.ScopedCredentialsResult; import org.apache.polaris.core.persistence.dao.entity.ValidateAccessResult; import org.apache.polaris.core.storage.PolarisStorageActions; -import org.jetbrains.annotations.NotNull; /** * Wraps an existing impl of PolarisMetaStoreManager and delegates expected "read" operations @@ -281,8 +280,8 @@ public PrivilegeResult revokePrivilegeOnSecurableFromRole( } @Override - public @NotNull LoadGrantsResult loadGrantsOnSecurable( - @NotNull PolarisCallContext callCtx, PolarisEntityCore securable) { + public @Nonnull LoadGrantsResult loadGrantsOnSecurable( + @Nonnull PolarisCallContext callCtx, PolarisEntityCore securable) { callCtx .getDiagServices() .fail("illegal_method_in_transaction_workspace", "loadGrantsOnSecurable"); @@ -290,8 +289,8 @@ public PrivilegeResult revokePrivilegeOnSecurableFromRole( } @Override - public @NotNull LoadGrantsResult loadGrantsToGrantee( - @NotNull PolarisCallContext callCtx, PolarisEntityCore grantee) { + public @Nonnull LoadGrantsResult loadGrantsToGrantee( + @Nonnull PolarisCallContext callCtx, PolarisEntityCore grantee) { callCtx .getDiagServices() .fail("illegal_method_in_transaction_workspace", "loadGrantsToGrantee"); diff --git a/polaris-core/src/main/java/org/apache/polaris/core/persistence/transactional/PolarisMetaStoreManagerImpl.java b/polaris-core/src/main/java/org/apache/polaris/core/persistence/transactional/PolarisMetaStoreManagerImpl.java index f38bd0f7e4..67804c8810 100644 --- a/polaris-core/src/main/java/org/apache/polaris/core/persistence/transactional/PolarisMetaStoreManagerImpl.java +++ b/polaris-core/src/main/java/org/apache/polaris/core/persistence/transactional/PolarisMetaStoreManagerImpl.java @@ -66,7 +66,6 @@ import org.apache.polaris.core.storage.PolarisStorageActions; import org.apache.polaris.core.storage.PolarisStorageConfigurationInfo; import org.apache.polaris.core.storage.PolarisStorageIntegration; -import org.jetbrains.annotations.NotNull; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -1757,8 +1756,8 @@ private PolarisEntityResolver resolveSecurableToRoleGrant( } @Override - public @NotNull LoadGrantsResult loadGrantsOnSecurable( - @NotNull PolarisCallContext callCtx, PolarisEntityCore securable) { + public @Nonnull LoadGrantsResult loadGrantsOnSecurable( + @Nonnull PolarisCallContext callCtx, PolarisEntityCore securable) { return loadGrantsOnSecurable(callCtx, securable.getCatalogId(), securable.getId()); } @@ -1811,8 +1810,8 @@ private PolarisEntityResolver resolveSecurableToRoleGrant( } @Override - public @NotNull LoadGrantsResult loadGrantsToGrantee( - @NotNull PolarisCallContext callCtx, PolarisEntityCore grantee) { + public @Nonnull LoadGrantsResult loadGrantsToGrantee( + @Nonnull PolarisCallContext callCtx, PolarisEntityCore grantee) { return loadGrantsToGrantee(callCtx, grantee.getCatalogId(), grantee.getId()); } From a2b8e6af7ce3ccab9b0d2c605db59728ca27c887 Mon Sep 17 00:00:00 2001 From: Dmitri Bourlatchkov Date: Fri, 14 Mar 2025 16:11:05 -0400 Subject: [PATCH 3/3] review: restore {@inheritDoc} --- .../core/persistence/AtomicOperationMetaStoreManager.java | 2 ++ .../persistence/transactional/PolarisMetaStoreManagerImpl.java | 2 ++ 2 files changed, 4 insertions(+) diff --git a/polaris-core/src/main/java/org/apache/polaris/core/persistence/AtomicOperationMetaStoreManager.java b/polaris-core/src/main/java/org/apache/polaris/core/persistence/AtomicOperationMetaStoreManager.java index 46ae2a61c2..7dcc9f0ac6 100644 --- a/polaris-core/src/main/java/org/apache/polaris/core/persistence/AtomicOperationMetaStoreManager.java +++ b/polaris-core/src/main/java/org/apache/polaris/core/persistence/AtomicOperationMetaStoreManager.java @@ -1328,6 +1328,7 @@ private void revokeGrantRecord( return new PrivilegeResult(grantRecord); } + /** {@inheritDoc} */ @Override public @Nonnull LoadGrantsResult loadGrantsOnSecurable( @Nonnull PolarisCallContext callCtx, PolarisEntityCore securable) { @@ -1373,6 +1374,7 @@ private void revokeGrantRecord( entities.stream().filter(Objects::nonNull).collect(Collectors.toList())); } + /** {@inheritDoc} */ @Override public @Nonnull LoadGrantsResult loadGrantsToGrantee( @Nonnull PolarisCallContext callCtx, PolarisEntityCore grantee) { diff --git a/polaris-core/src/main/java/org/apache/polaris/core/persistence/transactional/PolarisMetaStoreManagerImpl.java b/polaris-core/src/main/java/org/apache/polaris/core/persistence/transactional/PolarisMetaStoreManagerImpl.java index 67804c8810..89e5c7b80f 100644 --- a/polaris-core/src/main/java/org/apache/polaris/core/persistence/transactional/PolarisMetaStoreManagerImpl.java +++ b/polaris-core/src/main/java/org/apache/polaris/core/persistence/transactional/PolarisMetaStoreManagerImpl.java @@ -1755,6 +1755,7 @@ private PolarisEntityResolver resolveSecurableToRoleGrant( entities.stream().filter(Objects::nonNull).collect(Collectors.toList())); } + /** {@inheritDoc} */ @Override public @Nonnull LoadGrantsResult loadGrantsOnSecurable( @Nonnull PolarisCallContext callCtx, PolarisEntityCore securable) { @@ -1809,6 +1810,7 @@ private PolarisEntityResolver resolveSecurableToRoleGrant( entities.stream().filter(Objects::nonNull).collect(Collectors.toList())); } + /** {@inheritDoc} */ @Override public @Nonnull LoadGrantsResult loadGrantsToGrantee( @Nonnull PolarisCallContext callCtx, PolarisEntityCore grantee) {