Search code examples
javaliquibase

Why is Liquibase automatically creating snapshots after upgrading?


After upgrading from Liquibase 4.26.0 to 4.31.0, Liquibase is automatically creating snapshots when running changesets. This significantly slows down the process:

[liquibase.ui] (main) INFO  Running Changeset: redacted
[liquibase.snapshot] (main) INFO  Creating snapshot
[liquibase.changelog] (main) INFO  Index REDACTED_I4 created
[liquibase.changelog] (main) INFO  ChangeSet redacted ran successfully in 1296ms
[liquibase.ui] (main) INFO  Running Changeset: redacted
[liquibase.snapshot] (main) INFO  Creating snapshot
[liquibase.changelog] (main) INFO  Index REDACTED_I5 created
[liquibase.changelog] (main) INFO  ChangeSet redacted ran successfully in 1289ms
[liquibase.ui] (main) INFO  Running Changeset: redacted
[liquibase.snapshot] (main) INFO  Creating snapshot

We are using Liquibase programmatically and calling it like this:

var resourceAccessor = new DirectoryResourceAccessor(pathToChangeLogFiles);
try (var liquibase = new Liquibase(changeLogFile, resourceAccessor, databaseConnection))
{
    Scope.enter(Map.of(Scope.Attr.ui.name(), new LoggerUIService()));
    liquibase.setShowSummaryOutput(UpdateSummaryOutputEnum.LOG);

    liquibase.update(contexts);
}

Why is this happening and how can this behavior be disabled? Thank you very much in advance!


Solution

  • I believe it is a bug. I have created a GitHub issue: https://github.com/liquibase/liquibase/issues/6711