You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have a quarkus application with a Postgres database and liquibase changeset.
All work fine on "classic" JVM but on native mode some liquibase change instruction seems have a problem and throw ValidationFailedException on startup.
I have this behavior on update instruction
Expected behavior
Like on classic JVM, the application should apply the migration and startup without error.
Actual behavior
On native run I have this error :
2021-03-17 15:53:24,316 ERROR [io.qua.run.Application] (main) Failed to start application (with profile prod): liquibase.exception.ValidationFailedException: Validation Failed:
1 changes have validation failures
tableName is required, liquibase/changeLog.xml::1613578374533-3::sfauvart
at liquibase.changelog.DatabaseChangeLog.validate(DatabaseChangeLog.java:299)
at liquibase.changelog.DatabaseChangeLog.validate(DatabaseChangeLog.java:275)
at liquibase.Liquibase.validate(Liquibase.java:2220)
at io.quarkus.liquibase.runtime.LiquibaseRecorder.doStartActions(LiquibaseRecorder.java:49)
at io.quarkus.deployment.steps.LiquibaseProcessor$startLiquibase763757012.deploy_0(LiquibaseProcessor$startLiquibase763757012.zig:67)
at io.quarkus.deployment.steps.LiquibaseProcessor$startLiquibase763757012.deploy(LiquibaseProcessor$startLiquibase763757012.zig:40)
at io.quarkus.runner.ApplicationImpl.doStart(ApplicationImpl.zig:629)
at io.quarkus.runtime.Application.start(Application.java:90)
at io.quarkus.runtime.ApplicationLifecycleManager.run(ApplicationLifecycleManager.java:100)
at io.quarkus.runtime.Quarkus.run(Quarkus.java:66)
at io.quarkus.runtime.Quarkus.run(Quarkus.java:42)
at io.quarkus.runtime.Quarkus.run(Quarkus.java:119)
at io.quarkus.runner.GeneratedMain.main(GeneratedMain.zig:29)
tableName is present in my changelog.xml file and run correctly on classic JVM.
Environment (please complete the following information):
Output of uname -a or ver
MacBook Pro 2019 on Mac OS X
Darwin M100263 19.6.0 Darwin Kernel Version 19.6.0: Mon Aug 31 22:12:52 PDT 2020; root:xnu-6153.141.2~1/RELEASE_X86_64 x86_64
Output of java -version
openjdk version "11.0.10" 2021-01-19
OpenJDK Runtime Environment GraalVM CE 21.0.0 (build 11.0.10+8-jvmci-21.0-b06)
OpenJDK 64-Bit Server VM GraalVM CE 21.0.0 (build 11.0.10+8-jvmci-21.0-b06, mixed mode, sharing)
Quarkus version or git rev
1.12.2.Final
Build tool (ie. output of mvnw --version or gradlew --version)
OK, so... adding liquibase.change.core.AbstractModifyDataChange for reflection fixes the issue but my guess is that we need to add all the classes marked with @DatabaseChangeProperty. That will inflate the size of the native image but I don't see any other solution.
Describe the bug
I have a quarkus application with a Postgres database and liquibase changeset.
All work fine on "classic" JVM but on native mode some liquibase change instruction seems have a problem and throw ValidationFailedException on startup.
I have this behavior on update instruction
Expected behavior
Like on classic JVM, the application should apply the migration and startup without error.
Actual behavior
On native run I have this error :
tableName is present in my changelog.xml file and run correctly on classic JVM.
To Reproduce
You can use this git repo : https://github.com/sfauvart/quarkus-liquibase-validation-fail
This repo is simply a quarkus project with jdbc postgres and liquibase extensions with this liquibase changelog :
Steps to reproduce the behavior:
Configuration
Environment (please complete the following information):
Output of
uname -a
orver
MacBook Pro 2019 on Mac OS X
Darwin M100263 19.6.0 Darwin Kernel Version 19.6.0: Mon Aug 31 22:12:52 PDT 2020; root:xnu-6153.141.2~1/RELEASE_X86_64 x86_64
Output of
java -version
openjdk version "11.0.10" 2021-01-19
OpenJDK Runtime Environment GraalVM CE 21.0.0 (build 11.0.10+8-jvmci-21.0-b06)
OpenJDK 64-Bit Server VM GraalVM CE 21.0.0 (build 11.0.10+8-jvmci-21.0-b06, mixed mode, sharing)
Quarkus version or git rev
1.12.2.Final
Build tool (ie. output of
mvnw --version
orgradlew --version
)Maven home: /Users/sfauvart/.m2/wrapper/dists/apache-maven-3.6.3-bin/1iopthnavndlasol9gbrbg6bf2/apache-maven-3.6.3
Java version: 11.0.10, vendor: GraalVM Community, runtime: /Users/sfauvart/.sdkman/candidates/java/21.0.0.r11-grl
Default locale: fr_FR, platform encoding: UTF-8
OS name: "mac os x", version: "10.15.7", arch: "x86_64", family: "mac"
Additional context
I have try with a linux compilation with docker but the same exception happen.
The text was updated successfully, but these errors were encountered: