Tmonster opened a new issue, #1351: URL: https://github.com/apache/polaris/issues/1351
### Describe the bug I'm following the Polaris Quickstart steps on MacOS M3 Sonoma v14.4 and have observed errors when attempting to create a catalog. Specifically ``` 2025-04-10 17:23:51,380 ERROR [org.apa.pol.ser.exc.IcebergExceptionMapper] [,POLARIS] [,,,] (executor-thread-1) Unhandled exception returning INTERNAL_SERVER_ERROR: java.lang.NullPointerException: Cannot invoke "org.apache.polaris.core.persistence.dao.entity.PrincipalSecretsResult.getPrincipalSecrets()" because "principalSecrets" is null ``` ### To Reproduce ```sh git clone https://github.com/apache/polaris.git cd ~/polaris brew install openjdk@21 jenv jenv add $(brew --prefix openjdk@21) jenv local 21 ./gradlew \ :polaris-quarkus-server:assemble \ :polaris-quarkus-server:quarkusAppPartsBuild --rerun # Start the server java -jar quarkus/server/build/quarkus-app/quarkus-run.jar ``` I see the credentials output `realm: POLARIS root principal credentials: {root_id}:{password}` and then use them to run the following command ```sh ./polaris \ --client-id ${POLARIS_ROOT_ID} \ --client-secret ${POLARIS_ROOT_SECRET} \ catalogs \ create \ --storage-type FILE \ --default-base-location file://${PWD}/storage_files \ quickstart_catalog ``` ### Actual Behavior The quickstart_catalog is created without errors ### Expected Behavior The create catalogs command fails with the following error ``` Traceback (most recent call last): File "/Users/tomebergen/duckdb-iceberg/polaris_catalog/client/python/cli/polaris_cli.py", line 164, in <module> PolarisCli.execute() ~~~~~~~~~~~~~~~~~~^^ File "/Users/tomebergen/duckdb-iceberg/polaris_catalog/client/python/cli/polaris_cli.py", line 57, in execute client_builder = PolarisCli._get_client_builder(options) File "/Users/tomebergen/duckdb-iceberg/polaris_catalog/client/python/cli/polaris_cli.py", line 155, in _get_client_builder token = PolarisCli._get_token(ApiClient(config), polaris_catalog_url, client_id, client_secret) File "/Users/tomebergen/duckdb-iceberg/polaris_catalog/client/python/cli/polaris_cli.py", line 102, in _get_token raise Exception('Failed to get access token') Exception: Failed to get access token ``` And the server logs contain the following error ``` 2025-04-10 17:31:09,863 ERROR [org.apa.pol.ser.exc.IcebergExceptionMapper] [,POLARIS] [,,,] (executor-thread-1) Unhandled exception returning INTERNAL_SERVER_ERROR: java.lang.NullPointerException: Cannot invoke "org.apache.polaris.core.persistence.dao.entity.PrincipalSecretsResult.getPrincipalSecrets()" because "principalSecrets" is null at org.apache.polaris.service.persistence.InMemoryPolarisMetaStoreManagerFactory.bootstrapRealms(InMemoryPolarisMetaStoreManagerFactory.java:121) at org.apache.polaris.service.persistence.InMemoryPolarisMetaStoreManagerFactory.bootstrapRealmsAndPrintCredentials(InMemoryPolarisMetaStoreManagerFactory.java:99) at org.apache.polaris.service.persistence.InMemoryPolarisMetaStoreManagerFactory.getOrCreateMetaStoreManager(InMemoryPolarisMetaStoreManagerFactory.java:82) at org.apache.polaris.service.persistence.InMemoryPolarisMetaStoreManagerFactory_ClientProxy.getOrCreateMetaStoreManager(Unknown Source) at org.apache.polaris.service.auth.JWTRSAKeyPairFactory.apply(JWTRSAKeyPairFactory.java:54) at org.apache.polaris.service.auth.JWTRSAKeyPairFactory.apply(JWTRSAKeyPairFactory.java:33) at org.apache.polaris.service.auth.JWTRSAKeyPairFactory_ClientProxy.apply(Unknown Source) at org.apache.polaris.service.auth.DefaultOAuth2ApiService.getToken(DefaultOAuth2ApiService.java:73) at org.apache.polaris.service.auth.DefaultOAuth2ApiService_ClientProxy.getToken(Unknown Source) at org.apache.polaris.service.catalog.api.IcebergRestOAuth2Api.getToken(IcebergRestOAuth2Api.java:113) at org.apache.polaris.service.catalog.api.IcebergRestOAuth2Api_Subclass.getToken$$superforward(Unknown Source) at org.apache.polaris.service.catalog.api.IcebergRestOAuth2Api_Subclass$$function$$1.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.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.perform(AroundInvokeInvocationContext.java:30) at io.quarkus.arc.impl.InvocationContexts.performAroundInvoke(InvocationContexts.java:27) at org.apache.polaris.service.catalog.api.IcebergRestOAuth2Api_Subclass.getToken(Unknown Source) at org.apache.polaris.service.catalog.api.IcebergRestOAuth2Api$quarkusrestinvoker$getToken_f6dd65d68bbb7be8bc087c1c82d2d2a56984933f.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:141) at org.jboss.resteasy.reactive.common.core.AbstractResteasyReactiveContext.run(AbstractResteasyReactiveContext.java:147) at io.quarkus.vertx.core.runtime.VertxCoreRecorder$15.runWith(VertxCoreRecorder.java:638) at org.jboss.threads.EnhancedQueueExecutor$Task.doRunWith(EnhancedQueueExecutor.java:2675) at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2654) at org.jboss.threads.EnhancedQueueExecutor.runThreadBody(EnhancedQueueExecutor.java:1627) at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1594) 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) 2025-04-10 17:31:09,863 INFO [io.qua.htt.access-log] [,POLARIS] [,,,] (executor-thread-1) 0:0:0:0:0:0:0:1 - - [10/Apr/2025:17:31:09 +0200] "POST /api/catalog/v1/oauth/tokens HTTP/1.1" 500 211 ``` ### Additional context A recent commit has this working `53eb36de9d892c9cc0ef4d2f02f6594446e28413` (merged April 6), so this has been a recent break ### System information OS: macOS Sonoma v14.4 Polaris Catalog Version: Dev Storage: File -- 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: issues-unsubscr...@polaris.apache.org.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org