Inject PolarisAdminService into PolarisServiceImpl#2533
Conversation
f53eed0 to
67a272a
Compare
| import jakarta.annotation.Nonnull; | ||
| import org.apache.polaris.core.PolarisCallContext; | ||
| import org.apache.polaris.core.persistence.dao.entity.PrincipalSecretsResult; | ||
| import software.amazon.awssdk.annotations.NotNull; |
| */ | ||
| private boolean requiresSecretReferenceExtraction( | ||
| @NotNull ConnectionConfigInfo connectionConfigInfo) { | ||
| @Nonnull ConnectionConfigInfo connectionConfigInfo) { |
There was a problem hiding this comment.
needed to be changed as quarkus thought this might be a rest endpoint or the like, quite sure Nonnull was the original intent (i.e. not validation here)
| private PolarisAdminService newAdminService( | ||
| RealmContext realmContext, SecurityContext securityContext) { | ||
| PolarisPrincipal authenticatedPrincipal = (PolarisPrincipal) securityContext.getUserPrincipal(); | ||
| if (authenticatedPrincipal == null) { |
There was a problem hiding this comment.
note that this checks happens in PolarisAdminService ctor already
| @@ -172,7 +126,6 @@ private static Response toResponse(BaseResult result, Response.Status successSta | |||
| @Override | |||
| public Response createCatalog( | |||
| CreateCatalogRequest request, RealmContext realmContext, SecurityContext securityContext) { | |||
There was a problem hiding this comment.
the realmContext and securityContext params in these methods are now all unused.
note that since this class has a CallContext field, we can be sure that realmContext is matching the one from the injected request-scoped fields.
wondering:
should we adjust openapi server-templates to remove one/both from the apis (now/in a followup)?
There was a problem hiding this comment.
I'd say remove in a follow-up.
There was a problem hiding this comment.
+1 on follow-up, the same should apply to IcebergAdapter, GenericTableAdapter and PolicyAdapter. I think the server template update will not be a small PR
| @@ -172,7 +126,6 @@ private static Response toResponse(BaseResult result, Response.Status successSta | |||
| @Override | |||
| public Response createCatalog( | |||
| CreateCatalogRequest request, RealmContext realmContext, SecurityContext securityContext) { | |||
There was a problem hiding this comment.
+1 on follow-up, the same should apply to IcebergAdapter, GenericTableAdapter and PolicyAdapter. I think the server template update will not be a small PR
`PolarisServiceImpl` already is a request-scoped bean. if we apply the same to `PolarisAdminService` we can simply inject it into `PolarisServiceImpl`.
67a272a to
5a46a7d
Compare
* Fix deprecation warnings in GcpCredentialsStorageIntegrationTest (apache#2544) * Fix deprecation warnings in GcpCredentialsStorageIntegrationTest Refactor the code to use an explicit InputStream Cf. FasterXML/jackson-core#803 * Add subtype-check to PolarisEntity subclass ctors (apache#2492) this is a follow-up to ac31963 * Inject PolarisAdminService into PolarisServiceImpl (apache#2533) `PolarisServiceImpl` already is a request-scoped bean. if we apply the same to `PolarisAdminService` we can simply inject it into `PolarisServiceImpl`. * Reduce getOrCreateMetaStoreManager callers (apache#2532) we can inject `PolarisMetaStoreManager` directly into request-scoped beans or build it only once in tests that operate in a single realm. * Update dependency mypy to >=1.18, <=1.18.1 (apache#2547) * Update dependency pyiceberg to v0.10.0 (apache#2549) Co-authored-by: Yong Zheng <[email protected]> * Minor fix for README.md (apache#2558) * Testing: Let runtime-service tests use Quarkus via `enforcedPlatform()` (apache#2545) This change ensures that the tests in runtime-service use the same Quarkus platform dependency versions as Polaris server does. * Update quay.io/keycloak/keycloak Docker tag to v26.3.4 (apache#2553) * Update dependency software.amazon.awssdk:bom to v2.33.9 (apache#2561) * NoSQL: remove unused type * Last merged commit a2f29cb * disable flaky test apache#2563 --------- Co-authored-by: Dmitri Bourlatchkov <[email protected]> Co-authored-by: Christopher Lambert <[email protected]> Co-authored-by: Mend Renovate <[email protected]> Co-authored-by: Yong Zheng <[email protected]>
PolarisServiceImplalready is a request-scoped bean. if we apply the same toPolarisAdminServicewe can simply inject it intoPolarisServiceImpl.