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

flyway with one supported and one unsupported Db throws exception at startup #35528

Closed
wernert75 opened this issue Aug 24, 2023 · 17 comments · Fixed by #35732
Closed

flyway with one supported and one unsupported Db throws exception at startup #35528

wernert75 opened this issue Aug 24, 2023 · 17 comments · Fixed by #35732
Assignees
Labels
area/flyway kind/bug Something isn't working
Milestone

Comments

@wernert75
Copy link

wernert75 commented Aug 24, 2023

Describe the bug

There is an application wich uses two databases. One postgresql and one database wich is not supported by flyway.

Until release 3.3.0 this was no problem. Since migration to 3.3.0 there will be an exception at startup: org.flywaydb.core.api.FlywayException: Unsupported Database

For the unsupported db the migration is switched off: quarkus.flyway.olap.migrate-at-start=false

No I tried to disable flyway for the specific db. quarkus.flyway.olap.enabled=false

But it seems, this parameter is only global, for all connections, available.

Expected behavior

possibility to use flyway with mixed datasources wich are supported and not supported by flyway. This was no problem until Quarkus 3.3.0.

Perhaps it is a solution to make the property quarkus.flyway.enabled separate for every datasource

Actual behavior

There is an exception at startup:

2023-08-24 13:38:48,070 ERROR [io.qua.run.Application] (Quarkus Main Thread) Failed to start application (with profile [devprod, dev]): java.lang.RuntimeException: Failed to start quarkus
	at io.quarkus.runner.ApplicationImpl.doStart(Unknown Source)
	at io.quarkus.runtime.Application.start(Application.java:101)
	at io.quarkus.runtime.ApplicationLifecycleManager.run(ApplicationLifecycleManager.java:111)
	at io.quarkus.runtime.Quarkus.run(Quarkus.java:71)
	at io.quarkus.runtime.Quarkus.run(Quarkus.java:44)
	at io.quarkus.runtime.Quarkus.run(Quarkus.java:124)
	at io.quarkus.runner.GeneratedMain.main(Unknown Source)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at io.quarkus.runner.bootstrap.StartupActionImpl$1.run(StartupActionImpl.java:104)
	at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: jakarta.enterprise.inject.CreationException: Error creating synthetic bean [0f016e26a2915694b42fad485772394a44058251]: org.flywaydb.core.api.FlywayException: Unsupported Database: ClickHouse 23.7
	at io.quarkus.flyway.runtime.FlywayContainer_0f016e26a2915694b42fad485772394a44058251_Synthetic_Bean.doCreate(Unknown Source)
	at io.quarkus.flyway.runtime.FlywayContainer_0f016e26a2915694b42fad485772394a44058251_Synthetic_Bean.create(Unknown Source)
	at io.quarkus.flyway.runtime.FlywayContainer_0f016e26a2915694b42fad485772394a44058251_Synthetic_Bean.create(Unknown Source)
	at io.quarkus.arc.impl.AbstractSharedContext.createInstanceHandle(AbstractSharedContext.java:113)
	at io.quarkus.arc.impl.AbstractSharedContext$1.get(AbstractSharedContext.java:37)
	at io.quarkus.arc.impl.AbstractSharedContext$1.get(AbstractSharedContext.java:34)
	at io.quarkus.arc.impl.LazyValue.get(LazyValue.java:32)
	at io.quarkus.arc.impl.ComputingCache.computeIfAbsent(ComputingCache.java:69)
	at io.quarkus.arc.impl.AbstractSharedContext.get(AbstractSharedContext.java:34)
	at io.quarkus.flyway.runtime.FlywayContainer_0f016e26a2915694b42fad485772394a44058251_Synthetic_Bean.get(Unknown Source)
	at io.quarkus.flyway.runtime.FlywayContainer_0f016e26a2915694b42fad485772394a44058251_Synthetic_Bean.get(Unknown Source)
	at io.quarkus.arc.impl.Instances$3.get(Instances.java:132)
	at io.quarkus.arc.impl.LazyValue.get(LazyValue.java:32)
	at io.quarkus.arc.impl.LazyInstanceHandle.instanceInternal(LazyInstanceHandle.java:32)
	at io.quarkus.arc.impl.AbstractInstanceHandle.get(AbstractInstanceHandle.java:46)
	at io.quarkus.flyway.runtime.FlywayRecorder.doStartActions(FlywayRecorder.java:96)
	at io.quarkus.deployment.steps.FlywayProcessor$startActions2035800939.deploy_0(Unknown Source)
	at io.quarkus.deployment.steps.FlywayProcessor$startActions2035800939.deploy(Unknown Source)
	... 13 more
