gesaleh opened a new issue, #6156:
URL: https://github.com/apache/gravitino/issues/6156

   ### Version
   
   main branch
   
   ### Describe what's wrong
   
   S3 hadoop integration 
   configuration 
   minio runing in a docker 
   bucket created work
   playground docker deployment with same network as minio docker 
   
   try to create a catalog_s3 using fileset (bucket name work)
   
   
   ```
   # create a S3 catalog
   curl -X POST -H "Accept: application/vnd.gravitino.v1+json" \
   -H "Content-Type: application/json" -d '{
     "name": "catalog",
     "type": "FILESET",
     "comment": "comment",
     "provider": "hadoop",
     "properties": {
       "location": "s3a://work/root",
       "s3-access-key-id": "access_key",
       "s3-secret-access-key": "secret_key",
       "s3-endpoint": "http://minio:9000";,
       "filesystem-providers": "s3"
     }
   }' http://localhost:8090/api/metalakes/metalake_demo/catalogs 
   ```
   
   this works but when i try to create scheme it just hangs 
   
   ```
   curl -X POST -H "Accept: application/vnd.gravitino.v1+json" \
   -H "Content-Type: application/json" -d '{
     "name": "s3_schema",
     "comment": "comment",
     "properties": {
       "location": "s3a://work/schemaS3"
     }
   }' 
http://localhost:8090/api/metalakes/metalake_demo/catalogs/catalog_s3/schemas 
   ```
   
   I get dead lock probably I'm doing wrong i'm suspecting the location value
   
   
   ```
   root@7c2e4f9a4c6e:~/gravitino/conf# curl -I 
http://minio:9000//minio/health/live
   HTTP/1.1 400 Bad Request
   Accept-Ranges: bytes
   Content-Length: 261
   Content-Type: application/xml
   Server: MinIO
   Vary: Origin
   Date: Tue, 07 Jan 2025 17:26:33 GMT
   
   root@7c2e4f9a4c6e:~/gravitino/conf# curl -I minio:9000//minio/health/live
   HTTP/1.1 400 Bad Request
   Accept-Ranges: bytes
   Content-Length: 261
   Content-Type: application/xml
   Server: MinIO
   Vary: Origin
   Date: Tue, 07 Jan 2025 17:26:40 GMT
   ```
   
   i added the jar file `aws-bundle-0.7.0-incubating.jar ` to the 
