Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Liquibase includeAll does not work in native mode #16292

Closed
famod opened this issue Apr 6, 2021 · 10 comments · Fixed by #42095
Closed

Liquibase includeAll does not work in native mode #16292

famod opened this issue Apr 6, 2021 · 10 comments · Fixed by #42095
Labels
area/liquibase kind/bug Something isn't working triage/upstream Used for issues which are caused by issues in upstream projects/dependency
Milestone

Comments

@famod
Copy link
Member

famod commented Apr 6, 2021

This is a follow-up to #14751 which contains all the necessary info, especially #14751 (comment)

Short story: includeAll was fixed for JVM mode by upgrading to Liquibase to 4.3.2 but the classpath resource scanning in Liquibase needs some adjustments (in Quarkus) to make it work in native.

@famod famod added the kind/bug Something isn't working label Apr 6, 2021
@quarkus-bot
Copy link

quarkus-bot bot commented Apr 6, 2021

/cc @andrejpetras, @geoand, @gsmet

@geoand
Copy link
Contributor

geoand commented Apr 7, 2021

Do we have an example application where this isn't working?

Or some easy way to reproduce it?

@famod
Copy link
Member Author

famod commented Apr 7, 2021

Two options to reproduce:

gsmet pushed a commit to gsmet/quarkus that referenced this issue Apr 7, 2021
@geoand
Copy link
Contributor

geoand commented Apr 13, 2021

So I had a quick look at this one, and it seems that the way includeAll works (which is by reading the contents of the actual directory file), does not work well in GraalVM.
I even tried registering the directory as a resource (which worked with a small fix in Quarkus), but that still didn't do the trick.

So if we want to make this work, we'll need to change the Liquibase implementation to not open the directory as a stream, but instead I guess filter the files of the file system.

@famod
Copy link
Member Author

famod commented Apr 13, 2021

Thanks for looking into this @geoand! I had a feeling that it would turn out this way.

@nvoxland would you be open to making Liquibase more GraalVM friendly?
If yes we would create an upstream issue to track this.

@famod famod added the triage/upstream Used for issues which are caused by issues in upstream projects/dependency label Jun 27, 2021
@famod
Copy link
Member Author

famod commented Mar 22, 2022

FTR, liquibase 4.6.0 tightened the validation in that errorIfMissingOrEmpty is now set to true by default, causing a hard failure (directory not found).
See also: #24487 (comment)

@JimJLE
Copy link

JimJLE commented Mar 28, 2023

Still not working with 2.16.5.Final
Dev and JVM mode ok but not with native apps.
Is there any bypass ?

@geoand
Copy link
Contributor

geoand commented Feb 29, 2024

Is this still an issue in the latest versions of Quarkus?

@famod
Copy link
Member Author

famod commented Feb 29, 2024

Just checked the IT on main - still an issue, unfortunately.

@geoand
Copy link
Contributor

geoand commented Feb 29, 2024

😢

Thanks for checking

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/liquibase kind/bug Something isn't working triage/upstream Used for issues which are caused by issues in upstream projects/dependency
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants