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