changeLog inheritance checksum failed

Description

Hello,
I'm trying to split the changeLog.xml that has became to huge into sub-changeLogs.xml (one by application version).

But unexpectedly, the checksum validation has failed on already applied changeSet.

After investigation, it seems that Liquibase uses a same checksum (computed on ?don't know?) for all changeSet of all sub-changelog.xml that declares a sql file (<sqlFile ... />)...

Have I miss something or is it an unsupported feature by Liquibase?

ChangeLogs

Original changelog.xml

<?xml version="1.0" encoding="UTF-8"?> <databaseChangeLog xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.1.xsd"> <!-- ... --> <changeSet id="PIETRAN-1682" author="liquibase" logicalFilePath="scripts/2.38.0/PIETRAN-1682.sql"> <sqlFile relativeToChangelogFile="true" path="scripts/2.38.0/PIETRAN-1682.sql" /> </changeSet> <changeSet id="PIETRAN-1682-2" author="liquibase" logicalFilePath="scripts/2.38.0/PIETRAN-1682-2.sql"> <sqlFile relativeToChangelogFile="true" path="scripts/2.38.0/PIETRAN-1682-2.sql" /> </changeSet> <changeSet id="PIE-10938" author="liquibase" logicalFilePath="scripts/2.38.0/PIE-10938.sql"> <sqlFile relativeToChangelogFile="true" path="scripts/2.38.0/PIE-10938.sql" /> </changeSet> <changeSet id="version-2.38.0" author="liquibase" logicalFilePath="n/a tag=2.38.0"> <tagDatabase tag="2.38.0"/> </changeSet> <changeSet id="2.39.0-dml" author="liquibase" logicalFilePath="scripts/2.39.0/2.39.0-ddl.sql"> <sqlFile relativeToChangelogFile="true" path="scripts/2.39.0/2.39.0-ddl.sql"/> </changeSet> <changeSet id="PIE-10894" author="liquibase" logicalFilePath="scripts/2.39.0/PIE-10894.sql"> <sqlFile relativeToChangelogFile="true" path="scripts/2.39.0/PIE-10894.sql"/> </changeSet> <changeSet id="PIE-10915" author="liquibase" logicalFilePath="scripts/2.39.0/PIE-10915.sql"> <sqlFile relativeToChangelogFile="true" path="scripts/2.39.0/PIE-10915.sql"/> </changeSet> <changeSet id="version-2.39.0" author="liquibase" logicalFilePath="n/a tag=2.39.0"> <tagDatabase tag="2.39.0"/> </changeSet> <!-- ... --> </databaseChangeLog>

Master changelog.xml

<!-- ... --> <include relativeToChangelogFile="true" file="scripts/2.38.0/changeLog.xml" /> <include relativeToChangelogFile="true" file="scripts/2.39.0/changeLog.xml" /> <!-- ... -->
  • changelog-2.38.xml contains the four first changeSet

  • changelog-2.39.xml contains the four last changeSet

Checksum comparison

id

file

description

md5sum (ORIGNAL)

md5sum (NEW)

PIETRAN-1682

scripts/2.38.0/PIETRAN-1682.sql

sqlFile

7:dd1a94fb6b9da96990ece716ad312b3f

7:f5032ab5d66464c5d77ca62f90ca05ad

PIETRAN-1682-2

scripts/2.38.0/PIETRAN-1682-2.sql

sqlFile

7:73422229ea186af5f8500ff160ef45d5

7:f5032ab5d66464c5d77ca62f90ca05ad

PIE-10938

scripts/2.38.0/PIE-10938.sql

sqlFile

7:9ade6099c24da620a6b67d00d9ea9942

7:f5032ab5d66464c5d77ca62f90ca05ad

version-2.38.0

n/a tag=2.38.0

tagDatabase

7:9895aaa1ae62f6b2dd79573f3f207f39

7:9895aaa1ae62f6b2dd79573f3f207f39

2.39.0-dml

scripts/2.39.0/2.39.0-ddl.sql

sqlFile

7:f5032ab5d66464c5d77ca62f90ca05ad

7:f5032ab5d66464c5d77ca62f90ca05ad

PIE-10894

scripts/2.39.0/PIE-10894.sql

sqlFile

7:666e799f34604f7daf85a54bb79e51cc

7:f5032ab5d66464c5d77ca62f90ca05ad

PIE-10915

scripts/2.39.0/PIE-10915.sql

sqlFile

7:502ec7315f0d16cd6533aa4a475adc02

7:f5032ab5d66464c5d77ca62f90ca05ad

version-2.39.0

n/a tag=2.39.0

tagDatabase

7:ea227f77515580448821fd4517f5c96f

7:ea227f77515580448821fd4517f5c96f

In the first hand, the first checksum column (md5sum (ORIGNAL)) corresponds to checksum computed when all changeSet were in one changelog.xml file
and, in the other hand, the second checksum colum (md5sum (NEW)) corresponds to new computed checksum when changeSet have been split into sub-changlog.xml

Environment

Windows: 7.1-64bits
Postgresql: 9.3.4-3
Maven: 3.2.1
Java: 1.7.0_55

Activity

Show:

Nathan Voxland June 24, 2015 at 3:19 PM

I'm hoping to get it out today.

Guy de Pierpont June 24, 2015 at 7:58 AM

Hi Nathan,
What is the ETA of the release 3.4.0?
Thks

Nathan Voxland June 22, 2015 at 7:37 PM

This appears to be working correctly with 3.4.0

Nathan Voxland March 9, 2015 at 9:57 PM

Cannot Reproduce

Details

Reporter

Components

Affects versions

Priority

Created February 23, 2015 at 11:11 AM
Updated June 24, 2015 at 3:19 PM
Resolved June 22, 2015 at 7:37 PM

Flag notifications