Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Liquibase Checksum Error #37641

@shawkins

Description

@shawkins

With the following Keycloak version changes:

  1. upgrade from x.y.z -> 26.0.(1-4) - prior to Add validChecksum to jpa-changelog-26.0.0.xml #34521
  2. upgrade from 26.0.(1-4) -> 26.0.5+ - there's no checksum error. The initial user reported having made it successfully to 26.0.7.
  3. downgrade from 26.0.5+ -> 26.0.2 with a checksum error:
│ 2025-02-19 08:56:25,193 ERROR [org.keycloak.quarkus.runtime.cli.ExecutionExceptionHandler] (main) ERROR: liquibase.exception.ValidationFailedException: Validation Failed:                                                                       │
│      1 changesets check sum                                                                                                                                                                                                                      │
│           META-INF/jpa-changelog-26.0.0.xml::26.0.0-idps-for-login::keycloak was: 9:ac427966f1e52713b0c97a88b8d1351d but is now: 9:51f5fffadf986983d4bd59582c6c1604                                                                              │
│                                                                                                                                                                                                                                                  │
│ 2025-02-19 08:56:25,193 ERROR [org.keycloak.quarkus.runtime.cli.ExecutionExceptionHandler] (main) ERROR: Validation Failed:                                                                                                                      │
│      1 changesets check sum                                                                                                                                                                                                                      │
│           META-INF/jpa-changelog-26.0.0.xml::26.0.0-idps-for-login::keycloak was: 9:ac427966f1e52713b0c97a88b8d1351d but is now: 9:51f5fffadf986983d4bd59582c6c1604                                                                              │
│

On the first step, I'm unsure why the checksum is computed as 9:ac427966f1e52713b0c97a88b8d1351d - the storage team would have to weigh in there.

There was no error with the second transition. My guess from the liquibase source https://github.com/liquibase/liquibase/blob/2ca49dd4a03d9f5934d985bd565f3ea4884bf378/liquibase-standard/src/main/java/liquibase/changelog/visitor/ValidatingVisitor.java#L124 - is that having the validCheckSum in the file allows for this check to succeed https://github.com/liquibase/liquibase/blob/2ca49dd4a03d9f5934d985bd565f3ea4884bf378/liquibase-standard/src/main/java/liquibase/changelog/ChangeSet.java#L1384 because the new computed version is 9:51f5fffadf986983d4bd59582c6c1604

Then when downgrading to 26.0.2 the checksum is still being computed as 9:51f5fffadf986983d4bd59582c6c1604, not 9:ac427966f1e52713b0c97a88b8d1351d like it was originally (perhaps it's dependent upon the affects of some other migration) and now you get a checksum error.

Originally posted by @shawkins in #37509 (reply in thread)

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/storageIndicates an issue that touches storage (change in data layout or data manipulation)kind/bugCategorizes a PR related to a bugteam/core-iamteam/core-shared

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions