Hi all, I have isue with liquibase configuration, liquibase don't running at startup. I migrate spring boot from 2.1.11.RELEASE to 2.2.4.RELEASE and liquibase from 3.6.3 to 3.8.5.This is the configuration bean that i use, that nothing change since spring boot 2.1.11 :

 @Bean
    @Profile("!default")
    public MultiTenantSpringLiquibase liquibase1(@Qualifier("taskExecutor") Executor executor, DataSource dataSource,
            LiquibaseProperties liquibaseProperties, ApplicationProperties applicationProperties) {
        MultiTenantSpringLiquibase multi = new MultiTenantSpringLiquibase();
        multi.setSchemas(new ArrayList<>(applicationProperties.getMultitenant().keySet()));
        multi.setDataSource(dataSource);
        multi.setChangeLog("classpath:config/liquibase/master.xml");
        multi.setContexts(liquibaseProperties.getContexts());
        multi.setDefaultSchema(liquibaseProperties.getDefaultSchema());
        multi.setLiquibaseSchema(liquibaseProperties.getLiquibaseSchema());
        multi.setLiquibaseTablespace(liquibaseProperties.getLiquibaseTablespace());
        multi.setDatabaseChangeLogLockTable(liquibaseProperties.getDatabaseChangeLogLockTable());
        multi.setDatabaseChangeLogTable(liquibaseProperties.getDatabaseChangeLogTable());
        multi.setDropFirst(liquibaseProperties.isDropFirst());
        multi.setLabels(liquibaseProperties.getLabels());
        multi.setRollbackFile(liquibaseProperties.getRollbackFile());

        if (env.acceptsProfiles(Profiles.of(JHipsterConstants.SPRING_PROFILE_NO_LIQUIBASE))) {
            multi.setShouldRun(false);
        } else {
            multi.setShouldRun(liquibaseProperties.isEnabled());
            log.debug("Configuring Liquibase multitenant mode");
        }
        return multi;
    }

i see only this in changelog :

2020-01-31 12:43:50.672 DEBUG 22940 --- [  restartedMain] f.i.m.config.LiquibaseConfiguration      : Configuring Liquibase multitenant mode
2020-01-31 12:43:55.555  INFO 22940 --- [  restartedMain] f.i.mr.MrApp       : Started MrApp  in 131.318 seconds (JVM running for 132.276)

Liquibase is not running, i can't see anymore this line -> starting liquibase, liquibase has updated your database in XXX ms.

Did the configuration has change between spring 2.1 -> 2.2 ?

Comment From: wilkinsona

Thanks for the report. Unfortunately, I can't reproduce the behaviour you have described. A MultiTenantSpringLiquibase bean has its afterPropertiesSet method called and, as expected, it causes Liquibase to migrate the database:

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::        (v2.2.4.RELEASE)

