dimas-b commented on code in PR #3224:
URL: https://github.com/apache/polaris/pull/3224#discussion_r2594528821
##########
runtime/service/src/main/java/org/apache/polaris/service/catalog/io/StorageAccessConfigProvider.java:
##########
@@ -49,13 +50,16 @@ public class StorageAccessConfigProvider {
private final StorageCredentialCache storageCredentialCache;
private final StorageCredentialsVendor storageCredentialsVendor;
+ private final PolarisPrincipal polarisPrincipal;
@Inject
public StorageAccessConfigProvider(
StorageCredentialCache storageCredentialCache,
- StorageCredentialsVendor storageCredentialsVendor) {
+ StorageCredentialsVendor storageCredentialsVendor,
+ PolarisPrincipal polarisPrincipal) {
Review Comment:
Indeed... CI results (a fragment):
```
:polaris-runtime-service:test
org.apache.polaris.service.catalog.iceberg.IcebergCatalogRelationalNoEntityCacheTest
java.lang.IllegalStateException: No REST request in progress
at
org.jboss.resteasy.reactive.server.injection.ContextProducers.getContext(ContextProducers.java:149)
•••
at
org.apache.polaris.service.config.ServiceProducers.polarisPrincipal(ServiceProducers.java:197)
•••
at
org.apache.polaris.core.storage.cache.StorageCredentialCacheKey.of(StorageCredentialCacheKey.java:77)
at
org.apache.polaris.core.storage.cache.StorageCredentialCache.getOrGenerateSubScopeCreds(StorageCredentialCache.java:122)
•••
```
```
:polaris-runtime-service:test
org.apache.polaris.service.it.RestCatalogFileIntegrationTest
java.lang.AssertionError:
Expecting code not to raise a throwable but caught
"java.util.concurrent.CompletionException:
java.lang.IllegalStateException: No REST request in progress
at
java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:315)
at
java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:320)
at
java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1807)
at
io.smallrye.context.impl.wrappers.SlowContextualRunnable.run(SlowContextualRunnable.java:19)
at
org.jboss.threads.EnhancedViewExecutor$EnhancedViewExecutorRunnable.run(EnhancedViewExecutor.java:496)
at
io.quarkus.vertx.core.runtime.VertxCoreRecorder$15.runWith(VertxCoreRecorder.java:645)
at
org.jboss.threads.EnhancedQueueExecutor$Task.doRunWith(EnhancedQueueExecutor.java:2651)
at
org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2630)
at
org.jboss.threads.EnhancedQueueExecutor.runThreadBody(EnhancedQueueExecutor.java:1622)
at
org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1589)
at org.jboss.threads.DelegatingRunnable.run(DelegatingRunnable.java:11)
at
org.jboss.threads.ThreadLocalResettingRunnable.run(ThreadLocalResettingRunnable.java:11)
at
io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.base/java.lang.Thread.run(Thread.java:1583)
Caused by: java.lang.IllegalStateException: No REST request in progress
at
org.jboss.resteasy.reactive.server.injection.ContextProducers.getContext(ContextProducers.java:149)
at
org.jboss.resteasy.reactive.server.injection.ContextProducers.securityContext(ContextProducers.java:143)
at
org.jboss.resteasy.reactive.server.injection.ContextProducers_ProducerMethod_securityContext_Te5N_EppHq79q8NJD1SHmgfMtgk_Bean.create(Unknown
Source)
at
org.jboss.resteasy.reactive.server.injection.ContextProducers_ProducerMethod_securityContext_Te5N_EppHq79q8NJD1SHmgfMtgk_Bean.create(Unknown
Source)
at
io.quarkus.arc.impl.CurrentManagedContext$1.get(CurrentManagedContext.java:111)
at
io.quarkus.arc.impl.CurrentManagedContext$1.get(CurrentManagedContext.java:107)
at
io.quarkus.arc.generator.Default_jakarta_enterprise_context_RequestScoped_ContextInstances.ch44(Unknown
Source)
at
io.quarkus.arc.generator.Default_jakarta_enterprise_context_RequestScoped_ContextInstances.computeIfAbsent(Unknown
Source)
at
io.quarkus.arc.impl.CurrentManagedContext.getIfActive(CurrentManagedContext.java:107)
at
io.quarkus.arc.impl.ClientProxies.getSingleContextDelegate(ClientProxies.java:30)
at
jakarta.ws.rs.core.ContextProducers_ProducerMethod_securityContext_Te5N_EppHq79q8NJD1SHmgfMtgk_ClientProxy.arc$delegate(Unknown
Source)
at
jakarta.ws.rs.core.ContextProducers_ProducerMethod_securityContext_Te5N_EppHq79q8NJD1SHmgfMtgk_ClientProxy.getUserPrincipal(Unknown
Source)
at
org.apache.polaris.service.config.ServiceProducers.polarisPrincipal(ServiceProducers.java:197)
at
org.apache.polaris.service.config.ServiceProducers_ProducerMethod_polarisPrincipal_zDmpifKRoFToLBmCZPPPdL3Hxns_Bean.create(Unknown
Source)
at
org.apache.polaris.service.config.ServiceProducers_ProducerMethod_polarisPrincipal_zDmpifKRoFToLBmCZPPPdL3Hxns_Bean.create(Unknown
Source)
at
io.quarkus.arc.impl.CurrentManagedContext$1.get(CurrentManagedContext.java:111)
at
io.quarkus.arc.impl.CurrentManagedContext$1.get(CurrentManagedContext.java:107)
at
io.quarkus.arc.generator.Default_jakarta_enterprise_context_RequestScoped_ContextInstances.ch8(Unknown
Source)
at
io.quarkus.arc.generator.Default_jakarta_enterprise_context_RequestScoped_ContextInstances.computeIfAbsent(Unknown
Source)
at
io.quarkus.arc.impl.CurrentManagedContext.getIfActive(CurrentManagedContext.java:107)
at
io.quarkus.arc.impl.ClientProxies.getSingleContextDelegate(ClientProxies.java:30)
at
org.apache.polaris.core.auth.ServiceProducers_ProducerMethod_polarisPrincipal_zDmpifKRoFToLBmCZPPPdL3Hxns_ClientProxy.arc$delegate(Unknown
Source)
at
org.apache.polaris.core.auth.ServiceProducers_ProducerMethod_polarisPrincipal_zDmpifKRoFToLBmCZPPPdL3Hxns_ClientProxy.getName(Unknown
Source)
at
org.apache.polaris.core.storage.cache.StorageCredentialCacheKey.of(StorageCredentialCacheKey.java:77)
at
org.apache.polaris.core.storage.cache.StorageCredentialCache.getOrGenerateSubScopeCreds(StorageCredentialCache.java:122)
at
org.apache.polaris.core.storage.cache.ServiceProducers_ProducerMethod_storageCredentialCache_hzAWPa00ffa2II6zBfUMmDXk9AQ_ClientProxy.getOrGenerateSubScopeCreds(Unknown
Source)
at
org.apache.polaris.service.catalog.io.StorageAccessConfigProvider.getStorageAccessConfig(StorageAccessConfigProvider.java:120)
at
org.apache.polaris.service.catalog.io.StorageAccessConfigProvider_ClientProxy.getStorageAccessConfig(Unknown
Source)
at
org.apache.polaris.service.task.TaskFileIOSupplier.apply(TaskFileIOSupplier.java:64)
at
org.apache.polaris.service.task.TaskFileIOSupplier_ClientProxy.apply(Unknown
Source)
at
org.apache.polaris.service.task.TableCleanupTaskHandler.handleTask(TableCleanupTaskHandler.java:96)
at
org.apache.polaris.service.task.TaskExecutorImpl.handleTask(TaskExecutorImpl.java:209)
at
org.apache.polaris.service.task.TaskExecutorImpl.handleTaskWithTracing(TaskExecutorImpl.java:256)
at
org.apache.polaris.service.task.TaskExecutorImpl_Subclass.handleTaskWithTracing$$superforward(Unknown
Source)
at
org.apache.polaris.service.task.TaskExecutorImpl_Subclass$0.apply(Unknown
Source)
at
io.quarkus.arc.impl.AroundInvokeInvocationContext.proceed(AroundInvokeInvocationContext.java:73)
at
io.quarkus.arc.impl.AroundInvokeInvocationContext.proceed(AroundInvokeInvocationContext.java:62)
at
io.quarkus.arc.impl.ActivateRequestContextInterceptor.invoke(ActivateRequestContextInterceptor.java:124)
at io.quarkus.arc.impl.Activ
ateRequestContextInterceptor.aroundInvoke(ActivateRequestContextInterceptor.java:33)
at
io.quarkus.arc.impl.ActivateRequestContextInterceptor_Bean.intercept(Unknown
Source)
at
io.quarkus.arc.impl.InterceptorInvocation.invoke(InterceptorInvocation.java:42)
at
io.quarkus.arc.impl.AroundInvokeInvocationContext.perform(AroundInvokeInvocationContext.java:30)
at
io.quarkus.arc.impl.InvocationContexts.performAroundInvoke(InvocationContexts.java:27)
at
org.apache.polaris.service.task.TaskExecutorImpl_Subclass.handleTaskWithTracing(Unknown
Source)
at
org.apache.polaris.service.task.TaskExecutorImpl.lambda$tryHandleTask$2(TaskExecutorImpl.java:165)
at
java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1804)
... 11 more
"
at
org.apache.polaris.service.task.TaskErrorHandler.assertNoTaskExceptions(TaskErrorHandler.java:65)
•••
```
--
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]