.
The database is mysql-server (version 8.0.34-0ubuntu0.20.04.1) and the recent log has the following error:
2023-10-16 11:17:34,414 [Datasource Loader 1] ERROR org.obiba.opal.core.service.DatasourceLoaderServiceImpl - Datasource Loader 1: loading datasource of project Test failed for database: test_db
org.obiba.magma.MagmaRuntimeException: org.springframework.jdbc.UncategorizedSQLException: ConnectionCallback; uncategorized SQLException; SQL state [null]; error code [0]; liquibase.exception.DatabaseException: Specified key was too long; max key length is 3072 bytes [Failed SQL: (1071) CREATE TABLE `opal_data`.`categories` (`datasource` VARCHAR(255) NOT NULL, `value_table` VARCHAR(255) NOT NULL, `variable` VARCHAR(255) NOT NULL, `name` VARCHAR(255) NOT NULL, `missing` BIT(1) NOT NULL, CONSTRAINT `PK_CATEGORIES` PRIMARY KEY (`datasource`, `value_table`, `variable`, `name`))ENGINE=InnoDB]; nested exception is java.sql.SQLException: liquibase.exception.DatabaseException: Specified key was too long; max key length is 3072 bytes [Failed SQL: (1071) CREATE TABLE `opal_data`.`categories` (`datasource` VARCHAR(255) NOT NULL, `value_table` VARCHAR(255) NOT NULL, `variable` VARCHAR(255) NOT NULL, `name` VARCHAR(255) NOT NULL, `missing` BIT(1) NOT NULL, CONSTRAINT `PK_CATEGORIES` PRIMARY KEY (`datasource`, `value_table`, `variable`, `name`))ENGINE=InnoDB]
at org.obiba.magma.support.Initialisables.initialise(Initialisables.java:50)
at org.obiba.magma.DefaultDatasourceRegistry.addDatasource(DefaultDatasourceRegistry.java:99)
at org.obiba.magma.DefaultDatasourceRegistry.addDatasource(DefaultDatasourceRegistry.java:123)
at org.obiba.magma.security.SecuredDatasourceRegistry.addDatasource(SecuredDatasourceRegistry.java:49)
at org.obiba.magma.MagmaEngine.addDatasource(MagmaEngine.java:146)
at org.obiba.opal.core.service.DatasourceLoaderServiceImpl.lambda$reloadDatasource$1(DatasourceLoaderServiceImpl.java:107)
at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140)
at org.obiba.opal.core.service.DatasourceLoaderServiceImpl.reloadDatasource(DatasourceLoaderServiceImpl.java:92)
at org.obiba.opal.core.service.DatasourceLoaderServiceImpl$DatasourceLoader.load(DatasourceLoaderServiceImpl.java:137)
at org.obiba.opal.core.service.DatasourceLoaderServiceImpl$DatasourceLoader.run(DatasourceLoaderServiceImpl.java:126)
Caused by: org.springframework.jdbc.UncategorizedSQLException: ConnectionCallback; uncategorized SQLException; SQL state [null]; error code [0]; liquibase.exception.DatabaseException: Specified key was too long; max key length is 3072 bytes [Failed SQL: (1071) CREATE TABLE `opal_data`.`categories` (`datasource` VARCHAR(255) NOT NULL, `value_table` VARCHAR(255) NOT NULL, `variable` VARCHAR(255) NOT NULL, `name` VARCHAR(255) NOT NULL, `missing` BIT(1) NOT NULL, CONSTRAINT `PK_CATEGORIES` PRIMARY KEY (`datasource`, `value_table`, `variable`, `name`))ENGINE=InnoDB]; nested exception is java.sql.SQLException: liquibase.exception.DatabaseException: Specified key was too long; max key length is 3072 bytes [Failed SQL: (1071) CREATE TABLE `opal_data`.`categories` (`datasource` VARCHAR(255) NOT NULL, `value_table` VARCHAR(255) NOT NULL, `variable` VARCHAR(255) NOT NULL, `name` VARCHAR(255) NOT NULL, `missing` BIT(1) NOT NULL, CONSTRAINT `PK_CATEGORIES` PRIMARY KEY (`datasource`, `value_table`, `variable`, `name`))ENGINE=InnoDB]
at org.springframework.jdbc.core.JdbcTemplate.translateException(JdbcTemplate.java:1578)
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:344)
at org.obiba.magma.datasource.jdbc.JdbcDatasource.doWithDatabase(JdbcDatasource.java:508)
at org.obiba.magma.datasource.jdbc.JdbcDatasource.createMetadataTablesIfNotPresent(JdbcDatasource.java:552)
at org.obiba.magma.datasource.jdbc.JdbcDatasource.onInitialise(JdbcDatasource.java:237)
at org.obiba.magma.support.AbstractDatasource.initialise(AbstractDatasource.java:101)
at org.obiba.magma.support.AbstractDatasourceWrapper.initialise(AbstractDatasourceWrapper.java:52)
at org.obiba.magma.views.ViewAwareDatasource.initialise(ViewAwareDatasource.java:47)
at org.obiba.magma.support.Initialisables.initialise(Initialisables.java:46)
... 9 common frames omitted
Caused by: java.sql.SQLException: liquibase.exception.DatabaseException: Specified key was too long; max key length is 3072 bytes [Failed SQL: (1071) CREATE TABLE `opal_data`.`categories` (`datasource` VARCHAR(255) NOT NULL, `value_table` VARCHAR(255) NOT NULL, `variable` VARCHAR(255) NOT NULL, `name` VARCHAR(255) NOT NULL, `missing` BIT(1) NOT NULL, CONSTRAINT `PK_CATEGORIES` PRIMARY KEY (`datasource`, `value_table`, `variable`, `name`))ENGINE=InnoDB]
at org.obiba.magma.datasource.jdbc.JdbcDatasource$3.doInConnection(JdbcDatasource.java:519)
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:336)
... 16 common frames omitted
Caused by: liquibase.exception.DatabaseException: Specified key was too long; max key length is 3072 bytes [Failed SQL: (1071) CREATE TABLE `opal_data`.`categories` (`datasource` VARCHAR(255) NOT NULL, `value_table` VARCHAR(255) NOT NULL, `variable` VARCHAR(255) NOT NULL, `name` VARCHAR(255) NOT NULL, `missing` BIT(1) NOT NULL, CONSTRAINT `PK_CATEGORIES` PRIMARY KEY (`datasource`, `value_table`, `variable`, `name`))ENGINE=InnoDB]
at liquibase.executor.jvm.JdbcExecutor$ExecuteStatementCallback.doInStatement(JdbcExecutor.java:440)
at liquibase.executor.jvm.JdbcExecutor.execute(JdbcExecutor.java:78)
at liquibase.executor.jvm.JdbcExecutor.execute(JdbcExecutor.java:161)
at liquibase.database.AbstractJdbcDatabase.execute(AbstractJdbcDatabase.java:1299)
at org.obiba.magma.datasource.jdbc.JdbcDatasource$ChangeDatabaseCallback.doInDatabase(JdbcDatasource.java:685)
at org.obiba.magma.datasource.jdbc.JdbcDatasource$3.doInConnection(JdbcDatasource.java:517)
... 17 common frames omitted
Caused by: java.sql.SQLSyntaxErrorException: Specified key was too long; max key length is 3072 bytes
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:120)
at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)
at com.mysql.cj.jdbc.StatementImpl.executeInternal(StatementImpl.java:763)
at com.mysql.cj.jdbc.StatementImpl.execute(StatementImpl.java:648)
at org.apache.commons.dbcp2.DelegatingStatement.execute(DelegatingStatement.java:193)
at org.apache.commons.dbcp2.DelegatingStatement.execute(DelegatingStatement.java:193)
at liquibase.executor.jvm.JdbcExecutor$ExecuteStatementCallback.doInStatement(JdbcExecutor.java:436)
... 22 common frames omitted