`root/gravitino/catalogs/hadoop/libs` i didn't change any value in the conf 
files 
   
   
   ### Error message and/or stacktrace
   
   
   ```
   2025-01-07 15:00:56 2025-01-07 14:00:56.133 WARN 
[tree-lock-dead-lock-checker-0] 
[org.apache.gravitino.lock.LockManager.lambda$checkDeadLock$1(LockManager.java:138)]
 - Dead lock detected for thread with identifier 
ThreadIdentifier{thread=Thread[Gravitino-webserver-57,5,main], 
ident=metalake_demo.catalog_s3} on node TreeLockNode{ident=/,hashCode=78}, 
threads that holding the node: 
{ThreadIdentifier{thread=Thread[Gravitino-webserver-65,5,main], 
ident=metalake_demo.catalog_s3}=1736258146570, 
ThreadIdentifier{thread=Thread[Gravitino-webserver-51,5,main], 
ident=metalake_demo.catalog_s3}=1736258261725, 
ThreadIdentifier{thread=Thread[Gravitino-webserver-53,5,main], 
ident=metalake_demo.catalog_s3}=1736258145174, 
ThreadIdentifier{thread=Thread[Gravitino-webserver-71,5,main], 
ident=metalake_demo.catalog_s3}=1736258388375, 
ThreadIdentifier{thread=Thread[Gravitino-webserver-52,5,main], 
ident=metalake_demo.catalog_s3}=1736258343241, 
ThreadIdentifier{thread=Thread[Gravitino-webserver-59,5,main]
 , ident=metalake_demo.catalog_s3}=1736258261725, 
ThreadIdentifier{thread=Thread[Gravitino-webserver-60,5,main], 
ident=metalake_demo.catalog_s3}=1736258385578, 
ThreadIdentifier{thread=Thread[Gravitino-webserver-68,5,main], 
ident=metalake_demo.catalog_s3}=1736258385578, 
ThreadIdentifier{thread=Thread[Gravitino-webserver-57,5,main], 
ident=metalake_demo.catalog_s3}=1736258336696, 
ThreadIdentifier{thread=Thread[Gravitino-webserver-70,5,main], 
ident=metalake_demo.catalog_s3}=1736258343242} 
   2025-01-07 15:00:56 2025-01-07 14:00:56.133 WARN 
[tree-lock-dead-lock-checker-0] 
[org.apache.gravitino.lock.LockManager.lambda$checkDeadLock$1(LockManager.java:138)]
 - Dead lock detected for thread with identifier 
ThreadIdentifier{thread=Thread[Gravitino-webserver-70,5,main], 
ident=metalake_demo.catalog_s3} on node TreeLockNode{ident=/,hashCode=78}, 
threads that holding the node: 
{ThreadIdentifier{thread=Thread[Gravitino-webserver-65,5,main], 
ident=metalake_demo.catalog_s3}=1736258146570, 
ThreadIdentifier{thread=Thread[Gravitino-webserver-51,5,main], 
ident=metalake_demo.catalog_s3}=1736258261725, 
ThreadIdentifier{thread=Thread[Gravitino-webserver-53,5,main], 
ident=metalake_demo.catalog_s3}=1736258145174, 
ThreadIdentifier{thread=Thread[Gravitino-webserver-71,5,main], 
ident=metalake_demo.catalog_s3}=1736258388375, 
ThreadIdentifier{thread=Thread[Gravitino-webserver-52,5,main], 
ident=metalake_demo.catalog_s3}=1736258343241, 
ThreadIdentifier{thread=Thread[Gravitino-webserver-59,5,main]
 , ident=metalake_demo.catalog_s3}=1736258261725, 
ThreadIdentifier{thread=Thread[Gravitino-webserver-60,5,main], 
ident=metalake_demo.catalog_s3}=1736258385578, 
ThreadIdentifier{thread=Thread[Gravitino-webserver-68,5,main], 
ident=metalake_demo.catalog_s3}=1736258385578, 
ThreadIdentifier{thread=Thread[Gravitino-webserver-57,5,main], 
ident=metalake_demo.catalog_s3}=1736258336696, 
ThreadIdentifier{thread=Thread[Gravitino-webserver-70,5,main], 
ident=metalake_demo.catalog_s3}=1736258343242} 
   ```
   ```
   2025-01-07 13:55:45.209 INFO [Gravitino-webserver-53] 
[org.apache.gravitino.gcp.shaded.com.google.cloud.hadoop.fs.gcs.GoogleHadoopFileSystemBase.<clinit>(GoogleHadoopFileSystemBase.java:611)]
 - GHFS version: 1.9.4-hadoop3
   2025-01-07 13:55:45.308 INFO [Gravitino-webserver-53] 
[org.apache.commons.beanutils.FluentPropertyBeanIntrospector.introspect(FluentPropertyBeanIntrospector.java:147)]
 - Error when creating PropertyDescriptor for public final void 
org.apache.commons.configuration2.AbstractConfiguration.setProperty(java.lang.String,java.lang.Object)!
 Ignoring this property.
   2025-01-07 13:55:45.313 WARN [Gravitino-webserver-53] 
[org.apache.hadoop.metrics2.impl.MetricsConfig.loadFirst(MetricsConfig.java:134)]
 - Cannot locate configuration: tried 
hadoop-metrics2-s3a-file-system.properties,hadoop-metrics2.properties
   ```
   
   ``` 
   # ls gravitino*
   gravitino-api-0.7.0-incubating.jar             
gravitino-core-0.7.0-incubating.jar  gravitino-server-0.7.0-incubating.jar
   gravitino-catalog-common-0.7.0-incubating.jar  
gravitino-docs-0.7.0-incubating.jar  
gravitino-server-common-0.7.0-incubating.jar
   gravitino-common-0.7.0-incubating.jar          
gravitino-meta-0.7.0-incubating.jar
   # pwd
   /root/gravitino/libs 
   ```
   
   
   ```
   root@7c2e4f9a4c6e:~/gravitino/conf# more gravitino.conf 
   #
   # Licensed to the Apache Software Foundation (ASF) under one
   # or more contributor license agreements.  See the NOTICE file
   # distributed with this work for additional information
   # regarding copyright ownership.  The ASF licenses this file
   # to you under the Apache License, Version 2.0 (the
   # "License"); you may not use this file except in compliance
   # with the License.  You may obtain a copy of the License at
   #
   #  http://www.apache.org/licenses/LICENSE-2.0
   #
   # Unless required by applicable law or agreed to in writing,
   # software distributed under the License is distributed on an
   # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
   # KIND, either express or implied.  See the License for the
   # specific language governing permissions and limitations
   # under the License.
   #
   
   # THE CONFIGURATION FOR Gravitino SERVER
   gravitino.server.shutdown.timeout = 3000
   
   # THE CONFIGURATION FOR Gravitino WEB SERVER
   # The host name of the built-in web server
   gravitino.server.webserver.host = 0.0.0.0
   # The http port number of the built-in web server
   gravitino.server.webserver.httpPort = 8090
   # The min thread size of the built-in web server
   gravitino.server.webserver.minThreads = 24
   # The max thread size of the built-in web server
   gravitino.server.webserver.maxThreads = 200
   # The stop timeout of the built-in web server
   gravitino.server.webserver.stopTimeout = 30000
   # The timeout of idle connections
   gravitino.server.webserver.idleTimeout = 30000
   # The executor thread pool work queue size of the built-in web server
   gravitino.server.webserver.threadPoolWorkQueueSize = 100
   # The request header size of the built-in web server
   gravitino.server.webserver.requestHeaderSize = 131072
   # The response header size of the built-in web server
   gravitino.server.webserver.responseHeaderSize = 131072
   
   # THE CONFIGURATION FOR Gravitino ENTITY STORE
   # The entity store to use
   gravitino.entity.store = relational
   # The backend for the entity store, we only supports JDBC
   gravitino.entity.store.relational = JDBCBackend
   
   # The JDBC URL for the entity store
   gravitino.entity.store.relational.jdbcUrl = jdbc:h2
   # The JDBC driver class name
   gravitino.entity.store.relational.jdbcDriver = org.h2.Driver
   # The JDBC user name
   gravitino.entity.store.relational.jdbcUser = gravitino
   # The JDBC password
   gravitino.entity.store.relational.jdbcPassword = gravitino
   
   # THE CONFIGURATION FOR Gravitino CATALOG
   # The interval in milliseconds to evict the catalog cache
   gravitino.catalog.cache.evictionIntervalMs = 3600000
   
   # THE CONFIGURATION FOR AUXILIARY SERVICE
   # Auxiliary service names, separate by ','
   gravitino.auxService.names = iceberg-rest
   # Iceberg REST service classpath
   gravitino.auxService.iceberg-rest.classpath = iceberg-rest-server/libs, 
iceberg-rest-server/conf
   # Iceberg REST service host
   gravitino.auxService.iceberg-rest.host = 0.0.0.0
   # Iceberg REST service http port
   gravitino.auxService.iceberg-rest.httpPort = 9001
   gravitino.auxService.iceberg-rest.catalog-backend = jdbc
   gravitino.auxService.iceberg-rest.uri = jdbc:mysql://:3306/db
   gravitino.auxService.iceberg-rest.warehouse = 
hdfs://:9000/user/iceberg/warehouse/
   gravitino.auxService.iceberg-rest.jdbc.user = mysql
   gravitino.auxService.iceberg-rest.jdbc.password = xxxxxxxxxxxx
   gravitino.auxService.iceberg-rest.jdbc-driver = com.mysql.cj.jdbc.Driver
   root@7c2e4f9a4c6e:~/gravitino/conf# 
   ```
   
   
   
   ### How to reproduce
   
   1. run docker minio signle node minio:9000
   2. create a bucket
   3. add access Keys
   
   1. run playground gravitino same network as minio or use localhost as server 
name
   2. add using UI or API the S3 haddop fileset catalog
   3. add schema to the catalog using API
   
   
   ### 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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to