# Upgrading from Liquibase 3.3.2 to Liquibase 4.4.3 - checksum algorithm has changed

**URL:** https://forum.liquibase.org/t/upgrading-from-liquibase-3-3-2-to-liquibase-4-4-3-checksum-algorithm-has-changed/5964
**Category:** Community Answers
**Created:** [September 27, 2021, 4:43pm UTC](https://forum.liquibase.org/t/upgrading-from-liquibase-3-3-2-to-liquibase-4-4-3-checksum-algorithm-has-changed/5964 "2021-09-27T16:43:06Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![IanClaridge](https://avatars.discourse-cdn.com/v4/letter/i/a6a055/32.png) [@IanClaridge](https://forum.liquibase.org/u/IanClaridge)
#### Post date: [September 27, 2021, 4:43pm UTC](https://forum.liquibase.org/t/upgrading-from-liquibase-3-3-2-to-liquibase-4-4-3-checksum-algorithm-has-changed/5964/1 "2021-09-27T16:43:06Z")

</div>

Hi.

We are upgrading from Liquibase **3.3.2** to version **4.4.3**.

We have a Postgres database created from changesets defined in Liquibase 3.3.2. Running the version 3.3.2 `validate` command against this database and pointing to our master changelog file shows the message “No validation errors found” - as expected.

However, running the equivalent `validate` command using the 4.4.3 version of Liquibase against the _same_ Postgres database and same master changelog file shows the message “300 change sets have changed since they were ran against the database”. ( **NB:** There have been _no_ database changes (new changesets) in between running the two commands.)

Example output:

```auto
$ liquibase-4.4.3\liquibase.bat --changelog-file=masterChangeLog.xml --url=jdbc:postgresql://localhost:38000/[databaseName] --driver-properties-file=liquibase.properties validate

Starting Liquibase at 15:38:40 (version 4.4.3 #53 built at 2021-08-05 18:32+0000)
Liquibase Version: 4.4.3
Liquibase Community 4.4.3 by Datical
Validation Error:
     300 change sets have changed since they were ran against the database
          ChangeLog-6.1.0.xml::[changesetName1]::[username] was: 7:b135dc4c148a772d6c6f9b65eb8f81ab but is now: 8:745d7f24706f71f4ebe37973afde398c
          ChangeLog-6.1.0.xml::[changesetName2]::[username] was: 7:cb6cb2cd402ae5193748eb82a872d9ba but is now: 8:71adf6ff457d112cc15f83e16de5dc92
...etc.
...etc.

```

I have noticed that there appears to be some sort of algorithm version change in the `md5sum` **before** and **after** values, e.g. `"7:..."` versus `"8:..."`.

How should I proceed before using the **4.4.3** version of the `update` command?

Thanks,

Ian C.

---

<div class="post-metadata">

### Author: ![daryldoak](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.liquibase.org/daryldoak/32/764_2.png) [@daryldoak](https://forum.liquibase.org/u/daryldoak)
#### Post date: [September 28, 2021, 11:30am UTC](https://forum.liquibase.org/t/upgrading-from-liquibase-3-3-2-to-liquibase-4-4-3-checksum-algorithm-has-changed/5964/2 "2021-09-28T11:30:30Z")

</div>

I don’t know anything about an algorithm change, but you could run the clearCheckSums to remove the MD5SUMs, then run update which will recalculate them.

[https://docs.liquibase.com/commands/community/clearchecksums.html](https://docs.liquibase.com/commands/community/clearchecksums.html)

---

<div class="post-metadata">

### Author: ![devdave](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.liquibase.org/devdave/32/342_2.png) [@devdave](https://forum.liquibase.org/u/devdave)
#### Post date: [September 29, 2021, 1:19pm UTC](https://forum.liquibase.org/t/upgrading-from-liquibase-3-3-2-to-liquibase-4-4-3-checksum-algorithm-has-changed/5964/3 "2021-09-29T13:19:49Z")

</div>

Hi @IanClaridge, there has been a change in the way the checksums are calculated. I have seen some information about this in the past as we had the same issue very early on in our project, but unfortunately I can’t find the same information that I’d seen before any more. There is however this, which mentions that there was indeed a change: [Checksums change between 2 liquibase versions: moving from 3.6.3 to 3.8.9 · Issue #1681 · liquibase/liquibase · GitHub](https://github.com/liquibase/liquibase/issues/1681)

I think the main change was that the algorithm version (i.e. 7: \> 8: ) changed, but it looks like that did also affect the rest of the checksum

Obviously knowing what and why doesn’t necessarily help you but I thought that might be useful info.

One other option for proceeding with this is to include the `<validCheckSum>` tag for every changeset with the old checksum value, however if you have 300 changesets then that’s obviously a lot of effort.

If you do go down the route of using the clearCheckSums command that daryldoak mentioned then I’d suggest testing it on a non-production db first and also make sure that you run it on a db that you know is already up to date so that when you run update again after clearing the checksums it will just re-populate the new checksums and won’t try to run any new changesets.

Hope that helps  
Dave

---

<div class="post-metadata">

### Author: ![IanClaridge](https://avatars.discourse-cdn.com/v4/letter/i/a6a055/32.png) [@IanClaridge](https://forum.liquibase.org/u/IanClaridge)
#### Post date: [September 29, 2021, 4:41pm UTC](https://forum.liquibase.org/t/upgrading-from-liquibase-3-3-2-to-liquibase-4-4-3-checksum-algorithm-has-changed/5964/4 "2021-09-29T16:41:34Z")

</div>

Thanks @devdave and @daryldoak.

I’ll certainly be trying the clearCheckSums command, and testing it first against a non-prod database.

Kind regards,

Ian.
