-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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 4.3.0 throws NullPointerExceptions without snakeyaml in the classpath #1682
Comments
As an embeddable library, we've always tried to keep 3rd party dependencies to a minimum (ideally zero). That makes me not want to make snakeyaml required, even as more of our functionality will depend on it. We have a work-around fix for HubService returning null, so that is probably the best short-term fix anyway. Then we can consider the longer-term plans around how to balance improved json support with additional dependencies. |
I also encountered the issue with 4.3.0.
|
Yes, that is the issue. What were you using to run Liquibase? |
I'm not using Liquibase Hub (as far as I know, I've never registered for it). Do I understand correctly that Liquibase nevertheless tries to connect to a remote service? |
No it does not unless you explicitly configure Liquibase to connect. The null pointer exception happens in the code that is checking to see if you have that local setting enabled as a first step. |
Thanks for the reassurance! |
➤ Erzsebet Carmean commented: Liquibase 4.3.1-LB-1212-SNAPSHOT #1Hub {"git":{"branch":"staging","commit":{"id":"66f7cf2","time":"2021-01-28T19:25:33Z"}}}Liquibase Internal QA Test Requirements
Everything here looks good. |
Description
Snakeyaml is the 3rd party library we use for JSON and YAML parsing.
It has always been an optional component, traditionally only needed for json/yaml changelogs and offline snapshots (which are json-formatted).
As we are adding hub.liquibase.com based functionality, that also requires snakeyaml for the json rest API calls.
With 4.3.0, there is an issue where the "get the HubService" implementation call returns null if we cannot instantiate the standard hubservice class, and then the code that expects a service to be returned throws the null pointer exception.
Impact
This should NOT impact:
<optional>true</optional>
setting we have in the plugin's pom.xmlThis SHOULD impact:
Resolution Options
NOTE: Using a different library than snakeyaml for json parsing is a different issue.
Liquibase Internal QA Test Requirements
Jenkins is an internal build server and results are not visible to the wider community.
The text was updated successfully, but these errors were encountered: