FANNG1 opened a new issue, #6249:
URL: https://github.com/apache/gravitino/issues/6249
   ### Version
   
   main branch
   
   ### Describe what's wrong
   
   S3 fileset catalog doesn't handle `s3-region` property 
   
   ### Error message and/or stacktrace
   
   {
       "code": 1002,
       "type": "RuntimeException",
       "message": "Failed to operate object [schema1] operation [CREATE] under 
[s3_catalog], reason [Failed to create schema test.s3_catalog.schema1 location 
s3a://iceberg-test-strato/prefix1/schema1]",
       "stack": [
           "java.lang.RuntimeException: Failed to create schema 
test.s3_catalog.schema1 location s3a://iceberg-test-strato/prefix1/schema1",
           "\tat 
org.apache.gravitino.catalog.hadoop.HadoopCatalogOperations.createSchema(HadoopCatalogOperations.java:487)",
           "\tat 
org.apache.gravitino.catalog.hadoop.SecureHadoopCatalogOperations.lambda$createSchema$2(SecureHadoopCatalogOperations.java:162)",
           "\tat java.security.AccessController.doPrivileged(Native Method)",
           "\tat javax.security.auth.Subject.doAs(Subject.java:422)",
           "\tat 
org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1878)",
           "\tat 
org.apache.gravitino.catalog.hadoop.authentication.UserContext.doAs(UserContext.java:162)",
           "\tat 
org.apache.gravitino.catalog.hadoop.SecureHadoopCatalogOperations.createSchema(SecureHadoopCatalogOperations.java:159)",
           "\tat 
org.apache.gravitino.catalog.SchemaOperationDispatcher.lambda$createSchema$4(SchemaOperationDispatcher.java:120)",
           "\tat 
org.apache.gravitino.catalog.CatalogManager$CatalogWrapper.lambda$doWithSchemaOps$0(CatalogManager.java:148)",
           "\tat 
org.apache.gravitino.utils.IsolatedClassLoader.withClassLoader(IsolatedClassLoader.java:86)",
           "\tat 
org.apache.gravitino.catalog.CatalogManager$CatalogWrapper.doWithSchemaOps(CatalogManager.java:143)",
           "\tat 
org.apache.gravitino.catalog.SchemaOperationDispatcher.lambda$createSchema$5(SchemaOperationDispatcher.java:120)",
           "\tat 
org.apache.gravitino.catalog.OperationDispatcher.doWithCatalog(OperationDispatcher.java:122)",
           "\tat 
org.apache.gravitino.catalog.SchemaOperationDispatcher.createSchema(SchemaOperationDispatcher.java:118)",
           "\tat 
org.apache.gravitino.hook.SchemaHookDispatcher.createSchema(SchemaHookDispatcher.java:64)",
           "\tat 
org.apache.gravitino.catalog.SchemaNormalizeDispatcher.createSchema(SchemaNormalizeDispatcher.java:64)",
           "\tat 
org.apache.gravitino.listener.SchemaEventDispatcher.createSchema(SchemaEventDispatcher.java:99)",
           "\tat 
org.apache.gravitino.server.web.rest.SchemaOperations.lambda$createSchema$2(SchemaOperations.java:122)",
           "\tat 
org.apache.gravitino.lock.TreeLockUtils.doWithTreeLock(TreeLockUtils.java:49)",
           "\tat 
org.apache.gravitino.server.web.rest.SchemaOperations.lambda$createSchema$3(SchemaOperations.java:118)",
           "\tat java.security.AccessController.doPrivileged(Native Method)",
           "\tat javax.security.auth.Subject.doAs(Subject.java:422)",
           "\tat 
org.apache.gravitino.utils.PrincipalUtils.doAs(PrincipalUtils.java:39)",
           "\tat org.apache.gravitino.server.web.Utils.doAs(Utils.java:188)",
           "\tat 
org.apache.gravitino.server.web.rest.SchemaOperations.createSchema(SchemaOperations.java:111)",
           "\tat sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)",
           "\tat 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)",
           "\tat 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)",
           "\tat java.lang.reflect.Method.invoke(Method.java:498)",
           "\tat 
org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory.lambda$static$0(ResourceMethodInvocationHandlerFactory.java:52)",
           "\tat 
org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:146)",
           "\tat 
org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:189)",
           "\tat 
org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$ResponseOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:176)",
           "\tat 
org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:93)",
           "\tat 
org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:478)",
           "\tat 
org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:400)",
           "\tat 
org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:81)",
           "\tat 
org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:256)",
           "\tat org.glassfish.jersey.internal.Errors$1.call(Errors.java:248)",
           "\tat org.glassfish.jersey.internal.Errors$1.call(Errors.java:244)",
           "\tat org.glassfish.jersey.internal.Errors.process(Errors.java:292)",
           "\tat org.glassfish.jersey.internal.Errors.process(Errors.java:274)",
           "\tat org.glassfish.jersey.internal.Errors.process(Errors.java:244)",
           "\tat 
org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:265)",
           "\tat 
org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:235)",
           "\tat 
org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:684)",
           "\tat 
org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:394)",
           "\tat 
org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:346)",
           "\tat 
org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:358)",
           "\tat 
org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:311)",
           "\tat 
org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:205)",
           "\tat 
org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:799)",
           "\tat 
org.eclipse.jetty.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1656)",
           "\tat 
org.apache.gravitino.server.authentication.AuthenticationFilter.doFilter(AuthenticationFilter.java:86)",
           "\tat 
