Hi all,
I’m new to liquibase and try to evaluate it on my project that manage 100GB databases.
When running :
liquibase diff-changelog --changelog-file=test-05.mariadb.sql
I get the issue:
Unexpected error running Liquibase: (conn=16563498) Connection is closed
Adding the following parameters:
–diff-types=tables,columns,indexes
make the things work.
Individual liquibase snapshot command work on each of the targeted database.
I’ve tried to add this kind of parameters :
connectTimeout=0
socketTimeout=0
in connection url or in a dedicated driverPropertiesFile=driver.properties
but it has not impact.
Could you suggest a solution ?
If can not make it work, I will not be able to propose liquibase solution to my team.
Thx a lot for your help !
Hi again,
By adding log-level=INFO, I’ve the additional exception :
[2023-04-14 09:50:53] WARNING [liquibase.database] Cannot determine case sensitivity from JDBC driver
java.sql.SQLNonTransientConnectionException: (conn=16670835) Socket error
at org.mariadb.jdbc.export.ExceptionFactory.createException(ExceptionFactory.java:293)
at org.mariadb.jdbc.export.ExceptionFactory.create(ExceptionFactory.java:359)
at org.mariadb.jdbc.client.impl.StandardClient.readPacket(StandardClient.java:878)
at org.mariadb.jdbc.client.impl.StandardClient.readResults(StandardClient.java:794)
at org.mariadb.jdbc.client.impl.StandardClient.readResponse(StandardClient.java:713)
at org.mariadb.jdbc.client.impl.StandardClient.execute(StandardClient.java:637)
at org.mariadb.jdbc.Statement.executeInternal(Statement.java:941)
at org.mariadb.jdbc.Statement.executeQuery(Statement.java:131)
at org.mariadb.jdbc.Connection.getLowercaseTableNames(Connection.java:265)
at org.mariadb.jdbc.DatabaseMetaData.supportsMixedCaseIdentifiers(DatabaseMetaData.java:1306)
at liquibase.database.AbstractJdbcDatabase.isCaseSensitive(AbstractJdbcDatabase.java:725)
at liquibase.CatalogAndSchema.standardize(CatalogAndSchema.java:118)
at liquibase.CatalogAndSchema.customize(CatalogAndSchema.java:140)
at liquibase.snapshot.SnapshotGeneratorFactory.createSnapshot(SnapshotGeneratorFactory.java:181)
at liquibase.command.core.DiffCommandStep.generateDatabaseShapshot(DiffCommandStep.java:191)
at liquibase.command.core.DiffCommandStep.getTargetSnapshot(DiffCommandStep.java:141)
at liquibase.command.core.DiffCommandStep.createDiffResult(DiffCommandStep.java:102)
at liquibase.command.core.DiffCommandStep.run(DiffCommandStep.java:86)
at liquibase.command.CommandScope.execute(CommandScope.java:195)
at liquibase.integration.commandline.CommandRunner.call(CommandRunner.java:55)
at liquibase.integration.commandline.CommandRunner.call(CommandRunner.java:24)
at picocli.CommandLine.executeUserObject(CommandLine.java:2041)
at picocli.CommandLine.access$1500(CommandLine.java:148)
at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2461)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2453)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2415)
at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2273)
at picocli.CommandLine$RunLast.execute(CommandLine.java:2417)
at picocli.CommandLine.execute(CommandLine.java:2170)
at liquibase.integration.commandline.LiquibaseCommandLine.lambda$null$2(LiquibaseCommandLine.java:367)
at liquibase.Scope.child(Scope.java:196)
at liquibase.Scope.child(Scope.java:172)
at liquibase.integration.commandline.LiquibaseCommandLine.lambda$execute$3(LiquibaseCommandLine.java:332)
at liquibase.Scope.child(Scope.java:196)
at liquibase.Scope.child(Scope.java:172)
at liquibase.integration.commandline.LiquibaseCommandLine.execute(LiquibaseCommandLine.java:330)
at liquibase.integration.commandline.LiquibaseCommandLine.main(LiquibaseCommandLine.java:91)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at liquibase.integration.commandline.LiquibaseLauncher.main(LiquibaseLauncher.java:107)
Caused by: java.io.EOFException: unexpected end of stream, read 0 bytes from 4 (socket was closed by server)
at org.mariadb.jdbc.client.socket.impl.PacketReader.readReusablePacket(PacketReader.java:68)
at org.mariadb.jdbc.message.ClientMessage.readPacket(ClientMessage.java:115)
at org.mariadb.jdbc.client.impl.StandardClient.readPacket(StandardClient.java:855)
… 39 more
[2023-04-14 09:50:53] WARNING [liquibase.database] Cannot determine case sensitivity from JDBC driver
java.sql.SQLNonTransientConnectionException: (conn=16670835) Connection is closed
at org.mariadb.jdbc.export.ExceptionFactory.createException(ExceptionFactory.java:293)
at org.mariadb.jdbc.export.ExceptionFactory.create(ExceptionFactory.java:370)
at org.mariadb.jdbc.client.impl.StandardClient.checkNotClosed(StandardClient.java:889)
at org.mariadb.jdbc.client.impl.StandardClient.sendQuery(StandardClient.java:481)
at org.mariadb.jdbc.client.impl.StandardClient.execute(StandardClient.java:635)
at org.mariadb.jdbc.Statement.executeInternal(Statement.java:941)
at org.mariadb.jdbc.Statement.executeQuery(Statement.java:131)
at org.mariadb.jdbc.Connection.getLowercaseTableNames(Connection.java:265)
at org.mariadb.jdbc.DatabaseMetaData.supportsMixedCaseIdentifiers(DatabaseMetaData.java:1306)
at liquibase.database.AbstractJdbcDatabase.isCaseSensitive(AbstractJdbcDatabase.java:725)
at liquibase.database.core.MySQLDatabase.correctObjectName(MySQLDatabase.java:53)
at liquibase.CatalogAndSchema.customize(CatalogAndSchema.java:157)
at liquibase.snapshot.SnapshotGeneratorFactory.createSnapshot(SnapshotGeneratorFactory.java:181)
at liquibase.command.core.DiffCommandStep.generateDatabaseShapshot(DiffCommandStep.java:191)
at liquibase.command.core.DiffCommandStep.getTargetSnapshot(DiffCommandStep.java:141)
at liquibase.command.core.DiffCommandStep.createDiffResult(DiffCommandStep.java:102)
at liquibase.command.core.DiffCommandStep.run(DiffCommandStep.java:86)
at liquibase.command.CommandScope.execute(CommandScope.java:195)
at liquibase.integration.commandline.CommandRunner.call(CommandRunner.java:55)
at liquibase.integration.commandline.CommandRunner.call(CommandRunner.java:24)
at picocli.CommandLine.executeUserObject(CommandLine.java:2041)
at picocli.CommandLine.access$1500(CommandLine.java:148)
at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2461)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2453)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2415)
at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2273)
at picocli.CommandLine$RunLast.execute(CommandLine.java:2417)
at picocli.CommandLine.execute(CommandLine.java:2170)
at liquibase.integration.commandline.LiquibaseCommandLine.lambda$null$2(LiquibaseCommandLine.java:367)
at liquibase.Scope.child(Scope.java:196)
at liquibase.Scope.child(Scope.java:172)
at liquibase.integration.commandline.LiquibaseCommandLine.lambda$execute$3(LiquibaseCommandLine.java:332)
at liquibase.Scope.child(Scope.java:196)
at liquibase.Scope.child(Scope.java:172)
at liquibase.integration.commandline.LiquibaseCommandLine.execute(LiquibaseCommandLine.java:330)
at liquibase.integration.commandline.LiquibaseCommandLine.main(LiquibaseCommandLine.java:91)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at liquibase.integration.commandline.LiquibaseLauncher.main(LiquibaseLauncher.java:107)
Hi again,
Please let me know how I can send you previously rejected attached file.
Please note also that adding one of the following “diff” parameters lead to the issue:
uniqueconstraints,primarykeys,indexes
Thx for help
Sylvain