NullpointerException at foreignkeyConstraintExists precondition check (Liquibase v3.0.4)

I get the following error in Liquibase 3.0.4:

SEVERE 14/09/13 2:06 PM:liquibase: Change Set CR4/CR4 Alter 264 Defect 33204 revise table SamplerMetaInfo.xml::0::Wilf failed.  Error: Migration failed for change set CR4/CR4 Alter 264 Defect 33204
vise table SamplerMetaInfo.xml::0::Wilf:
     Reason:
          update.xml : liquibase.precondition.core.ForeignKeyExistsPrecondition@2f542f54 : java.lang.NullPointerException

liquibase.exception.MigrationFailedException: Migration failed for change set CR4/CR4 Alter 264 Defect 33204 revise table SamplerMetaInfo.xml::0::Wilf:
     Reason:
          update.xml : liquibase.precondition.core.ForeignKeyExistsPrecondition@2f542f54 : java.lang.NullPointerException

        at liquibase.changelog.ChangeSet.execute(ChangeSet.java:310)
        at liquibase.changelog.visitor.UpdateVisitor.visit(UpdateVisitor.java:28)
        at liquibase.changelog.ChangeLogIterator.run(ChangeLogIterator.java:58)
        at liquibase.Liquibase.update(Liquibase.java:135)
        at liquibase.integration.commandline.Main.doMigration(Main.java:856)
        at liquibase.integration.commandline.Main.main(Main.java:138)
Caused by: liquibase.exception.PreconditionErrorException: Precondition Error
        at liquibase.precondition.core.ForeignKeyExistsPrecondition.check(ForeignKeyExistsPrecondition.java:76)
        at liquibase.precondition.core.AndPrecondition.check(AndPrecondition.java:34)
        at liquibase.precondition.core.PreconditionContainer.check(PreconditionContainer.java:199)
        at liquibase.changelog.ChangeSet.execute(ChangeSet.java:274)
        … 5 more

When I switch back to 2.0.5 the change set runs fine:

INFO 14/09/13 2:27 PM:liquibase: Marking ChangeSet: CR4/CR4 Alter 264 Defect 33204 revise table SamplerMetaInfo.xml::8::Wilf::(Checksum: 3:9944f846616913213f33fd4201c7607a) ran despite precondition fa
ilure due to onFail=‘MARK_RAN’:
          update.xml : Column ‘AVERAGEDENSITYUOM’ does not exist

I see that in v2.0.x there was a similiar issue that was later fixed:
http://forum.liquibase.org/topic/nullpointerexception-at-foreignkeyconstraintexists-precondition-check

Is this a defect? Any suggestions?
Thanks
Wilf

Can you send the stacktrace you are seeing on 3.0.5 and what you are calling to get the error?

Nathan

Also just ran in to that, but on 3.0.5…

Nol (FWIW) my workaround with Oracle was to query the all_constraints table directly…

       
           
                SELECT count(*) FROM all_constraints WHERE Upper(CONSTRAINT_NAME)=‘SAMPLERMETAINFOFKTEMPERATUREUO’ and owner in (select user from dual);
           
       
       

- Wilf