org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)",
           "\tat 
org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1626)",
           "\tat 
org.apache.gravitino.server.web.VersioningFilter.doFilter(VersioningFilter.java:123)",
           "\tat 
org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)",
           "\tat 
org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1626)",
           "\tat 
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:552)",
           "\tat 
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)",
           "\tat 
org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:600)",
           "\tat 
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)",
           "\tat 
org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235)",
           "\tat 
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1624)",
           "\tat 
org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)",
           "\tat 
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1440)",
           "\tat 
org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)",
           "\tat 
org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:505)",
           "\tat 
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1594)",
           "\tat 
org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)",
           "\tat 
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1355)",
           "\tat 
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)",
           "\tat 
org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:146)",
           "\tat 
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)",
           "\tat org.eclipse.jetty.server.Server.handle(Server.java:516)",
           "\tat 
org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:487)",
           "\tat 
org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:732)",
           "\tat 
org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:479)",
           "\tat 
org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:277)",
           "\tat 
org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)",
           "\tat 
org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)",
           "\tat 
org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104)",
           "\tat 
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:338)",
           "\tat 
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:315)",
           "\tat 
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:173)",
           "\tat 
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:131)",
           "\tat 
org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:409)",
           "\tat 
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:883)",
           "\tat 
org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1034)",
           "\tat java.lang.Thread.run(Thread.java:748)",
           "Caused by: org.apache.hadoop.fs.s3a.AWSClientIOException: 
initializing  on s3a://iceberg-test-strato/prefix1/schema1: 
com.amazonaws.SdkClientException: Unable to find a region via the region 
provider chain. Must provide an explicit region in the builder or setup 
environment to supply a region.: Unable to find a region via the region 
provider chain. Must provide an explicit region in the builder or setup 
environment to supply a region.",
           "\tat 
org.apache.hadoop.fs.s3a.S3AUtils.translateException(S3AUtils.java:208)",
           "\tat 
org.apache.hadoop.fs.s3a.S3AUtils.translateException(S3AUtils.java:170)",
           "\tat 
org.apache.hadoop.fs.s3a.S3AFileSystem.initialize(S3AFileSystem.java:520)",
           "\tat 
org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:3469)",
           "\tat 
org.apache.hadoop.fs.FileSystem.access$300(FileSystem.java:174)",
           "\tat 
org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:3574)",
           "\tat 
org.apache.hadoop.fs.FileSystem$Cache.getUnique(FileSystem.java:3527)",
           "\tat 
org.apache.hadoop.fs.FileSystem.newInstance(FileSystem.java:593)",
           "\tat 
org.apache.gravitino.s3.fs.S3FileSystemProvider.getFileSystem(S3FileSystemProvider.java:77)",
           "\tat 
org.apache.gravitino.catalog.hadoop.HadoopCatalogOperations.lambda$getFileSystem$9(HadoopCatalogOperations.java:774)",
           "\tat 
org.awaitility.core.CallableCondition$ConditionEvaluationWrapper.eval(CallableCondition.java:99)",
           "\tat 
org.awaitility.core.ConditionAwaiter$ConditionPoller.call(ConditionAwaiter.java:248)",
           "\tat 
org.awaitility.core.ConditionAwaiter$ConditionPoller.call(ConditionAwaiter.java:235)",
           "\tat java.util.concurrent.FutureTask.run(FutureTask.java:266)",
           "\tat 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)",
           "\tat 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)",
           "\t... 1 more",
           "Caused by: com.amazonaws.SdkClientException: Unable to find a 
region via the region provider chain. Must provide an explicit region in the 
builder or setup environment to supply a region.",
           "\tat 
com.amazonaws.client.builder.AwsClientBuilder.setRegion(AwsClientBuilder.java:462)",
           "\tat 
com.amazonaws.client.builder.AwsClientBuilder.configureMutableProperties(AwsClientBuilder.java:424)",
           "\tat 
com.amazonaws.client.builder.AwsSyncClientBuilder.build(AwsSyncClientBuilder.java:46)",
           "\tat 
org.apache.hadoop.fs.s3a.DefaultS3ClientFactory.buildAmazonS3Client(DefaultS3ClientFactory.java:144)",
           "\tat 
org.apache.hadoop.fs.s3a.DefaultS3ClientFactory.createS3Client(DefaultS3ClientFactory.java:96)",
           "\tat 
org.apache.hadoop.fs.s3a.S3AFileSystem.bindAWSClient(S3AFileSystem.java:753)",
           "\tat 
org.apache.hadoop.fs.s3a.S3AFileSystem.initialize(S3AFileSystem.java:446)",
           "\t... 14 more"
   
   ### How to reproduce
   
   1. create an S3 fileset catalog without `s3-endpoint`, but with `s3-region`
   ```
   {
       "name": "s3_catalog",
       "comment": "my test catalog",
       "type": "fileset",
       "provider": "hadoop",
       "properties": {
           "location": "s3a://iceberg-test-strato/prefix1",
           "filesystem-providers": "s3",
           "credential-providers": "s3-token,s3-secret-key",
           "s3-access-key-id":"xx",
           "s3-secret-access-key":"xx",
           "s3-region":"ap-southeast-2",
           "s3-role-arn":"xx"
       }
   }
   ```
   
   2. create an schema failed with exception
   
   ### Additional context
   
   _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: commits-unsubscr...@gravitino.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to