Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,6 @@
import org.apache.polaris.core.entity.PolarisEntity;
import org.apache.polaris.core.entity.PolarisEntityType;
import org.apache.polaris.core.entity.PrincipalRoleEntity;
import org.apache.polaris.core.persistence.MetaStoreManagerFactory;
import org.apache.polaris.core.persistence.PolarisMetaStoreManager;
import org.apache.polaris.core.persistence.dao.entity.EntityResult;
import org.apache.polaris.core.persistence.dao.entity.LoadGrantsResult;
Expand All @@ -55,7 +54,7 @@ public class DefaultActiveRolesProvider implements ActiveRolesProvider {

@Inject PolarisDiagnostics diagnostics;
@Inject CallContext callContext;
@Inject MetaStoreManagerFactory metaStoreManagerFactory;
@Inject PolarisMetaStoreManager metaStoreManager;

@Override
public Set<String> getActiveRoles(PolarisPrincipal principal) {
Expand All @@ -68,9 +67,7 @@ public Set<String> getActiveRoles(PolarisPrincipal principal) {
}
List<PrincipalRoleEntity> activeRoles =
loadActivePrincipalRoles(
principal.getRoles(),
persistedPolarisPrincipal.getEntity(),
metaStoreManagerFactory.getOrCreateMetaStoreManager(callContext.getRealmContext()));
principal.getRoles(), persistedPolarisPrincipal.getEntity(), metaStoreManager);
return activeRoles.stream().map(PrincipalRoleEntity::getName).collect(Collectors.toSet());
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@
import org.apache.polaris.core.entity.PolarisEntity;
import org.apache.polaris.core.entity.PolarisEntityType;
import org.apache.polaris.core.entity.PrincipalEntity;
import org.apache.polaris.core.persistence.MetaStoreManagerFactory;
import org.apache.polaris.core.persistence.PolarisMetaStoreManager;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
Expand All @@ -50,14 +49,12 @@ public class DefaultAuthenticator implements Authenticator {

private static final Logger LOGGER = LoggerFactory.getLogger(DefaultAuthenticator.class);

@Inject MetaStoreManagerFactory metaStoreManagerFactory;
@Inject CallContext callContext;
@Inject PolarisMetaStoreManager metaStoreManager;

@Override
public PolarisPrincipal authenticate(PolarisCredential credentials) {
LOGGER.debug("Resolving principal for credentials={}", credentials);
PolarisMetaStoreManager metaStoreManager =
metaStoreManagerFactory.getOrCreateMetaStoreManager(callContext.getRealmContext());
PolarisEntity principal = null;
try {
// If the principal id is present, prefer to use it to load the principal entity,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,14 +41,12 @@
import org.apache.polaris.core.admin.model.UpdateCatalogRequest;
import org.apache.polaris.core.auth.PolarisAuthorizerImpl;
import org.apache.polaris.core.auth.PolarisPrincipal;
import org.apache.polaris.core.context.RealmContext;
import org.apache.polaris.core.entity.PolarisBaseEntity;
import org.apache.polaris.core.entity.PolarisEntityConstants;
import org.apache.polaris.core.entity.PolarisEntitySubType;
import org.apache.polaris.core.entity.PolarisEntityType;
import org.apache.polaris.core.entity.PrincipalEntity;
import org.apache.polaris.core.entity.PrincipalRoleEntity;
import org.apache.polaris.core.persistence.MetaStoreManagerFactory;
import org.apache.polaris.core.persistence.PolarisMetaStoreManager;
import org.apache.polaris.core.persistence.dao.entity.BaseResult;
import org.apache.polaris.core.persistence.dao.entity.CreateCatalogResult;
Expand Down Expand Up @@ -228,12 +226,6 @@ public void testUpdateCatalogWithDisallowedStorageConfig() {
.hasMessage("Explicitly setting S3 endpoints is not allowed.");
}

private PolarisMetaStoreManager setupMetaStoreManager() {
MetaStoreManagerFactory metaStoreManagerFactory = services.metaStoreManagerFactory();
RealmContext realmContext = services.realmContext();
return metaStoreManagerFactory.getOrCreateMetaStoreManager(realmContext);
}

private PolarisAdminService setupPolarisAdminService(
PolarisMetaStoreManager metaStoreManager, PolarisCallContext callContext) {
return new PolarisAdminService(
Expand Down Expand Up @@ -297,7 +289,7 @@ private PrincipalRoleEntity createRole(

@Test
public void testCannotAssignFederatedEntities() {
PolarisMetaStoreManager metaStoreManager = setupMetaStoreManager();
PolarisMetaStoreManager metaStoreManager = services.metaStoreManager();
PolarisCallContext callContext = services.newCallContext();
PolarisAdminService polarisAdminService =
setupPolarisAdminService(metaStoreManager, callContext);
Expand All @@ -316,7 +308,7 @@ public void testCannotAssignFederatedEntities() {

@Test
public void testCanListCatalogs() {
PolarisMetaStoreManager metaStoreManager = setupMetaStoreManager();
PolarisMetaStoreManager metaStoreManager = services.metaStoreManager();
PolarisCallContext callContext = services.newCallContext();
PolarisAdminService polarisAdminService =
setupPolarisAdminService(metaStoreManager, callContext);
Expand Down Expand Up @@ -356,7 +348,7 @@ public void testCanListCatalogs() {

@Test
public void testCreateCatalogReturnErrorOnFailure() {
PolarisMetaStoreManager metaStoreManager = Mockito.spy(setupMetaStoreManager());
PolarisMetaStoreManager metaStoreManager = Mockito.spy(services.metaStoreManager());
PolarisCallContext callContext = services.newCallContext();
PolarisAdminService polarisAdminService =
setupPolarisAdminService(metaStoreManager, callContext);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@
import org.apache.polaris.core.PolarisCallContext;
import org.apache.polaris.core.context.RealmContext;
import org.apache.polaris.core.entity.PolarisEntityType;
import org.apache.polaris.core.persistence.MetaStoreManagerFactory;
import org.apache.polaris.core.persistence.PolarisMetaStoreManager;
import org.apache.polaris.core.persistence.dao.entity.BaseResult;
import org.apache.polaris.core.persistence.dao.entity.EntityResult;
Expand All @@ -46,11 +45,8 @@ public void setUp() {
polarisCallContext = Mockito.mock(PolarisCallContext.class);
when(polarisCallContext.getRealmContext()).thenReturn(realmContext);
metaStoreManager = Mockito.mock(PolarisMetaStoreManager.class);
MetaStoreManagerFactory metaStoreManagerFactory = Mockito.mock(MetaStoreManagerFactory.class);
when(metaStoreManagerFactory.getOrCreateMetaStoreManager(realmContext))
.thenReturn(metaStoreManager);
authenticator = new DefaultAuthenticator();
authenticator.metaStoreManagerFactory = metaStoreManagerFactory;
authenticator.metaStoreManager = metaStoreManager;
authenticator.callContext = polarisCallContext;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -169,8 +169,7 @@ public void testLoadFileIOForCleanupTask(String scheme) {

List<PolarisBaseEntity> tasks =
testServices
.metaStoreManagerFactory()
.getOrCreateMetaStoreManager(realmContext)
.metaStoreManager()
.loadTasks(callContext.getPolarisCallContext(), "testExecutor", PageToken.fromLimit(1))
.getEntities();
Assertions.assertThat(tasks).hasSize(1);
Expand Down Expand Up @@ -228,7 +227,7 @@ IcebergCatalog createCatalog(TestServices services, String scheme) {
services.polarisDiagnostics(),
services.storageCredentialCache(),
services.resolverFactory(),
services.metaStoreManagerFactory().getOrCreateMetaStoreManager(realmContext),
services.metaStoreManager(),
callContext,
passthroughView,
services.securityContext(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@
import org.apache.polaris.core.entity.TaskEntity;
import org.apache.polaris.core.entity.table.IcebergTableLikeEntity;
import org.apache.polaris.core.persistence.MetaStoreManagerFactory;
import org.apache.polaris.core.persistence.PolarisMetaStoreManager;
import org.apache.polaris.core.persistence.pagination.PageToken;
import org.apache.polaris.service.TestFileIOFactory;
import org.assertj.core.api.Assertions;
Expand All @@ -62,6 +63,7 @@ class TableCleanupTaskHandlerTest {
@Inject MetaStoreManagerFactory metaStoreManagerFactory;
@Inject PolarisConfigurationStore configurationStore;

private PolarisMetaStoreManager metaStoreManager;
private CallContext callContext;

private final RealmContext realmContext = () -> "realmName";
Expand All @@ -76,6 +78,7 @@ private TableCleanupTaskHandler newTableCleanupTaskHandler(FileIO fileIO) {
void setup() {
QuarkusMock.installMockForType(realmContext, RealmContext.class);

metaStoreManager = metaStoreManagerFactory.getOrCreateMetaStoreManager(realmContext);
callContext =
new PolarisCallContext(
realmContext,
Expand Down Expand Up @@ -121,8 +124,7 @@ public void testTableCleanup() throws IOException {
handler.handleTask(task, callContext);

assertThat(
metaStoreManagerFactory
.getOrCreateMetaStoreManager(realmContext)
metaStoreManager
.loadTasks(callContext.getPolarisCallContext(), "test", PageToken.fromLimit(2))
.getEntities())
.hasSize(2)
Expand Down Expand Up @@ -196,8 +198,7 @@ public void close() {

// both tasks successfully executed, but only one should queue subtasks
assertThat(
metaStoreManagerFactory
.getOrCreateMetaStoreManager(realmContext)
metaStoreManager
.loadTasks(callContext.getPolarisCallContext(), "test", PageToken.fromLimit(5))
.getEntities())
.hasSize(2);
Expand Down Expand Up @@ -254,8 +255,7 @@ public void close() {

// both tasks successfully executed, but only one should queue subtasks
assertThat(
metaStoreManagerFactory
.getOrCreateMetaStoreManager(realmContext)
metaStoreManager
.loadTasks(callContext.getPolarisCallContext(), "test", PageToken.fromLimit(5))
.getEntities())
.hasSize(4)
Expand Down Expand Up @@ -367,8 +367,7 @@ public void testTableCleanupMultipleSnapshots() throws IOException {
handler.handleTask(task, callContext);

List<PolarisBaseEntity> entities =
metaStoreManagerFactory
.getOrCreateMetaStoreManager(realmContext)
metaStoreManager
.loadTasks(callContext.getPolarisCallContext(), "test", PageToken.fromLimit(5))
.getEntities();

Expand Down Expand Up @@ -535,8 +534,7 @@ public void testTableCleanupMultipleMetadata() throws IOException {
handler.handleTask(task, callContext);

List<PolarisBaseEntity> entities =
metaStoreManagerFactory
.getOrCreateMetaStoreManager(callContext.getRealmContext())
metaStoreManager
.loadTasks(callContext.getPolarisCallContext(), "test", PageToken.fromLimit(6))
.getEntities();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@
import org.apache.polaris.core.context.CallContext;
import org.apache.polaris.core.context.RealmContext;
import org.apache.polaris.core.entity.TaskEntity;
import org.apache.polaris.core.persistence.MetaStoreManagerFactory;
import org.apache.polaris.core.persistence.PolarisMetaStoreManager;
import org.apache.polaris.service.TestServices;
import org.apache.polaris.service.events.AfterTaskAttemptedEvent;
Expand All @@ -43,9 +42,7 @@ void testEventsAreEmitted() {
TestPolarisEventListener testPolarisEventListener =
(TestPolarisEventListener) testServices.polarisEventListener();

MetaStoreManagerFactory metaStoreManagerFactory = testServices.metaStoreManagerFactory();
PolarisMetaStoreManager metaStoreManager =
metaStoreManagerFactory.getOrCreateMetaStoreManager(realmContext);
PolarisMetaStoreManager metaStoreManager = testServices.metaStoreManager();

PolarisCallContext polarisCallCtx = testServices.newCallContext();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,7 @@ public record TestServices(
RealmContext realmContext,
RealmConfig realmConfig,
SecurityContext securityContext,
PolarisMetaStoreManager metaStoreManager,
FileIOFactory fileIOFactory,
TaskExecutor taskExecutor,
PolarisEventListener polarisEventListener) {
Expand Down Expand Up @@ -305,6 +306,7 @@ public String getAuthenticationScheme() {
realmContext,
realmConfig,
securityContext,
metaStoreManager,
fileIOFactory,
taskExecutor,
polarisEventListener);
Expand Down