dimas-b opened a new issue, #3061:
URL: https://github.com/apache/polaris/issues/3061
### Describe the bug
* Execute `select * from myView` in Spark
* Observe multiple metadata load requests in Polaris.
Server-side stack traces:
```
java.lang.Exception: test
at
java.base/java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:733)
at
com.intellij.rt.debugger.MethodInvoker.invokeInternal(MethodInvoker.java:223)
at com.intellij.rt.debugger.MethodInvoker.invoke1(MethodInvoker.java:35)
at
org.apache.iceberg.aws.s3.S3InputFile.fromLocation(S3InputFile.java:128)
at
org.apache.iceberg.aws.s3.S3InputFile.fromLocation(S3InputFile.java:123)
at org.apache.iceberg.aws.s3.S3FileIO.newInputFile(S3FileIO.java:180)
at
org.apache.polaris.service.catalog.io.ExceptionMappingFileIO.newInputFile(ExceptionMappingFileIO.java:55)
at
org.apache.polaris.service.catalog.iceberg.IcebergCatalog$BasePolarisViewOperations.lambda$doRefresh$0(IcebergCatalog.java:1805)
at
org.apache.polaris.service.catalog.iceberg.IcebergCatalog$PolarisOperationsBase.lambda$refreshFromMetadataLocation$0(IcebergCatalog.java:2033)
at
org.apache.iceberg.util.Tasks$Builder.runTaskWithRetry(Tasks.java:413)
at
org.apache.iceberg.util.Tasks$Builder.runSingleThreaded(Tasks.java:219)
at org.apache.iceberg.util.Tasks$Builder.run(Tasks.java:203)
at org.apache.iceberg.util.Tasks$Builder.run(Tasks.java:196)
at
org.apache.polaris.service.catalog.iceberg.IcebergCatalog$PolarisOperationsBase.refreshFromMetadataLocation(IcebergCatalog.java:2033)
at
org.apache.polaris.service.catalog.iceberg.IcebergCatalog$BasePolarisViewOperations.doRefresh(IcebergCatalog.java:1786)
at
org.apache.polaris.service.catalog.iceberg.IcebergCatalog$BasePolarisViewOperations.refresh(IcebergCatalog.java:1715)
at
org.apache.polaris.service.catalog.iceberg.IcebergCatalog$BasePolarisViewOperations.current(IcebergCatalog.java:1705)
at
org.apache.iceberg.view.BaseMetastoreViewCatalog.loadView(BaseMetastoreViewCatalog.java:60)
at
org.apache.polaris.service.catalog.iceberg.CatalogHandlerUtils.loadView(CatalogHandlerUtils.java:787)
at
org.apache.polaris.service.catalog.iceberg.CatalogHandlerUtils_ClientProxy.loadView(Unknown
Source)
at
org.apache.polaris.service.catalog.iceberg.IcebergCatalogHandler.loadView(IcebergCatalogHandler.java:1108)
at
org.apache.polaris.service.catalog.iceberg.IcebergCatalogAdapter.lambda$loadView$18(IcebergCatalogAdapter.java:643)
at
org.apache.polaris.service.catalog.iceberg.IcebergCatalogAdapter.withCatalog(IcebergCatalogAdapter.java:203)
at
org.apache.polaris.service.catalog.iceberg.IcebergCatalogAdapter.loadView(IcebergCatalogAdapter.java:642)
at
org.apache.polaris.service.catalog.iceberg.IcebergCatalogAdapter_Subclass.loadView$$superforward(Unknown
Source)
at
org.apache.polaris.service.catalog.iceberg.IcebergRestCatalogEventServiceDelegator_Gj_WCptqTcdHu-fbZfgVkAwPXCI_Delegate_Subclass.loadView(Unknown
Source)
at
org.apache.polaris.service.catalog.iceberg.IcebergRestCatalogEventServiceDelegator.loadView(IcebergRestCatalogEventServiceDelegator.java:449)
at
org.apache.polaris.service.catalog.iceberg.IcebergCatalogAdapter_Subclass.loadView(Unknown
Source)
at
org.apache.polaris.service.catalog.iceberg.IcebergCatalogAdapter_ClientProxy.loadView(Unknown
Source)
at
org.apache.polaris.service.catalog.api.IcebergRestCatalogApi.loadView(IcebergRestCatalogApi.java:601)
at
org.apache.polaris.service.catalog.api.IcebergRestCatalogApi_Subclass.loadView$$superforward(Unknown
Source)
at
org.apache.polaris.service.catalog.api.IcebergRestCatalogApi_Subclass$$function$$14.apply(Unknown
Source)
at
io.quarkus.arc.impl.AroundInvokeInvocationContext.proceed(AroundInvokeInvocationContext.java:73)
at
io.quarkus.arc.impl.AroundInvokeInvocationContext$NextAroundInvokeInvocationContext.proceed(AroundInvokeInvocationContext.java:97)
at
io.smallrye.faulttolerance.FaultToleranceInterceptor.lambda$syncFlow$8(FaultToleranceInterceptor.java:364)
at io.smallrye.faulttolerance.core.Future.from(Future.java:85)
at
io.smallrye.faulttolerance.FaultToleranceInterceptor.lambda$syncFlow$9(FaultToleranceInterceptor.java:364)
at
io.smallrye.faulttolerance.core.FaultToleranceContext.call(FaultToleranceContext.java:20)
at io.smallrye.faulttolerance.core.Invocation.apply(Invocation.java:29)
at
io.smallrye.faulttolerance.core.metrics.MetricsCollector.apply(MetricsCollector.java:98)
at
io.smallrye.faulttolerance.FaultToleranceInterceptor.syncFlow(FaultToleranceInterceptor.java:367)
at
io.smallrye.faulttolerance.FaultToleranceInterceptor.intercept(FaultToleranceInterceptor.java:205)
at
io.smallrye.faulttolerance.FaultToleranceInterceptor_Bean.intercept(Unknown
Source)
at
io.quarkus.arc.impl.InterceptorInvocation.invoke(InterceptorInvocation.java:42)
at
io.quarkus.arc.impl.AroundInvokeInvocationContext.proceed(AroundInvokeInvocationContext.java:70)
at
io.quarkus.arc.impl.AroundInvokeInvocationContext$NextAroundInvokeInvocationContext.proceed(AroundInvokeInvocationContext.java:97)
at
io.quarkus.micrometer.runtime.MicrometerTimedInterceptor.timedMethod(MicrometerTimedInterceptor.java:79)
at
io.quarkus.micrometer.runtime.MicrometerTimedInterceptor_Bean.intercept(Unknown
Source)
at
io.quarkus.arc.impl.InterceptorInvocation.invoke(InterceptorInvocation.java:42)
at
io.quarkus.arc.impl.AroundInvokeInvocationContext.proceed(AroundInvokeInvocationContext.java:70)
at
io.quarkus.arc.impl.AroundInvokeInvocationContext$NextAroundInvokeInvocationContext.proceed(AroundInvokeInvocationContext.java:97)
at
io.quarkus.security.runtime.interceptor.SecurityHandler.handle(SecurityHandler.java:27)
at
io.quarkus.security.runtime.interceptor.RolesAllowedInterceptor.intercept(RolesAllowedInterceptor.java:29)
at
io.quarkus.security.runtime.interceptor.RolesAllowedInterceptor_Bean.intercept(Unknown
Source)
at
io.quarkus.arc.impl.InterceptorInvocation.invoke(InterceptorInvocation.java:42)
at
io.quarkus.arc.impl.AroundInvokeInvocationContext.proceed(AroundInvokeInvocationContext.java:70)
at
io.quarkus.arc.impl.AroundInvokeInvocationContext.proceed(AroundInvokeInvocationContext.java:62)
at
io.quarkus.resteasy.reactive.server.runtime.StandardSecurityCheckInterceptor.intercept(StandardSecurityCheckInterceptor.java:44)
at
io.quarkus.resteasy.reactive.server.runtime.StandardSecurityCheckInterceptor_RolesAllowedInterceptor_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.catalog.api.IcebergRestCatalogApi_Subclass.loadView(Unknown
Source)
at
org.apache.polaris.service.catalog.api.IcebergRestCatalogApi$quarkusrestinvoker$loadView_d5fff3aacc446846eb9ee060dafd41bcfe4365c5.invoke(Unknown
Source)
at
org.jboss.resteasy.reactive.server.handlers.InvocationHandler.handle(InvocationHandler.java:29)
at
io.quarkus.resteasy.reactive.server.runtime.QuarkusResteasyReactiveRequestContext.invokeHandler(QuarkusResteasyReactiveRequestContext.java:183)
at
org.jboss.resteasy.reactive.common.core.AbstractResteasyReactiveContext.run(AbstractResteasyReactiveContext.java:147)
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)
```
```
java.lang.Exception: test
at
java.base/java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:733)
at
com.intellij.rt.debugger.MethodInvoker.invokeInternal(MethodInvoker.java:223)
at com.intellij.rt.debugger.MethodInvoker.invoke1(MethodInvoker.java:35)
at
org.apache.iceberg.aws.s3.S3InputFile.fromLocation(S3InputFile.java:128)
at
org.apache.iceberg.aws.s3.S3InputFile.fromLocation(S3InputFile.java:123)
at org.apache.iceberg.aws.s3.S3FileIO.newInputFile(S3FileIO.java:180)
at
org.apache.polaris.service.catalog.io.ExceptionMappingFileIO.newInputFile(ExceptionMappingFileIO.java:55)
at
org.apache.polaris.service.catalog.iceberg.IcebergCatalog$BasePolarisViewOperations.lambda$doRefresh$0(IcebergCatalog.java:1805)
at
org.apache.polaris.service.catalog.iceberg.IcebergCatalog$PolarisOperationsBase.lambda$refreshFromMetadataLocation$0(IcebergCatalog.java:2033)
at
org.apache.iceberg.util.Tasks$Builder.runTaskWithRetry(Tasks.java:413)
at
org.apache.iceberg.util.Tasks$Builder.runSingleThreaded(Tasks.java:219)
at org.apache.iceberg.util.Tasks$Builder.run(Tasks.java:203)
at org.apache.iceberg.util.Tasks$Builder.run(Tasks.java:196)
at
org.apache.polaris.service.catalog.iceberg.IcebergCatalog$PolarisOperationsBase.refreshFromMetadataLocation(IcebergCatalog.java:2033)
at
org.apache.polaris.service.catalog.iceberg.IcebergCatalog$BasePolarisViewOperations.doRefresh(IcebergCatalog.java:1786)
at
org.apache.polaris.service.catalog.iceberg.IcebergCatalog$BasePolarisViewOperations.refresh(IcebergCatalog.java:1715)
at
org.apache.polaris.service.catalog.iceberg.IcebergCatalog$BasePolarisViewOperations.current(IcebergCatalog.java:1705)
at
org.apache.polaris.service.catalog.iceberg.CatalogHandlerUtils.viewResponse(CatalogHandlerUtils.java:773)
at
org.apache.polaris.service.catalog.iceberg.CatalogHandlerUtils.loadView(CatalogHandlerUtils.java:788)
at
org.apache.polaris.service.catalog.iceberg.CatalogHandlerUtils_ClientProxy.loadView(Unknown
Source)
at
org.apache.polaris.service.catalog.iceberg.IcebergCatalogHandler.loadView(IcebergCatalogHandler.java:1108)
at
org.apache.polaris.service.catalog.iceberg.IcebergCatalogAdapter.lambda$loadView$18(IcebergCatalogAdapter.java:643)
at
org.apache.polaris.service.catalog.iceberg.IcebergCatalogAdapter.withCatalog(IcebergCatalogAdapter.java:203)
at
org.apache.polaris.service.catalog.iceberg.IcebergCatalogAdapter.loadView(IcebergCatalogAdapter.java:642)
at
org.apache.polaris.service.catalog.iceberg.IcebergCatalogAdapter_Subclass.loadView$$superforward(Unknown
Source)
at
org.apache.polaris.service.catalog.iceberg.IcebergRestCatalogEventServiceDelegator_Gj_WCptqTcdHu-fbZfgVkAwPXCI_Delegate_Subclass.loadView(Unknown
Source)
at
org.apache.polaris.service.catalog.iceberg.IcebergRestCatalogEventServiceDelegator.loadView(IcebergRestCatalogEventServiceDelegator.java:449)
at
org.apache.polaris.service.catalog.iceberg.IcebergCatalogAdapter_Subclass.loadView(Unknown
Source)
at
org.apache.polaris.service.catalog.iceberg.IcebergCatalogAdapter_ClientProxy.loadView(Unknown
Source)
at
org.apache.polaris.service.catalog.api.IcebergRestCatalogApi.loadView(IcebergRestCatalogApi.java:601)
at
org.apache.polaris.service.catalog.api.IcebergRestCatalogApi_Subclass.loadView$$superforward(Unknown
Source)
at
org.apache.polaris.service.catalog.api.IcebergRestCatalogApi_Subclass$$function$$14.apply(Unknown
Source)
at
io.quarkus.arc.impl.AroundInvokeInvocationContext.proceed(AroundInvokeInvocationContext.java:73)
[...]
```
### To Reproduce
_No response_
### Actual Behavior
_No response_
### Expected Behavior
_No response_
### Additional context
_No response_
### System information
_No response_
--
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]