Liquibase license issues when upgrading to v-4.3.4

At the company I work, we are using Liquibase as well as Flyway. After upgrading from an older liquibase version we now run into license issues when we run the liquibase dump data command. I have had a look at the pro vs community features and cannot see that we are using any pro features. Our database schemas have tables, constraints, and sequences. No stored procedures, no triggers, etc. Below is the output from a new greenfield project, there are just 5 tables in the schema. There is no reason why this is not working as far as I can see.

This works:

java -jar liquibase-core-3.5.5.jar --logLevel=debug --driver=oracle.jdbc.OracleDriver --classpath=ojdbc8-12.2.0.1.jar --changeLogFile=db.changelog.xml --url="jdbc:oracle:thin:@localhost:1521:XE" --username=TEST --password=TEST --diffTypes="data" generateChangeLog

Output:

DEBUG 5/5/21, 12:55 PM: liquibase: Connected to TEST@jdbc:oracle:thin:@localhost:1521:XE
DEBUG 5/5/21, 12:55 PM: liquibase: Setting auto commit to false from true
DEBUG 5/5/21, 12:55 PM: liquibase: Computed checksum for 1620212106304 as 71ccb0e4115d9cd80adbc25b483e3c69
INFO 5/5/21, 12:55 PM: liquibase: Can not use class liquibase.serializer.core.yaml.YamlChangeLogSerializer as a Liquibase service because org.yaml.snakeyaml.representer.Representer is not in the classpath
INFO 5/5/21, 12:55 PM: liquibase: Can not use class liquibase.serializer.core.json.JsonChangeLogSerializer as a Liquibase service because org.yaml.snakeyaml.representer.Representer is not in the classpath
INFO 5/5/21, 12:55 PM: liquibase: db.changelog.xml does not exist, creating
DEBUG 5/5/21, 12:55 PM: liquibase: MissingObjectChangeGenerator type order:     liquibase.structure.core.Catalog    liquibase.structure.core.Schema    liquibase.structure.core.Table    liquibase.structure.core.Data    liquibase.structure.core.ForeignKey    liquibase.structure.core.Index    liquibase.structure.core.PrimaryKey    liquibase.structure.core.View
DEBUG 5/5/21, 12:55 PM: liquibase: UnexpectedObjectChangeGenerator type order:     liquibase.structure.core.Catalog    liquibase.structure.core.Data    liquibase.structure.core.Schema    liquibase.structure.core.View
liquibase.structure.core.Column    liquibase.structure.core.Table    liquibase.structure.core.Column    liquibase.structure.core.PrimaryKey
DEBUG 5/5/21, 12:55 PM: liquibase: ChangedObjectChangeGenerator type order:     liquibase.structure.core.Catalog    liquibase.structure.core.Data    liquibase.structure.core.Schema    liquibase.structure.core.Table    liquibase.structure.core.View
Liquibase 'generateChangeLog' Successful

The change log file is generated, and the command complains about some dependencies but that is alright, we just need a data dump.

Now running the same command against liquibase version 4.3.4:

java -jar liquibase-core-4.3.4.jar --logLevel=debug --driver=oracle.jdbc.OracleDriver --classpath=ojdbc8-12.2.0.1.jar --changeLogFile=db.changelog.xml --url="jdbc:oracle:thin:@localhost:1521:XE" --username=TEST --password=TEST --diffTypes="data" generateChangeLog

Output:

Starting Liquibase at 12:53:34 (version 4.3.4 #55 built at 2021-04-19 20:18+0000)
[2021-05-05 12:53:34] FINE [liquibase.integration] Adding 'file:/C:/Users/.../dev/test/config/schema/ojdbc8-12.2.0.1.jar' to the Java classpath.
[2021-05-05 12:53:34] FINE [liquibase.integration] Liquibase Hub URL:      https://hub.liquibase.com
[2021-05-05 12:53:34] FINE [liquibase.integration] Liquibase Hub Mode:     all
[2021-05-05 12:53:34] FINE [liquibase.resource] Adding path C:\Users\...\dev\test\config\schema\. to resourceAccessor liquibase.resource.FileSystemResourceAccessor
[2021-05-05 12:53:34] FINE [liquibase.servicelocator] Loaded liquibase.database.Database instance liquibase.database.core.CockroachDatabase
[2021-05-05 12:53:34] FINE [liquibase.servicelocator] Loaded liquibase.database.Database instance liquibase.database.core.DB2Database
[2021-05-05 12:53:34] FINE [liquibase.servicelocator] Loaded liquibase.database.Database instance liquibase.database.core.Db2zDatabase
[2021-05-05 12:53:34] FINE [liquibase.servicelocator] Loaded liquibase.database.Database instance liquibase.database.core.DerbyDatabase
[2021-05-05 12:53:34] FINE [liquibase.servicelocator] Loaded liquibase.database.Database instance liquibase.database.core.Firebird3Database
[2021-05-05 12:53:34] FINE [liquibase.servicelocator] Loaded liquibase.database.Database instance liquibase.database.core.FirebirdDatabase
[2021-05-05 12:53:34] FINE [liquibase.servicelocator] Loaded liquibase.database.Database instance liquibase.database.core.H2Database
[2021-05-05 12:53:34] FINE [liquibase.servicelocator] Loaded liquibase.database.Database instance liquibase.database.core.HsqlDatabase
[2021-05-05 12:53:34] FINE [liquibase.servicelocator] Loaded liquibase.database.Database instance liquibase.database.core.InformixDatabase
[2021-05-05 12:53:34] FINE [liquibase.servicelocator] Loaded liquibase.database.Database instance liquibase.database.core.Ingres9Database
[2021-05-05 12:53:34] FINE [liquibase.servicelocator] Loaded liquibase.database.Database instance liquibase.database.core.MSSQLDatabase
[2021-05-05 12:53:34] FINE [liquibase.servicelocator] Loaded liquibase.database.Database instance liquibase.database.core.MariaDBDatabase
[2021-05-05 12:53:34] FINE [liquibase.servicelocator] Loaded liquibase.database.Database instance liquibase.database.core.MockDatabase
[2021-05-05 12:53:34] FINE [liquibase.servicelocator] Loaded liquibase.database.Database instance liquibase.database.core.MySQLDatabase
[2021-05-05 12:53:34] FINE [liquibase.servicelocator] Loaded liquibase.database.Database instance liquibase.database.core.OracleDatabase
[2021-05-05 12:53:34] FINE [liquibase.servicelocator] Loaded liquibase.database.Database instance liquibase.database.core.PostgresDatabase
[2021-05-05 12:53:34] FINE [liquibase.servicelocator] Loaded liquibase.database.Database instance liquibase.database.core.SQLiteDatabase
[2021-05-05 12:53:34] FINE [liquibase.servicelocator] Loaded liquibase.database.Database instance liquibase.database.core.SybaseASADatabase
[2021-05-05 12:53:34] FINE [liquibase.servicelocator] Loaded liquibase.database.Database instance liquibase.database.core.SybaseDatabase
[2021-05-05 12:53:34] FINE [liquibase.servicelocator] Loaded liquibase.database.Database instance liquibase.database.core.UnsupportedDatabase
[2021-05-05 12:53:34] FINE [liquibase.database] Properties:
[2021-05-05 12:53:34] FINE [liquibase.database] Key:'password' Value:'**********'
[2021-05-05 12:53:34] FINE [liquibase.database] Key:'user' Value:'TEST'
[2021-05-05 12:53:34] FINE [liquibase.database] Connecting to the URL:'jdbc:oracle:thin:@localhost:1521:XE' using driver:'oracle.jdbc.OracleDriver'
[2021-05-05 12:53:34] FINE [liquibase.servicelocator] Loaded liquibase.database.DatabaseConnection instance liquibase.database.jvm.JdbcConnection
[2021-05-05 12:53:34] FINE [liquibase.servicelocator] Loaded liquibase.database.DatabaseConnection instance com.datical.liquibase.ext.database.jvm.ProJdbcConnection
[2021-05-05 12:53:35] FINE [liquibase.database] Connection has been created
[2021-05-05 12:53:35] FINE [liquibase.database] Connected to TEST@jdbc:oracle:thin:@localhost:1521:XE
[2021-05-05 12:53:35] FINE [liquibase.database] Setting auto commit to false from true
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.structure.DatabaseObject instance liquibase.structure.core.Catalog
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.structure.DatabaseObject instance liquibase.structure.core.Column
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.structure.DatabaseObject instance liquibase.structure.core.Data
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.structure.DatabaseObject instance liquibase.structure.core.ForeignKey
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.structure.DatabaseObject instance liquibase.structure.core.Index
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.structure.DatabaseObject instance liquibase.structure.core.PrimaryKey
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.structure.DatabaseObject instance liquibase.structure.core.Schema
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.structure.DatabaseObject instance liquibase.structure.core.Sequence
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.structure.DatabaseObject instance liquibase.structure.core.StoredProcedure
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.structure.DatabaseObject instance liquibase.structure.core.Table
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.structure.DatabaseObject instance liquibase.structure.core.UniqueConstraint
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.structure.DatabaseObject instance liquibase.structure.core.View
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.structure.DatabaseObject instance com.datical.liquibase.ext.appdba.synonym.Synonym
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.structure.DatabaseObject instance com.datical.liquibase.ext.storedlogic.checkconstraint.CheckConstraint
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.structure.DatabaseObject instance com.datical.liquibase.ext.storedlogic.databasepackage.DatabasePackage
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.structure.DatabaseObject instance com.datical.liquibase.ext.storedlogic.databasepackage.DatabasePackageBody
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.structure.DatabaseObject instance com.datical.liquibase.ext.storedlogic.function.Function
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.structure.DatabaseObject instance com.datical.liquibase.ext.storedlogic.trigger.Trigger
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.structure.DatabaseObject instance liquibase.structure.core.Catalog
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.structure.DatabaseObject instance liquibase.structure.core.Column
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.structure.DatabaseObject instance liquibase.structure.core.Data
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.structure.DatabaseObject instance liquibase.structure.core.ForeignKey
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.structure.DatabaseObject instance liquibase.structure.core.Index
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.structure.DatabaseObject instance liquibase.structure.core.PrimaryKey
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.structure.DatabaseObject instance liquibase.structure.core.Schema
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.structure.DatabaseObject instance liquibase.structure.core.Sequence
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.structure.DatabaseObject instance liquibase.structure.core.StoredProcedure
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.structure.DatabaseObject instance liquibase.structure.core.Table
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.structure.DatabaseObject instance liquibase.structure.core.UniqueConstraint
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.structure.DatabaseObject instance liquibase.structure.core.View
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.structure.DatabaseObject instance com.datical.liquibase.ext.appdba.synonym.Synonym
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.structure.DatabaseObject instance com.datical.liquibase.ext.storedlogic.checkconstraint.CheckConstraint
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.structure.DatabaseObject instance com.datical.liquibase.ext.storedlogic.databasepackage.DatabasePackage
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.structure.DatabaseObject instance com.datical.liquibase.ext.storedlogic.databasepackage.DatabasePackageBody
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.structure.DatabaseObject instance com.datical.liquibase.ext.storedlogic.function.Function
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.structure.DatabaseObject instance com.datical.liquibase.ext.storedlogic.trigger.Trigger
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.command.LiquibaseCommand instance liquibase.command.core.DeactivateChangeLogCommand
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.command.LiquibaseCommand instance liquibase.command.core.DiffCommand
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.command.LiquibaseCommand instance liquibase.command.core.DiffToChangeLogCommand
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.command.LiquibaseCommand instance liquibase.command.core.DropAllCommand
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.command.LiquibaseCommand instance liquibase.command.core.ExecuteSqlCommand
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.command.LiquibaseCommand instance liquibase.command.core.GenerateChangeLogCommand
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.command.LiquibaseCommand instance liquibase.command.core.HistoryCommand
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.command.LiquibaseCommand instance liquibase.command.core.RegisterChangeLogCommand
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.command.LiquibaseCommand instance liquibase.command.core.SnapshotCommand
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.command.LiquibaseCommand instance liquibase.command.core.SyncHubCommand
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.command.LiquibaseCommand instance liquibase.sdk.convert.ConvertCommand
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.command.LiquibaseCommand instance com.datical.liquibase.ext.command.FormattedDiffCommand
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.command.LiquibaseCommand instance com.datical.liquibase.ext.command.RollbackOneChangeSetCommand
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.command.LiquibaseCommand instance com.datical.liquibase.ext.command.RollbackOneUpdateCommand
Unexpected error running Liquibase: Unknown reason
For more information, please use the --logLevel flag
[2021-05-05 12:53:35] SEVERE [liquibase.integration] Unexpected error running Liquibase: Unknown reason
java.lang.NullPointerException
        at com.datical.liquibase.ext.command.RollbackOneChangeSetCommand.getPriority(Unknown Source)
        at liquibase.command.CommandFactory$1.compare(CommandFactory.java:49)
        at liquibase.command.CommandFactory$1.compare(CommandFactory.java:46)
        at java.base/java.util.TimSort.binarySort(Unknown Source)
        at java.base/java.util.TimSort.sort(Unknown Source)
        at java.base/java.util.Arrays.sort(Unknown Source)
        at java.base/java.util.ArrayList.sort(Unknown Source)
        at java.base/java.util.Collections.sort(Unknown Source)
        at liquibase.command.CommandFactory.getCommand(CommandFactory.java:55)
        at liquibase.integration.commandline.CommandLineUtils.doGenerateChangeLog(CommandLineUtils.java:237)
        at liquibase.integration.commandline.Main.doMigration(Main.java:1542)
        at liquibase.integration.commandline.Main$1.lambda$run$0(Main.java:367)
        at liquibase.Scope.lambda$child$0(Scope.java:160)
        at liquibase.Scope.child(Scope.java:169)
        at liquibase.Scope.child(Scope.java:159)
        at liquibase.Scope.child(Scope.java:138)
        at liquibase.integration.commandline.Main$1.run(Main.java:366)
        at liquibase.integration.commandline.Main$1.run(Main.java:196)
        at liquibase.Scope.child(Scope.java:169)
        at liquibase.Scope.child(Scope.java:145)
        at liquibase.integration.commandline.Main.run(Main.java:196)
        at liquibase.integration.commandline.Main.main(Main.java:158)

Changing --diffTypes to just “tables” does not work either, this leads me to believe that this is a bug. It must be possible to do a plain data dump with the latest Liquibase Open Source Version just as it did with previous versions (at least 3.5.5 which we have used for a long time).

Best regards,
Steinard

Same error occurs in latest release 4.3.5 #62

I cloned master from github, commented out some failing unit tests and built liquibase-core, then copied the compiled jar to the same folder as the previous attempts documented above and ran the command:

java -jar liquibase-core-4.4.0-local-SNAPSHOT.jar --logLevel=info --driver=oracle.jdbc.OracleDriver --classpath=ojdbc8-12.2.0.1.jar --changeLogFile=db.changelog.xml --url=“jdbc:oracle:thin:@localhost:1521:XE” --username=TEST --password=TEST --diffTypes=“data” generateChangeLog

Output:

[2021-05-05 15:41:08] INFO [liquibase.servicelocator] Cannot load service: liquibase.license.LicenseService: Provider liquibase.pro.license.keymgr.DaticalTrueLicenseService not found

Starting Liquibase at 15:41:08 (version 4.4.0-local-SNAPSHOT #0 built at 2021-05-05 13:05+0000)
BEST PRACTICE: The changelog generated by diffChangeLog/generateChangeLog should be inspected for correctness and completeness before being deployed.
[2021-05-05 15:41:09] INFO [liquibase.servicelocator] Cannot load service: liquibase.serializer.ChangeLogSerializer: liquibase.serializer.core.json.JsonChangeLogSerializer Unable to get public no-arg constructor
[2021-05-05 15:41:09] INFO [liquibase.servicelocator] Cannot load service: liquibase.serializer.ChangeLogSerializer: liquibase.serializer.core.yaml.YamlChangeLogSerializer Unable to get public no-arg constructor
[2021-05-05 15:41:09] WARNING [liquibase.diff] Unable to query DBA_DEPENDENCIES table. Switching to USER_DEPENDENCIES
[2021-05-05 15:41:09] INFO [liquibase.diff] changeSets count: 4
[2021-05-05 15:41:09] INFO [liquibase.diff] db.changelog.xml does not exist, creating and adding 4 changesets.
Liquibase command ‘generateChangeLog’ was executed successfully.

So this issue with the license is fixed on master branch. Any plans on upgrading 4.3.5 with a working release?

Thanks,
Steinard