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

"Failed to parse query parameters from JDBC URL" when upgrading from 1.5.8 to 1.5.9 #18848

Closed
plutaniano opened this issue Nov 28, 2024 · 0 comments · Fixed by #18850
Closed

Comments

@plutaniano
Copy link
Contributor

plutaniano commented Nov 28, 2024

Affected module
Backend

Describe the bug
My CI/CD pipeline is failing when trying to upgrade OpenMetadata from 1.5.8 to 1.5.9 using the official helm charts.
It seems that the 1.5.9 release inadvertedly introduced a backwards-incompatible change in the org.openmetadata.service.util.jdbi.DatabaseAuthenticationProviderFactory.parseQueryParams function, which is throwing an error with a values.yaml file that was valid in the 1.5.8 release.

I'm running OpenMetadata on Postgres.

                                  |||||||
                                ||||   ||||      ____
2024-11-28T17:31:34.528712458Z ||||     ||||    / __ \
2024-11-28T17:31:34.528714642Z ||||     ||||   | |  | | _ __    ___  _ __
                               |||||   |||||   | |  | || '_ \  / _ \| '_ \
2024-11-28T17:31:34.528718990Z |||||||||||||   | |__| || |_) ||  __/| | | |
                               |||||||||||||    \____/ | .__/  \___||_| |_|
2024-11-28T17:31:34.528722150Z ||| ||||| |||    __  __ | |    _              _         _
2024-11-28T17:31:34.528723722Z |||  |||  |||   |  \/  ||_|   | |            | |       | |
                               |||   |   |||   | \  / |  ___ | |_  __ _   __| |  __ _ | |_  __ _
2024-11-28T17:31:34.528728850Z |||       |||   | |\/| | / _ \| __|/ _` | / _` | / _` || __|/ _` |
2024-11-28T17:31:34.528730516Z ||| || || |||   | |  | ||  __/| |_| (_| || (_| || (_| || |_| (_| |
2024-11-28T17:31:34.528732083Z ||| ||||| |||   |_|  |_| \___| \__|\__,_| \__,_| \__,_| \__|\__,_|
2024-11-28T17:31:34.528733540Z  |||||||||||
2024-11-28T17:31:34.528735105Z    |||||||
2024-11-28T17:31:34.976810694Z Migrating the OpenMetadata Schema.
2024-11-28T17:31:38.301250785Z Failed to db migration due to 
2024-11-28T17:31:38.302120472Z java.lang.IllegalArgumentException: Failed to parse query parameters from JDBC URL
2024-11-28T17:31:38.302126938Z 	at org.openmetadata.service.util.jdbi.DatabaseAuthenticationProviderFactory.parseQueryParams(DatabaseAuthenticationProviderFactory.java:49)
2024-11-28T17:31:38.302130050Z 	at org.openmetadata.service.util.jdbi.DatabaseAuthenticationProviderFactory.get(DatabaseAuthenticationProviderFactory.java:21)
	at org.openmetadata.service.util.OpenMetadataOperations.parseConfig(OpenMetadataOperations.java:531)
2024-11-28T17:31:38.302133909Z 	at org.openmetadata.service.util.OpenMetadataOperations.migrate(OpenMetadataOperations.java:235)
2024-11-28T17:31:38.302135879Z 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2024-11-28T17:31:38.302137999Z 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
2024-11-28T17:31:38.302139614Z 	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
2024-11-28T17:31:38.302141847Z 	at java.base/java.lang.reflect.Method.invoke(Method.java:569)
2024-11-28T17:31:38.302143683Z 	at picocli.CommandLine.executeUserObject(CommandLine.java:2066)
2024-11-28T17:31:38.302145456Z 	at picocli.CommandLine.access$1500(CommandLine.java:148)
2024-11-28T17:31:38.302147136Z 	at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2461)
2024-11-28T17:31:38.302148763Z 	at picocli.CommandLine$RunLast.handle(CommandLine.java:2453)
2024-11-28T17:31:38.302150450Z 	at picocli.CommandLine$RunLast.handle(CommandLine.java:2415)
2024-11-28T17:31:38.302152113Z 	at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2273)
2024-11-28T17:31:38.302153807Z 	at picocli.CommandLine$RunLast.execute(CommandLine.java:2417)
2024-11-28T17:31:38.302155489Z 	at picocli.CommandLine.execute(CommandLine.java:2170)
2024-11-28T17:31:38.302157118Z 	at org.openmetadata.service.util.OpenMetadataOperations.main(OpenMetadataOperations.java:662)
2024-11-28T17:31:38.302159134Z Caused by: java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 0
2024-11-28T17:31:38.302160703Z 	at java.base/java.lang.String.checkBoundsBeginEnd(String.java:4606)
2024-11-28T17:31:38.302176574Z 	at java.base/java.lang.String.substring(String.java:2709)
2024-11-28T17:31:38.302178557Z 	at org.openmetadata.service.util.jdbi.DatabaseAut
henticationProviderFactory.parseQueryParams(DatabaseAuthenticationProviderFactory.java:43)
2024-11-28T17:31:38.302191061Z 	... 16 common frames omitted

To Reproduce
N/A

Expected behavior
I expected db migrations to run without a problem when upgrading from 1.5.8 to 1.5.9 using the same values.yaml file.

Version:

  • OS: Linux
  • Python version: N/A
  • OpenMetadata version: 1.5.9
  • OpenMetadata Ingestion package version: N/A

Additional context
When I try deploying the same values.yaml file with the 1.5.8 release it works without a problem, but after changing the version and nothing else, the database migration process fails to run.
I can't post my values.yaml file because it's full of sensitive info, but if someone more experienced with OpenMetadata's codebase can point out which values in the values.yaml file could trigger this error, I'd be happy to provide more context.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
1 participant