2020-01-31 12:47:42.420  INFO 55461 --- [           main] com.example.demo.Gh19993Application      : Starting Gh19993Application on Andys-MacBook-Pro.local with PID 55461 (/Users/awilkinson/dev/workspaces/spring-projects/spring-boot/master/gh-19993/target/classes started by awilkinson in /Users/awilkinson/dev/workspaces/spring-projects/spring-boot/master/gh-19993)
2020-01-31 12:47:42.422  INFO 55461 --- [           main] com.example.demo.Gh19993Application      : No active profile set, falling back to default profiles: default
2020-01-31 12:47:42.854  INFO 55461 --- [           main] l.i.spring.MultiTenantSpringLiquibase    : Schema based multitenancy enabled
2020-01-31 12:47:42.854  INFO 55461 --- [           main] l.i.spring.MultiTenantSpringLiquibase    : Initializing Liquibase for schema 
2020-01-31 12:47:42.857  INFO 55461 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Starting...
2020-01-31 12:47:43.040  INFO 55461 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Start completed.
2020-01-31 12:47:43.654  INFO 55461 --- [           main] liquibase.executor.jvm.JdbcExecutor      : SELECT COUNT(*) FROM PUBLIC.DATABASECHANGELOGLOCK
2020-01-31 12:47:43.664  INFO 55461 --- [           main] liquibase.executor.jvm.JdbcExecutor      : CREATE TABLE PUBLIC.DATABASECHANGELOGLOCK (ID INT NOT NULL, LOCKED BOOLEAN NOT NULL, LOCKGRANTED TIMESTAMP, LOCKEDBY VARCHAR(255), CONSTRAINT PK_DATABASECHANGELOGLOCK PRIMARY KEY (ID))
2020-01-31 12:47:43.668  INFO 55461 --- [           main] liquibase.executor.jvm.JdbcExecutor      : SELECT COUNT(*) FROM PUBLIC.DATABASECHANGELOGLOCK
2020-01-31 12:47:43.670  INFO 55461 --- [           main] liquibase.executor.jvm.JdbcExecutor      : DELETE FROM PUBLIC.DATABASECHANGELOGLOCK
2020-01-31 12:47:43.671  INFO 55461 --- [           main] liquibase.executor.jvm.JdbcExecutor      : INSERT INTO PUBLIC.DATABASECHANGELOGLOCK (ID, LOCKED) VALUES (1, FALSE)
2020-01-31 12:47:43.673  INFO 55461 --- [           main] liquibase.executor.jvm.JdbcExecutor      : SELECT LOCKED FROM PUBLIC.DATABASECHANGELOGLOCK WHERE ID=1
2020-01-31 12:47:43.680  INFO 55461 --- [           main] l.lockservice.StandardLockService        : Successfully acquired change log lock
2020-01-31 12:47:44.416  INFO 55461 --- [           main] l.c.StandardChangeLogHistoryService      : Creating database history table with name: PUBLIC.DATABASECHANGELOG
2020-01-31 12:47:44.417  INFO 55461 --- [           main] liquibase.executor.jvm.JdbcExecutor      : CREATE TABLE PUBLIC.DATABASECHANGELOG (ID VARCHAR(255) NOT NULL, AUTHOR VARCHAR(255) NOT NULL, FILENAME VARCHAR(255) NOT NULL, DATEEXECUTED TIMESTAMP NOT NULL, ORDEREXECUTED INT NOT NULL, EXECTYPE VARCHAR(10) NOT NULL, MD5SUM VARCHAR(35), DESCRIPTION VARCHAR(255), COMMENTS VARCHAR(255), TAG VARCHAR(255), LIQUIBASE VARCHAR(20), CONTEXTS VARCHAR(255), LABELS VARCHAR(255), DEPLOYMENT_ID VARCHAR(10))
2020-01-31 12:47:44.418  INFO 55461 --- [           main] liquibase.executor.jvm.JdbcExecutor      : SELECT COUNT(*) FROM PUBLIC.DATABASECHANGELOG
2020-01-31 12:47:44.418  INFO 55461 --- [           main] l.c.StandardChangeLogHistoryService      : Reading from PUBLIC.DATABASECHANGELOG
2020-01-31 12:47:44.419  INFO 55461 --- [           main] liquibase.executor.jvm.JdbcExecutor      : SELECT * FROM PUBLIC.DATABASECHANGELOG ORDER BY DATEEXECUTED ASC, ORDEREXECUTED ASC
2020-01-31 12:47:44.419  INFO 55461 --- [           main] liquibase.executor.jvm.JdbcExecutor      : SELECT COUNT(*) FROM PUBLIC.DATABASECHANGELOGLOCK
2020-01-31 12:47:44.422  INFO 55461 --- [           main] l.lockservice.StandardLockService        : Successfully released change log lock
2020-01-31 12:47:44.422  INFO 55461 --- [           main] l.i.spring.MultiTenantSpringLiquibase    : Liquibase ran for schema 
2020-01-31 12:47:44.470  INFO 55461 --- [           main] com.example.demo.Gh19993Application      : Started Gh19993Application in 2.272 seconds (JVM running for 2.536)
2020-01-31 12:47:44.472  INFO 55461 --- [extShutdownHook] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Shutdown initiated...
2020-01-31 12:47:44.474  INFO 55461 --- [extShutdownHook] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Shutdown completed.

If you would like us to spend some more time investigating, please provide a minimal sample that reproduces the problem. You can share it with us by zipping it up and attaching it to this issue or by pushing it to a separate repository on GitHub.

Comment From: alexis-puska

Hi all, sorry for open this ticket, with your stacktrace i can see that liquibase change the logging by liquiase.* my logback configuration cannot logged these lines and i hava databasechangelog lock inside my database table.

this first problem with liquibase was solved. Now liquibase 3.8.5 diff error -> go to the liquibase forum.

Thanks wilkinsona