Caused by: org.flywaydb.core.api.FlywayException: Unsupported Database: ClickHouse 23.7
	at org.flywaydb.core.internal.database.DatabaseTypeRegister.getDatabaseTypeForConnection(DatabaseTypeRegister.java:105)
	at org.flywaydb.core.api.configuration.ClassicConfiguration.setDataSource(ClassicConfiguration.java:1091)
	at org.flywaydb.core.api.configuration.FluentConfiguration.dataSource(FluentConfiguration.java:624)
	at io.quarkus.flyway.runtime.FlywayCreator.createFlyway(FlywayCreator.java:71)
	at io.quarkus.flyway.runtime.FlywayContainerProducer.createFlyway(FlywayContainerProducer.java:53)
	at io.quarkus.flyway.runtime.FlywayRecorder$1.apply(FlywayRecorder.java:66)
	at io.quarkus.flyway.runtime.FlywayRecorder$1.apply(FlywayRecorder.java:57)
	at io.quarkus.flyway.runtime.FlywayContainer_0f016e26a2915694b42fad485772394a44058251_Synthetic_Bean.createSynthetic(Unknown Source)
	... 31 more

How to Reproduce?

No response

Output of uname -a or ver

No response

Output of java -version

No response

GraalVM version (if different from Java)

No response

Quarkus version or git rev

No response

Build tool (ie. output of mvnw --version or gradlew --version)

No response

Additional information

No response

@wernert75 wernert75 added the kind/bug Something isn't working label Aug 24, 2023
@quarkus-bot
Copy link

quarkus-bot bot commented Aug 24, 2023

/cc @cristhiank (flyway), @gastaldi (flyway), @geoand (flyway), @gsmet (flyway)

@geoand
Copy link
Contributor

geoand commented Aug 24, 2023

Can you add a sample that worked for 3.2 but does not for 3.3?

@geoand geoand added the triage/needs-reproducer We are waiting for a reproducer. label Aug 24, 2023
@wernert75
Copy link
Author

wernert75 commented Aug 24, 2023

code-with-quarkus.zip
Here is a simple reproducer. This crashes at startup with 3.3.0. If you switch back to 3.2.4.Final, it will start.
Important: You need a correct db-connection for olap-datasource. If there are for example wrong cridentials, the app will start and no exception is thrown

@geoand geoand removed the triage/needs-reproducer We are waiting for a reproducer. label Aug 24, 2023
@geoand
Copy link
Contributor

geoand commented Aug 25, 2023

You need a correct db-connection for olap-datasource. If there are for example wrong cridentials, the app will start and no exception is thrown

How do I start this service?

@geoand geoand added the triage/needs-feedback We are waiting for feedback. label Aug 25, 2023
@wernert75
Copy link
Author

You need a correct db-connection for olap-datasource. If there are for example wrong cridentials, the app will start and no exception is thrown

How do I start this service?

you could start a docker container with this command:

docker run -d -e CLICKHOUSE_DB=olap -e CLICKHOUSE_USER=admin -e CLICKHOUSE_DEFAULT_ACCESS_MANAGEMENT=1 -e CLICKHOUSE_PASSWORD=admin -p 8124:8123/tcp clickhouse/clickhouse-server

@geoand
Copy link
Contributor

geoand commented Aug 25, 2023

Thanks, I tried this and I can reproduce the problem.

The reason this now happens is due to changes in Flyway.

So I think we have to have an enabled property in FlywayDataSourceRuntimeConfig as well. WDYT @gsmet ?

@geoand geoand removed the triage/needs-feedback We are waiting for feedback. label Aug 25, 2023
@gastaldi
Copy link
Contributor

That makes sense, but I guess the question is why Flyway is being executed in all datasources by default?

@geoand
Copy link
Contributor

geoand commented Aug 25, 2023

Why wouldn't it in the absense of a way to control it?

@gsmet
Copy link
Member

gsmet commented Aug 25, 2023

Yeah I agree we need an enabled bit.

@gsmet
Copy link
Member

gsmet commented Aug 25, 2023

But I wonder if it should be a build time property instead as we don't want to create a Flyway object at all.

@geoand
Copy link
Contributor

geoand commented Aug 25, 2023

We can certainly start out with a build time property and go to runtime if needed instead of going the other way

@gsmet gsmet self-assigned this Aug 25, 2023
@gsmet
Copy link
Member

gsmet commented Aug 25, 2023

I will try to make Flyway more in line with what we decided with active/enabled for Hibernate ORM and friends.

The patch will be a bit complex though and will break things a bit as we need to change the semantic.

Not something I like to do in a micro but I think we will have to live with it.

@quarkus-bot quarkus-bot bot added this to the 3.5 - main milestone Sep 19, 2023
@gsmet gsmet modified the milestones: 3.5 - main, 3.4.1 Sep 19, 2023
benkard pushed a commit to benkard/quarkus-googlecloud-jsonlogging that referenced this issue Sep 24, 2023
…oud-jsonlogging!18)

This MR contains the following updates:

| Package | Type | Update | Change |
|---------|------|--------|--------|
| [io.quarkus:quarkus-extension-processor](https://github.com/quarkusio/quarkus) |  | minor | `3.3.2` -\> `3.4.1` |
| [io.quarkus:quarkus-extension-maven-plugin](https://github.com/quarkusio/quarkus) | build | minor | `3.3.2` -\> `3.4.1` |
| [io.quarkus:quarkus-bom](https://github.com/quarkusio/quarkus) | import | minor | `3.3.2` -\> `3.4.1` |
| [io.quarkus:quarkus-maven-plugin](https://github.com/quarkusio/quarkus) | build | minor | `3.3.2` -\> `3.4.1` |
| [org.eclipse.parsson:parsson](https://github.com/eclipse-ee4j/parsson) | compile | patch | `1.1.2` -\> `1.1.4` |
| [io.smallrye.common:smallrye-common-constraint](http://smallrye.io) ([source](https://github.com/smallrye/smallrye-common)) | compile | patch | `2.1.0` -\> `2.1.2` |

---

### Release Notes

<details>
<summary>quarkusio/quarkus</summary>

### [`v3.4.1`](https://github.com/quarkusio/quarkus/releases/tag/3.4.1)

[Compare Source](quarkusio/quarkus@3.4.0...3.4.1)

##### Major changes

- [\#​35732](quarkusio/quarkus#35732) - Rework how to enable/activate Flyway

##### Complete changelog

- [\#​36000](quarkusio/quarkus#36000) - Bump org.eclipse.jgit:org.eclipse.jgit from 6.6.0.202305301015-r to 6.6.1.202309021850-r in /docs
- [\#​35999](quarkusio/quarkus#35999) - Bump org.eclipse.jgit:org.eclipse.jgit from 6.6.0.202305301015-r to 6.6.1.202309021850-r in /bom/application
- [\#​35990](quarkusio/quarkus#35990) - Don't ignore empty SSE events in client
- [\#​35987](quarkusio/quarkus#35987) - Improve the way HTTP authorizer logs exceptions
- [\#​35981](quarkusio/quarkus#35981) - Fix link to AWS Lambda SnapStart in documentation
- [\#​35979](quarkusio/quarkus#35979) - Add `@ConfigDocEnumValue` & `@ConfigDocDefault` to writing-extensions guide
- [\#​35977](quarkusio/quarkus#35977) - Recompute cached value when the Redis connection fails
- [\#​35975](quarkusio/quarkus#35975) - OIDC: AuthenticationRedirectionException after successful login
- [\#​35968](quarkusio/quarkus#35968) - Warn when wrong token proxy is accessed
- [\#​35966](quarkusio/quarkus#35966) - SSE: Reactive SseEventSource client doesn't consume empty events
- [\#​35964](quarkusio/quarkus#35964) - OIDC: NPE when accessing IdToken when Bearer access token is sent
- [\#​35959](quarkusio/quarkus#35959) - Log invalid CORS origin and method
- [\#​35958](quarkusio/quarkus#35958) - \[GraalVM 24.0\] Hibernate ORM elasticsearch native integration tests fail with return type mismatch
- [\#​35956](quarkusio/quarkus#35956) - Fix return type of hibernate-search substitution
- [\#​35949](quarkusio/quarkus#35949) - Properly initialize reactive Pool beans
- [\#​35938](quarkusio/quarkus#35938) - Bump org.apache.commons:commons-compress from 1.23.0 to 1.24.0 in /bom/application
- [\#​35937](quarkusio/quarkus#35937) - Bump org.apache.commons:commons-compress from 1.23.0 to 1.24.0 in /independent-projects/tools
- [\#​35926](quarkusio/quarkus#35926) - Fix use of multiple `@ClientXXX` annotations in REST Client Reactive
- [\#​35925](quarkusio/quarkus#35925) - Add a property to bypass cache mechanism in case of Redis failure
- [\#​35919](quarkusio/quarkus#35919) - Honor OIDC logout requests when ID token has expired
- [\#​35914](quarkusio/quarkus#35914) - Prevent recording configuration coming from Gradle
- [\#​35900](quarkusio/quarkus#35900) - Fix RESTEasy CDI dependency issue
- [\#​35899](quarkusio/quarkus#35899) - Add note about unsupported `@Lock` in Spring Data JPA
- [\#​35895](quarkusio/quarkus#35895) - Update liquibase to 4.23.2, liquibase-mongodb to 4.23.1
- [\#​35889](quarkusio/quarkus#35889) - UriInfo can not be injected in presence of quarkus-rest-client dependency
- [\#​35886](quarkusio/quarkus#35886) - OTel Scope.close() warning improvement
- [\#​35885](quarkusio/quarkus#35885) - Applying the QE feedback for the Logging guide
- [\#​35884](quarkusio/quarkus#35884) - Application fails to start when eactive restclient uses both ClientExceptionMapper and ClientObjectMapper
- [\#​35883](quarkusio/quarkus#35883) - Bring back the HTTP console commands
- [\#​35879](quarkusio/quarkus#35879) - Quarkus 3.4.0.CR1 does not have HTTP commands in dev mode
- [\#​35858](quarkusio/quarkus#35858) - NullPointerException when entity primary key has the type `byte[]`
- [\#​35777](quarkusio/quarkus#35777) - Add a note about HR not being a replacement for ORM
- [\#​35732](quarkusio/quarkus#35732) - Rework how to enable/activate Flyway
- [\#​35728](quarkusio/quarkus#35728) - OIDC logout not working for virtual callback paths, if id_token is expired but session cookie is present
- [\#​35690](quarkusio/quarkus#35690) - Upgrade to Hibernate ORM 6.2.9.Final and HR 2.0.5.Final
- [\#​35655](quarkusio/quarkus#35655) - Flyway does not work without default datasource 3.3
- [\#​35528](quarkusio/quarkus#35528) - flyway with one supported and one unsupported Db throws exception at startup

### [`v3.4.0`](https://github.com/quarkusio/quarkus/releases/tag/3.4.0)

[Compare Source](quarkusio/quarkus@3.3.3...3.4.0)

##### Complete changelog

- [\#​35888](quarkusio/quarkus#35888) - Restore missing parameters in OIDC Dev UI client cred and password SwaggerUI/GraphQL handlers
- [\#​35870](quarkusio/quarkus#35870) - Use default Vert.x client settings in OTel exporters
- [\#​35866](quarkusio/quarkus#35866) - Automatic TLS support in new Vert.x based open telemetry implementation
- [\#​35862](quarkusio/quarkus#35862) - Only remove OTLP trace services when otlp is not configured
- [\#​35846](quarkusio/quarkus#35846) - Fixes aggregation of configurations with two different executions ids
- [\#​35844](quarkusio/quarkus#35844) - Improve description of the duration format in configuration documentation
- [\#​35840](quarkusio/quarkus#35840) - Updates Infinispan to 14.0.17.Final
- [\#​35831](quarkusio/quarkus#35831) - Quarkus aggregate configurations from different executions that share the same goal
- [\#​35822](quarkusio/quarkus#35822) - Check that embedded property types are marked as `@Embeddable`
- [\#​35817](quarkusio/quarkus#35817) - Improve Qute + Cache integration
- [\#​35804](quarkusio/quarkus#35804) - HTTP fix response compression support
- [\#​35792](quarkusio/quarkus#35792) - Do not include in the list of property names Kubernetes config fallbacks
- [\#​35789](quarkusio/quarkus#35789) - Improve OTel Sampler docs
- [\#​35786](quarkusio/quarkus#35786) - OpenTelemetry exporter (otlp) startup dependency error when running as a Docker container image
- [\#​35784](quarkusio/quarkus#35784) - Document the ability to automatically compress rotated log files
- [\#​35778](quarkusio/quarkus#35778) - Fix generic handling of ParamConverter
- [\#​35774](quarkusio/quarkus#35774) - RESTEasy Reactive fails to handle collections of parameterized types as parameter
- [\#​35764](quarkusio/quarkus#35764) - Do not include revision and host-specific info in MANIFEST.MF
- [\#​35762](quarkusio/quarkus#35762) - Delete temporary openshift files
- [\#​35759](quarkusio/quarkus#35759) - Upgrade Smallrye OpenAPI to 3.5.2
- [\#​35757](quarkusio/quarkus#35757) - Update liquibase from 4.20.0 to 4.23.1, liquibase-mongodb to 4.23.0
- [\#​35747](quarkusio/quarkus#35747) - Large files remain in /tmp after OpenShift deployments
- [\#​35726](quarkusio/quarkus#35726) - Improve matching of config properties to a root
- [\#​35722](quarkusio/quarkus#35722) - Since quarkus 3.3.0 a WARN message unrecognized configuration key "quarkus.kubernetes.route.expose" is logged
- [\#​35718](quarkusio/quarkus#35718) - Packs libraries alongside executable in function.zip
- [\#​35713](quarkusio/quarkus#35713) - AWS Lambda extension does not pack necessary .so files when AWT is used
- [\#​35710](quarkusio/quarkus#35710) - Fix potential NPE in HTTP proxying
- [\#​35706](quarkusio/quarkus#35706) - Azure-Functions crash when X-Forwarded headers are enabled java.lang.NullPointerException
- [\#​35599](quarkusio/quarkus#35599) - Keycloak/Quarkus Issues: Dev and Prod
- [\#​35598](quarkusio/quarkus#35598) - Improve Error-Message for missing Embedabbles
- [\#​35558](quarkusio/quarkus#35558) - Widen conditions under RESTEasy Reactive Server and RESTEasy Classic Client can work together
- [\#​12260](quarkusio/quarkus#12260) - Quarkus logging with compress option

### [`v3.3.3`](https://github.com/quarkusio/quarkus/releases/tag/3.3.3)

[Compare Source](quarkusio/quarkus@3.3.2...3.3.3)

##### Complete changelog

- Fixes CVE-2023-4853
- [\#​35490](quarkusio/quarkus#35490) - Build cache - Improve cachability of service binding tests

</details>

<details>
<summary>eclipse-ee4j/parsson</summary>

### [`v1.1.4`](eclipse-ee4j/parsson@1.1.3...1.1.4)

[Compare Source](eclipse-ee4j/parsson@1.1.3...1.1.4)

### [`v1.1.3`](https://github.com/eclipse-ee4j/parsson/releases/tag/1.1.3): Parsson 1.1.3

[Compare Source](eclipse-ee4j/parsson@1.1.2...1.1.3)

#### What's Changed

- 1\.1.2 release by [@​lukasj](https://github.com/lukasj) in eclipse-ee4j/parsson#89
- [\#​91](eclipse-ee4j/parsson#91): Stack overflow error caused by jakarta.json parsing of untrusted JSON String by [@​lukasj](https://github.com/lukasj) in eclipse-ee4j/parsson#92
- update build plugins by [@​lukasj](https://github.com/lukasj) in eclipse-ee4j/parsson#93
- improve compatibility with OSGi mediator by [@​lukasj](https://github.com/lukasj) in eclipse-ee4j/parsson#96
- [\#​77](eclipse-ee4j/parsson#77): JsonTokenizer.close() recycles its buffer for each call to close() by [@​lukasj](https://github.com/lukasj) in eclipse-ee4j/parsson#97
- [\#​90](eclipse-ee4j/parsson#90): MapUtil.handle does not support Array objects by [@​lukasj](https://github.com/lukasj) in eclipse-ee4j/parsson#98

**Full Changelog**: eclipse-ee4j/parsson@1.1.2...1.1.3

</details>

<details>
<summary>smallrye/smallrye-common</summary>

### [`v2.1.2`](https://github.com/smallrye/smallrye-common/releases/tag/2.1.2)

[Compare Source](smallrye/smallrye-common@2.1.1...2.1.2)

- [\#​243](smallrye/smallrye-common#243) Release 2.1.2
- [\#​242](smallrye/smallrye-common#242) Fix substitutions for Windows OS
- [\#​241](smallrye/smallrye-common#241) GraalVM substitution problem on Windows
- [\#​240](smallrye/smallrye-common#240) Bump version.vertx from 4.4.4 to 4.4.5

### [`v2.1.1`](https://github.com/smallrye/smallrye-common/releases/tag/2.1.1)

[Compare Source](smallrye/smallrye-common@2.1.0...2.1.1)

- [\#​239](smallrye/smallrye-common#239) Release 2.1.1
- [\#​238](smallrye/smallrye-common#238) Allow reaper threads to be started at run time
- [\#​237](smallrye/smallrye-common#237) Bump io.sundr:sundr-maven-plugin from 0.100.1 to 0.100.3
- [\#​236](smallrye/smallrye-common#236) Bump org.apache.maven:maven-artifact from 3.9.3 to 3.9.4
- [\#​234](smallrye/smallrye-common#234) Bump version.graalvm from 22.3.2 to 23.0.1
- [\#​233](smallrye/smallrye-common#233) Bump module-info from 2.0 to 2.1
- [\#​232](smallrye/smallrye-common#232) Bump sundr-maven-plugin from 0.95.0 to 0.100.1
- [\#​231](smallrye/smallrye-common#231) Bump maven-artifact from 3.9.2 to 3.9.3
- [\#​230](smallrye/smallrye-common#230) Bump version.vertx from 4.4.3 to 4.4.4
- [\#​227](smallrye/smallrye-common#227) Bump smallrye-parent from 39 to 40
- [\#​226](smallrye/smallrye-common#226) Bump version.vertx from 4.4.1 to 4.4.3
- [\#​225](smallrye/smallrye-common#225) Bump sundr-maven-plugin from 0.94.0 to 0.95.0
- [\#​222](smallrye/smallrye-common#222) Bump maven-artifact from 3.9.0 to 3.9.2
- [\#​221](smallrye/smallrye-common#221) Port quiet(...) and cast(...) methods from wildfly-common
- [\#​220](smallrye/smallrye-common#220) Bump version.graalvm from 22.3.1 to 22.3.2
- [\#​218](smallrye/smallrye-common#218) Bump version.vertx from 4.4.0 to 4.4.1
- [\#​217](smallrye/smallrye-common#217) Bump asm from 9.4 to 9.5
- [\#​216](smallrye/smallrye-common#216) Support unsigned parameter range checks
- [\#​214](smallrye/smallrye-common#214) Bump version.vertx from 4.3.8 to 4.4.0

</details>

---

### Configuration

:date: **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

:vertical_traffic_light: **Automerge**: Enabled.

:recycle: **Rebasing**: Whenever MR is behind base branch, or you tick the rebase/retry checkbox.

:ghost: **Immortal**: This MR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

* [ ] If you want to rebase/retry this MR, check this box

---

This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
benkard pushed a commit to benkard/mulkcms2 that referenced this issue Nov 12, 2023
This MR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [io.hypersistence:hypersistence-utils-hibernate-62](https://github.com/vladmihalcea/hypersistence-utils) | compile | patch | `3.5.2` -> `3.5.3` |
| [org.hibernate.orm:hibernate-envers](https://hibernate.org/orm) ([source](https://github.com/hibernate/hibernate-orm)) | build | patch | `6.3.0.Final` -> `6.3.1.Final` |
| [org.hibernate.orm:hibernate-core](https://hibernate.org/orm) ([source](https://github.com/hibernate/hibernate-orm)) | build | patch | `6.3.0.Final` -> `6.3.1.Final` |
| [io.quarkus:quarkus-maven-plugin](https://github.com/quarkusio/quarkus) | build | minor | `3.3.3` -> `3.4.1` |
| [io.quarkus:quarkus-universe-bom](https://github.com/quarkusio/quarkus-platform) | import | minor | `3.3.3` -> `3.4.1` |

---

### Release Notes

<details>
<summary>vladmihalcea/hypersistence-utils</summary>

### [`v3.5.3`](https://github.com/vladmihalcea/hypersistence-utils/blob/HEAD/changelog.txt#Version-353---September-19-2023)

\================================================================================

Add QueryStackTraceLogger that allows you to locate the source of an SQL query executed by Hibernate [#&#8203;653](vladmihalcea/hypersistence-utils#653)

</details>

<details>
<summary>hibernate/hibernate-orm</summary>

### [`v6.3.1.Final`](https://github.com/hibernate/hibernate-orm/blob/HEAD/changelog.txt#Changes-in-631Final-September-19-2023)

[Compare Source](hibernate/hibernate-orm@6.3.0...6.3.1)

https://hibernate.atlassian.net/projects/HHH/versions/32188

\*\* Bug
\* \[HHH-17221] - AssertionError initializing a collection with FetchMode.SUBSELECT and IdClass having only one field
\* \[HHH-17203] - ElementCollection doesn't consider [@&#8203;Where](https://github.com/Where) annotation on delete of elements
\* \[HHH-17202] - ArrayStoreException for single field id class entity collection batch loading
\* \[HHH-17201] - Unexpected value type exception for unordered multi id Load with ordered return disable
\* \[HHH-17189] - Audited annotations are ignored on embeddable super types
\* \[HHH-17177] - JDBC type code is ignored in XML mapping for an id attribute
\* \[HHH-17173] - Getting one-to-one association through a referenece to a bytecode enhanced entity fails
\* \[HHH-17168] - Investigate failures on db10\_5 and Cockrachdb of FunctionTests.testCastBinaryWithLength
\* \[HHH-17167] - Unable to locate parameter for RESTRICT - DELETE error when removing entity with RowId
\* \[HHH-17166] - query methods returning primitive types incorrectly inferred to be mutation query methods
\* \[HHH-17165] - short method names in metamodel generator cause SIOBE
\* \[HHH-17163] - persist() should throw JPA's EntityExistsException if passed detached instance
\* \[HHH-17159] - java.lang.StackOverflowError during Update on Entity with Embeddable and JSON
\* \[HHH-17156] - NPE when an Embeddable column is reused in another class related by inheritance
\* \[HHH-17154] - NullPointerException is thrown when constructing EntityManagerFactoryBuilderImpl
\* \[HHH-17135] - CriteriaQuery error passing nullLiteral with entity type class
\* \[HHH-17131] - Regression in entity streams with associated collections resulting in result duplication
\* \[HHH-17105] - SQL clause from [@&#8203;WhereJoinTable](https://github.com/WhereJoinTable) is no longer used for DELETE queries (6.2 regression)
\* \[HHH-17104] - Bug with max() request inside projection
\* \[HHH-17100] - CustomType wrongly calls UserType#disassemble
\* \[HHH-17080] - \[Envers] AuditReader.getRevisionNumberForDate(LocalDateTime) uses Epoch Seconds instead of Epoch Millis
\* \[HHH-17079] - NPE when using CompositeUserType with generic fields in Hibernate 6
\* \[HHH-17049] - Bytecode Enhancement, extra records created for associations created in constructor
\* \[HHH-16945] - CTE query cycle attribute evaluated incorrectly on MSSQL using collation "Latin1\_General_CI_AS"
\* \[HHH-15968] - Sporadic ClassCastException when querying for Set<Enum>.

\*\* Improvement
\* \[HHH-17220] - Avoid runtime lookups of JdbcService from TableGenerator and TableStructure
\* \[HHH-17171] - JPA and multiple query roots
\* \[HHH-16768] - HQL parsed predicates don't validate type comparability

\*\* Task
\* \[HHH-17204] - Relax visibility of some methods for reactive upsert() support
\* \[HHH-17187] - Avoid 0 byte trailing UUID's in tests
\* \[HHH-17160] - Gradle 8.3 upgrade
\* \[HHH-17087] - Update container images to the latest version

</details>

<details>
<summary>quarkusio/quarkus</summary>

### [`v3.4.1`](https://github.com/quarkusio/quarkus/releases/tag/3.4.1)

[Compare Source](quarkusio/quarkus@3.4.0...3.4.1)

##### Major changes

-   [#&#8203;35732](quarkusio/quarkus#35732) - Rework how to enable/activate Flyway

##### Complete changelog

-   [#&#8203;36000](quarkusio/quarkus#36000) - Bump org.eclipse.jgit:org.eclipse.jgit from 6.6.0.202305301015-r to 6.6.1.202309021850-r in /docs
-   [#&#8203;35999](quarkusio/quarkus#35999) - Bump org.eclipse.jgit:org.eclipse.jgit from 6.6.0.202305301015-r to 6.6.1.202309021850-r in /bom/application
-   [#&#8203;35990](quarkusio/quarkus#35990) - Don't ignore empty SSE events in client
-   [#&#8203;35987](quarkusio/quarkus#35987) - Improve the way HTTP authorizer logs exceptions
-   [#&#8203;35981](quarkusio/quarkus#35981) - Fix link to AWS Lambda SnapStart in documentation
-   [#&#8203;35979](quarkusio/quarkus#35979) - Add `@ConfigDocEnumValue` & `@ConfigDocDefault` to writing-extensions guide
-   [#&#8203;35977](quarkusio/quarkus#35977) - Recompute cached value when the Redis connection fails
-   [#&#8203;35975](quarkusio/quarkus#35975) - OIDC: AuthenticationRedirectionException after successful login
-   [#&#8203;35968](quarkusio/quarkus#35968) - Warn when wrong token proxy is accessed
-   [#&#8203;35966](quarkusio/quarkus#35966) - SSE: Reactive SseEventSource client doesn't consume empty events
-   [#&#8203;35964](quarkusio/quarkus#35964) - OIDC: NPE when accessing IdToken when Bearer access token is sent
-   [#&#8203;35959](quarkusio/quarkus#35959) - Log invalid CORS origin and method
-   [#&#8203;35958](quarkusio/quarkus#35958) - \[GraalVM 24.0] Hibernate ORM elasticsearch native integration tests fail with return type mismatch
-   [#&#8203;35956](quarkusio/quarkus#35956) - Fix return type of hibernate-search substitution
-   [#&#8203;35949](quarkusio/quarkus#35949) - Properly initialize reactive Pool beans
-   [#&#8203;35938](quarkusio/quarkus#35938) - Bump org.apache.commons:commons-compress from 1.23.0 to 1.24.0 in /bom/application
-   [#&#8203;35937](quarkusio/quarkus#35937) - Bump org.apache.commons:commons-compress from 1.23.0 to 1.24.0 in /independent-projects/tools
-   [#&#8203;35926](quarkusio/quarkus#35926) - Fix use of multiple `@ClientXXX` annotations in REST Client Reactive
-   [#&#8203;35925](quarkusio/quarkus#35925) - Add a property to bypass cache mechanism in case of Redis failure
-   [#&#8203;35919](quarkusio/quarkus#35919) - Honor OIDC logout requests when ID token has expired
-   [#&#8203;35914](quarkusio/quarkus#35914) - Prevent recording configuration coming from Gradle
-   [#&#8203;35900](quarkusio/quarkus#35900) - Fix RESTEasy CDI dependency issue
-   [#&#8203;35899](quarkusio/quarkus#35899) - Add note about unsupported `@Lock` in Spring Data JPA
-   [#&#8203;35895](quarkusio/quarkus#35895) - Update liquibase to 4.23.2, liquibase-mongodb to 4.23.1
-   [#&#8203;35889](quarkusio/quarkus#35889) - UriInfo can not be injected in presence of quarkus-rest-client dependency
-   [#&#8203;35886](quarkusio/quarkus#35886) - OTel Scope.close() warning improvement
-   [#&#8203;35885](quarkusio/quarkus#35885) - Applying the QE feedback for the Logging guide
-   [#&#8203;35884](quarkusio/quarkus#35884) - Application fails to start when eactive restclient uses both ClientExceptionMapper and ClientObjectMapper
-   [#&#8203;35883](quarkusio/quarkus#35883) - Bring back the HTTP console commands
-   [#&#8203;35879](quarkusio/quarkus#35879) - Quarkus 3.4.0.CR1 does not have HTTP commands in dev mode
-   [#&#8203;35858](quarkusio/quarkus#35858) - NullPointerException when entity primary key has the type `byte[]`
-   [#&#8203;35777](quarkusio/quarkus#35777) - Add a note about HR not being a replacement for ORM
-   [#&#8203;35732](quarkusio/quarkus#35732) - Rework how to enable/activate Flyway
-   [#&#8203;35728](quarkusio/quarkus#35728) - OIDC logout not working for virtual callback paths, if id_token is expired but session cookie is present
-   [#&#8203;35690](quarkusio/quarkus#35690) - Upgrade to Hibernate ORM 6.2.9.Final and HR 2.0.5.Final
-   [#&#8203;35655](quarkusio/quarkus#35655) - Flyway does not work without default datasource 3.3
-   [#&#8203;35528](quarkusio/quarkus#35528) - flyway with one supported and one unsupported Db throws exception at startup

### [`v3.4.0`](https://github.com/quarkusio/quarkus/releases/tag/3.4.0)

[Compare Source](quarkusio/quarkus@3.3.3...3.4.0)

##### Complete changelog

-   [#&#8203;35888](quarkusio/quarkus#35888) - Restore missing parameters in OIDC Dev UI client cred and password SwaggerUI/GraphQL handlers
-   [#&#8203;35870](quarkusio/quarkus#35870) - Use default Vert.x client settings in OTel exporters
-   [#&#8203;35866](quarkusio/quarkus#35866) - Automatic TLS support in new Vert.x based open telemetry implementation
-   [#&#8203;35862](quarkusio/quarkus#35862) - Only remove OTLP trace services when otlp is not configured
-   [#&#8203;35846](quarkusio/quarkus#35846) - Fixes aggregation of configurations with two different executions ids
-   [#&#8203;35844](quarkusio/quarkus#35844) - Improve description of the duration format in configuration documentation
-   [#&#8203;35840](quarkusio/quarkus#35840) - Updates Infinispan to 14.0.17.Final
-   [#&#8203;35831](quarkusio/quarkus#35831) - Quarkus aggregate configurations from different executions that share the same goal
-   [#&#8203;35822](quarkusio/quarkus#35822) - Check that embedded property types are marked as `@Embeddable`
-   [#&#8203;35817](quarkusio/quarkus#35817) - Improve Qute + Cache integration
-   [#&#8203;35804](quarkusio/quarkus#35804) - HTTP fix response compression support
-   [#&#8203;35792](quarkusio/quarkus#35792) - Do not include in the list of property names Kubernetes config fallbacks
-   [#&#8203;35789](quarkusio/quarkus#35789) - Improve OTel Sampler docs
-   [#&#8203;35786](quarkusio/quarkus#35786) - OpenTelemetry exporter (otlp) startup dependency error when running as a Docker container image
-   [#&#8203;35784](quarkusio/quarkus#35784) - Document the ability to automatically compress rotated log files
-   [#&#8203;35778](quarkusio/quarkus#35778) - Fix generic handling of ParamConverter
-   [#&#8203;35774](quarkusio/quarkus#35774) - RESTEasy Reactive fails to handle collections of parameterized types as parameter
-   [#&#8203;35764](quarkusio/quarkus#35764) - Do not include revision and host-specific info in MANIFEST.MF
-   [#&#8203;35762](quarkusio/quarkus#35762) - Delete temporary openshift files
-   [#&#8203;35759](quarkusio/quarkus#35759) - Upgrade Smallrye OpenAPI to 3.5.2
-   [#&#8203;35757](quarkusio/quarkus#35757) - Update liquibase from 4.20.0 to 4.23.1, liquibase-mongodb to 4.23.0
-   [#&#8203;35747](quarkusio/quarkus#35747) - Large files remain in /tmp after OpenShift deployments
-   [#&#8203;35726](quarkusio/quarkus#35726) - Improve matching of config properties to a root
-   [#&#8203;35722](quarkusio/quarkus#35722) - Since quarkus 3.3.0 a WARN message unrecognized configuration key "quarkus.kubernetes.route.expose" is logged
-   [#&#8203;35718](quarkusio/quarkus#35718) - Packs libraries alongside executable in function.zip
-   [#&#8203;35713](quarkusio/quarkus#35713) - AWS Lambda extension does not pack necessary .so files when AWT is used
-   [#&#8203;35710](quarkusio/quarkus#35710) - Fix potential NPE in HTTP proxying
-   [#&#8203;35706](quarkusio/quarkus#35706) - Azure-Functions crash when X-Forwarded headers are enabled java.lang.NullPointerException
-   [#&#8203;35599](quarkusio/quarkus#35599) - Keycloak/Quarkus Issues: Dev and Prod
-   [#&#8203;35598](quarkusio/quarkus#35598) - Improve Error-Message for missing Embedabbles
-   [#&#8203;35558](quarkusio/quarkus#35558) - Widen conditions under RESTEasy Reactive Server and RESTEasy Classic Client can work together
-   [#&#8203;12260](quarkusio/quarkus#12260) - Quarkus logging with compress option

</details>

<details>
<summary>quarkusio/quarkus-platform</summary>

### [`v3.4.1`](quarkusio/quarkus-platform@3.3.3...3.4.1)

[Compare Source](quarkusio/quarkus-platform@3.3.3...3.4.1)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever MR is behind base branch, or you tick the rebase/retry checkbox.

👻 **Immortal**: This MR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box

---

This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC4yNC4wIiwidXBkYXRlZEluVmVyIjoiMzQuMjQuMCJ9-->
@nilskuhn
Copy link

Although this is merged and assigned to ms 3.4.1, I am still facing this issue at startup, logging "Unsupported Database" using quarkus v3.7.3.

In the documentation, I don't see a config option quarkus.flyway."named-data-sources".enabled. If this is still not implemented, how to configure two datasources of which only one flyway is activated?

@gsmet
Copy link
Member

gsmet commented Feb 29, 2024

@nilskuhn see quarkus.flyway."named-data-sources".active

enabled has to be set at build time and is global, it disables Flyway entirely.

active can be used per datasource and make Flyway active or not.

@nilskuhn
Copy link

Aah, ok, thanks a lot for the fast response, that's great! 😄

I still think, the documentation could be improved:
image
if activation can be set globally via quarkus.flyway.active, the description is wrong: "... for a specific datasource".

@gsmet
Copy link
Member

gsmet commented Feb 29, 2024

The first one is for the default datasource. Unfortunately the doc is shared between the two so it's hard to find a wording that works for both.
If you have a proposal, I'm all ears :).

@nilskuhn
Copy link

Ok, I see. If the doc is shared between the setting with and without "named-data-sources", I would prefer:

Flag to activate/deactivate Flyway at runtime.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/flyway kind/bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants