chenyulin0719 opened a new issue, #4455:
URL: https://github.com/apache/gravitino/issues/4455
### Version
main branch
### Describe what's wrong
In the gravitino-playground, the catalog backend is MySQL. However, the
docker-compose file does not specify the dependency between MySQL and
Gravitino, which leads to the following issues:
1. Gravitino cannot be started using `./launch-playground.sh gravitino` (the
container is up, but Gravitino process is down)
2. When running `./launch-playground.sh`, there is no guarantee that MySQL
will start before Gravitino.
### Error message and/or stacktrace
In `/root/gravitino/logs/gravitino-server.out` after run
`./launch-playground.sh gravitino`
```
root@e3a87ccd084f:~/gravitino# cat /root/gravitino/logs/gravitino-server.out
Exception in thread "main" java.lang.RuntimeException:
org.apache.iceberg.jdbc.UncheckedSQLException: Failed to connect:
jdbc:mysql://mysql:3306/db
at
com.datastrato.gravitino.auxiliary.AuxiliaryServiceManager.lambda$doWithClassLoader$4(AuxiliaryServiceManager.java:158)
at
com.datastrato.gravitino.utils.IsolatedClassLoader.withClassLoader(IsolatedClassLoader.java:72)
at
com.datastrato.gravitino.auxiliary.AuxiliaryServiceManager.doWithClassLoader(AuxiliaryServiceManager.java:153)
at
com.datastrato.gravitino.auxiliary.AuxiliaryServiceManager.lambda$serviceInit$6(AuxiliaryServiceManager.java:173)
at java.util.HashMap.forEach(HashMap.java:1290)
at
com.datastrato.gravitino.auxiliary.AuxiliaryServiceManager.serviceInit(AuxiliaryServiceManager.java:171)
at
com.datastrato.gravitino.GravitinoEnv.initialize(GravitinoEnv.java:209)
at
com.datastrato.gravitino.server.GravitinoServer.initialize(GravitinoServer.java:62)
at
com.datastrato.gravitino.server.GravitinoServer.main(GravitinoServer.java:133)
Caused by: org.apache.iceberg.jdbc.UncheckedSQLException: Failed to connect:
jdbc:mysql://mysql:3306/db
at
org.apache.iceberg.jdbc.JdbcClientPool.newClient(JdbcClientPool.java:57)
at
org.apache.iceberg.jdbc.JdbcClientPool.newClient(JdbcClientPool.java:30)
at org.apache.iceberg.ClientPoolImpl.get(ClientPoolImpl.java:125)
at org.apache.iceberg.ClientPoolImpl.run(ClientPoolImpl.java:56)
at org.apache.iceberg.ClientPoolImpl.run(ClientPoolImpl.java:51)
at
org.apache.iceberg.jdbc.JdbcCatalog.initializeCatalogTables(JdbcCatalog.java:146)
at org.apache.iceberg.jdbc.JdbcCatalog.initialize(JdbcCatalog.java:130)
at
com.datastrato.gravitino.catalog.lakehouse.iceberg.utils.IcebergCatalogUtil.loadJdbcCatalog(IcebergCatalogUtil.java:66)
at
com.datastrato.gravitino.catalog.lakehouse.iceberg.utils.IcebergCatalogUtil.loadCatalogBackend(IcebergCatalogUtil.java:91)
at
com.datastrato.gravitino.catalog.lakehouse.iceberg.ops.IcebergTableOps.<init>(IcebergTableOps.java:52)
at
com.datastrato.gravitino.catalog.lakehouse.iceberg.IcebergRESTService.initServer(IcebergRESTService.java:55)
at
com.datastrato.gravitino.catalog.lakehouse.iceberg.IcebergRESTService.serviceInit(IcebergRESTService.java:80)
at
com.datastrato.gravitino.auxiliary.AuxiliaryServiceManager.lambda$serviceInit$5(AuxiliaryServiceManager.java:176)
at
com.datastrato.gravitino.auxiliary.AuxiliaryServiceManager.lambda$doWithClassLoader$4(AuxiliaryServiceManager.java:156)
... 8 more
Caused by: com.mysql.cj.jdbc.exceptions.CommunicationsException:
Communications link failure
The last packet sent successfully to the server was 0 milliseconds ago. The
driver has not received any packets from the server.
at
com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174)
at
com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64)
at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:828)
at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:448)
at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241)
at
com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:198)
at java.sql.DriverManager.getConnection(DriverManager.java:664)
at java.sql.DriverManager.getConnection(DriverManager.java:208)
at
org.apache.iceberg.jdbc.JdbcClientPool.newClient(JdbcClientPool.java:55)
... 21 more
Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications
link failure
The last packet sent successfully to the server was 0 milliseconds ago. The
driver has not received any packets from the server.
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at
com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61)
at
com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:105)
at
com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:151)
at
com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:167)
at
com.mysql.cj.protocol.a.NativeSocketConnection.connect(NativeSocketConnection.java:89)
at com.mysql.cj.NativeSession.connect(NativeSession.java:120)
at
com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:948)
at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:818)
... 27 more
Caused by: java.net.UnknownHostException: mysql: Temporary failure in name
resolution
at java.net.Inet4AddressImpl.lookupAllHostAddr(Native Method)
at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:929)
at
java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1330)
at java.net.InetAddress.getAllByName0(InetAddress.java:1283)
at java.net.InetAddress.getAllByName(InetAddress.java:1199)
at java.net.InetAddress.getAllByName(InetAddress.java:1127)
at
com.mysql.cj.protocol.StandardSocketFactory.connect(StandardSocketFactory.java:133)
at
com.mysql.cj.protocol.a.NativeSocketConnection.connect(NativeSocketConnection.java:63)
... 30 more
root@e3a87ccd084f:~/gravitino#
```
### How to reproduce
Run `./launch-playground.sh gravitino` in gravitino-playground main branch.
### Additional context
I will create a PR to fix the docker-compose file in gravitino-playground.
(Please let me know if I should create this issue in gravitino-playground
repository)
--
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]