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

auto-service-loader-registration fails with GraalVM CE 21+35.1 #36129

Closed
ryanemerson opened this issue Sep 25, 2023 · 4 comments · Fixed by #36942
Closed

auto-service-loader-registration fails with GraalVM CE 21+35.1 #36129

ryanemerson opened this issue Sep 25, 2023 · 4 comments · Fixed by #36942
Assignees
Labels
area/native-image kind/bug Something isn't working
Milestone

Comments

@ryanemerson
Copy link

Describe the bug

Using Quarkus 3.4.1 and GraalVM CE 21+35.1, it's not possible to naively compile an application with the property quarkus.native.auto-service-loader-registration=true. The following exception is thrown:

[INFO] [io.quarkus.deployment.pkg.steps.NativeImageBuildRunner] /home/remerson/Programs/graalvm-community-openjdk-21+35.1/bin/native-image -J-Djava.util.logging.manager=org.jboss.logmanager.LogManager -J-Dlogging.initial-configurator.min-level=500 -J-Duser.language=en -J-Duser.country=GB -J-Dfile.encoding=UTF-8 --features=io.quarkus.runner.Feature,io.quarkus.runtime.graal.DisableLoggingFeature -J--add-exports=java.security.jgss/sun.security.krb5=ALL-UNNAMED -J--add-opens=java.base/java.text=ALL-UNNAMED -J--add-opens=java.base/java.io=ALL-UNNAMED -J--add-opens=java.base/java.lang.invoke=ALL-UNNAMED -J--add-opens=java.base/java.util=ALL-UNNAMED -H:+UnlockExperimentalVMOptions -H:BuildOutputJSONFile=reproducer-1.0-SNAPSHOT-runner-build-output-stats.json -H:-UnlockExperimentalVMOptions -H:+UnlockExperimentalVMOptions -H:+AllowFoldMethods -H:-UnlockExperimentalVMOptions -J-Djava.awt.headless=true --no-fallback --link-at-build-time -H:+UnlockExperimentalVMOptions -H:+ReportExceptionStackTraces -H:-UnlockExperimentalVMOptions -H:-AddAllCharsets --enable-url-protocols=http -H:NativeLinkerOption=-no-pie -H:+UnlockExperimentalVMOptions -H:+UseServiceLoaderFeature -H:-UnlockExperimentalVMOptions -H:+TraceServiceLoaderFeature -J--add-exports=org.graalvm.nativeimage/org.graalvm.nativeimage.impl=ALL-UNNAMED reproducer-1.0-SNAPSHOT-runner -jar reproducer-1.0-SNAPSHOT-runner.jar
Warning: The option '-H:+TraceServiceLoaderFeature' is experimental and must be enabled via '-H:+UnlockExperimentalVMOptions' in the future.
Warning: Please re-evaluate whether any experimental option is required, and either remove or unlock it. The build output lists all active experimental options, including where they come from and possible alternatives. If you think an experimental option should be considered as stable, please file an issue.
Error: Could not find option 'TraceServiceLoaderFeature' from 'user'. Did you mean one of these: ServiceLoaderFeatureExcludeServiceProviders ServiceLoaderFeatureExcludeServices UseServiceLoaderFeature. Use -H:PrintFlags= to list all available options.

Expected behavior

No response

Actual behavior

No response

How to Reproduce?

  1. Define quarkus.native.auto-service-loader-registration=true in application.properties
  2. Build the application with mvn clean install -Pnative

https://github.com/ryanemerson/TraceServiceLoaderFeatureReproducer

Output of uname -a or ver

Linux fedora 6.2.15-100.fc36.x86_64 #1 SMP PREEMPT_DYNAMIC Thu May 11 16:51:53 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

Output of java -version

No response

GraalVM version (if different from Java)

openjdk version "21" 2023-09-19 OpenJDK Runtime Environment GraalVM CE 21+35.1 (build 21+35-jvmci-23.1-b15) OpenJDK 64-Bit Server VM GraalVM CE 21+35.1 (build 21+35-jvmci-23.1-b15, mixed mode, sharing)

Quarkus version or git rev

3.4.1

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

Apache Maven 3.9.1 (2e178502fcdbffc201671fb2537d0cb4b4cc58f8) Maven home: /home/remerson/Programs/apache-maven-3.9.1 Java version: 21, vendor: Oracle Corporation, runtime: /usr/lib/jvm/jdk-21 Default locale: en_GB, platform encoding: UTF-8 OS name: "linux", version: "6.2.15-100.fc36.x86_64", arch: "amd64", family: "unix"

Additional information

No response

@demeureg
Copy link

demeureg commented Nov 6, 2023

Hello,

i've the same problem with Quarkus 3.5.0 when adding OpenTelemetry into my application. It sounds like the feature TraceServiceLoaderFeature does not exist anymore into graalvm into 21+35 when I check this website : https://chriswhocodes.com/graalvm_native_image_jdk21_options.html

I tried a workaround by adding quarkus.native.additional-build-args=-H:+UnlockExperimentalVMOptions,-H:+UseServiceLoaderFeature but it's not working:

__  ____  __  _____   ___  __ ____  ______ 
 --/ __ \/ / / / _ | / _ \/ //_/ / / / __/
 -/ /_/ / /_/ / __ |/ , _/ ,< / /_/ /\ \
--\___\_\____/_/ |_/_/|_/_/|_|\____/___/
2023-11-06 11:39:26,593 ERROR [io.qua.run.Application] (main) Failed to start application (with profile [prod]): java.lang.RuntimeExceptio
n: 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)
Caused by: java.util.ServiceConfigurationError: io.opentelemetry.sdk.autoconfigure.spi.traces.ConfigurableSpanExporterProvider: Provider i
o.opentelemetry.exporter.otlp.internal.OtlpSpanExporterProvider not found
        at java.base@21/java.util.ServiceLoader.fail(ServiceLoader.java:593)
        at java.base@21/java.util.ServiceLoader$LazyClassPathLookupIterator.nextProviderClass(ServiceLoader.java:1219)
        at java.base@21/java.util.ServiceLoader$LazyClassPathLookupIterator.hasNextService(ServiceLoader.java:1228)
        at java.base@21/java.util.ServiceLoader$LazyClassPathLookupIterator.hasNext(ServiceLoader.java:1273)
        at java.base@21/java.util.ServiceLoader$2.hasNext(ServiceLoader.java:1309)
        at java.base@21/java.util.ServiceLoader$3.hasNext(ServiceLoader.java:1393)
        at io.opentelemetry.sdk.autoconfigure.internal.SpiHelper.load(SpiHelper.java:87)
        at io.opentelemetry.sdk.autoconfigure.internal.SpiHelper.loadConfigurable(SpiHelper.java:58)
        at io.opentelemetry.sdk.autoconfigure.SpanExporterConfiguration.spanExporterSpiManager(SpanExporterConfiguration.java:81)
        at io.opentelemetry.sdk.autoconfigure.SpanExporterConfiguration.configureSpanExporters(SpanExporterConfiguration.java:63)
        at io.opentelemetry.sdk.autoconfigure.TracerProviderConfiguration.configureTracerProvider(TracerProviderConfiguration.java:53)    
        at io.opentelemetry.sdk.autoconfigure.AutoConfiguredOpenTelemetrySdkBuilder.build(AutoConfiguredOpenTelemetrySdkBuilder.java:356) 
        at io.quarkus.opentelemetry.runtime.OpenTelemetryRecorder$1.apply(OpenTelemetryRecorder.java:79)
        at io.quarkus.opentelemetry.runtime.OpenTelemetryRecorder$1.apply(OpenTelemetryRecorder.java:52)
        at io.opentelemetry.api.OpenTelemetry_2deeb341bce4a230183bf3a228841625fe2519ae_Synthetic_Bean.createSynthetic(Unknown Source)     
        at io.opentelemetry.api.OpenTelemetry_2deeb341bce4a230183bf3a228841625fe2519ae_Synthetic_Bean.doCreate(Unknown Source)
        at io.opentelemetry.api.OpenTelemetry_2deeb341bce4a230183bf3a228841625fe2519ae_Synthetic_Bean.create(Unknown Source)
        at io.opentelemetry.api.OpenTelemetry_2deeb341bce4a230183bf3a228841625fe2519ae_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.opentelemetry.api.OpenTelemetry_2deeb341bce4a230183bf3a228841625fe2519ae_Synthetic_Bean.get(Unknown Source)
        at io.opentelemetry.api.OpenTelemetry_2deeb341bce4a230183bf3a228841625fe2519ae_Synthetic_Bean.get(Unknown Source)
        at io.quarkus.arc.impl.ArcContainerImpl.beanInstanceHandle(ArcContainerImpl.java:539)
        at io.quarkus.arc.impl.ArcContainerImpl.beanInstanceHandle(ArcContainerImpl.java:519)
        at io.quarkus.arc.impl.ArcContainerImpl.beanInstanceHandle(ArcContainerImpl.java:552)
        at io.quarkus.arc.impl.ArcContainerImpl.instanceHandle(ArcContainerImpl.java:514)
        at io.quarkus.arc.impl.ArcContainerImpl.instance(ArcContainerImpl.java:279)
        at io.quarkus.agroal.runtime.OpenTelemetryAgroalDataSource.<init>(OpenTelemetryAgroalDataSource.java:24)
        at io.quarkus.agroal.runtime.AgroalOpenTelemetryWrapper.apply(AgroalOpenTelemetryWrapper.java:11)
        at io.quarkus.agroal.runtime.DataSources.doCreateDataSource(DataSources.java:266)
        at io.quarkus.agroal.runtime.DataSources$1.apply(DataSources.java:129)
        at io.quarkus.agroal.runtime.DataSources$1.apply(DataSources.java:126)
        at java.base@21/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1708)
        at io.quarkus.agroal.runtime.DataSources.getDataSource(DataSources.java:126)
        at io.quarkus.agroal.runtime.AgroalRecorder$2.apply(AgroalRecorder.java:30)
        at io.quarkus.agroal.runtime.AgroalRecorder$2.apply(AgroalRecorder.java:26)
        at io.agroal.api.AgroalDataSource_b2aa8b8b9e83e7488275798e8f28cf480c5b2eed_Synthetic_Bean.createSynthetic(Unknown Source)
        at io.agroal.api.AgroalDataSource_b2aa8b8b9e83e7488275798e8f28cf480c5b2eed_Synthetic_Bean.doCreate(Unknown Source)
        at io.agroal.api.AgroalDataSource_b2aa8b8b9e83e7488275798e8f28cf480c5b2eed_Synthetic_Bean.create(Unknown Source)
        at io.agroal.api.AgroalDataSource_b2aa8b8b9e83e7488275798e8f28cf480c5b2eed_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.agroal.api.AgroalDataSource_b2aa8b8b9e83e7488275798e8f28cf480c5b2eed_Synthetic_Bean.get(Unknown Source)
        at io.agroal.api.AgroalDataSource_b2aa8b8b9e83e7488275798e8f28cf480c5b2eed_Synthetic_Bean.get(Unknown Source)
        at io.quarkus.arc.impl.ArcContainerImpl.beanInstanceHandle(ArcContainerImpl.java:539)
        at io.quarkus.arc.impl.ArcContainerImpl.beanInstanceHandle(ArcContainerImpl.java:519)
        at io.quarkus.arc.impl.ArcContainerImpl.beanInstanceHandle(ArcContainerImpl.java:552)
        at io.quarkus.arc.impl.ArcContainerImpl.instanceHandle(ArcContainerImpl.java:514)
        at io.quarkus.arc.impl.ArcContainerImpl.instance(ArcContainerImpl.java:279)
        at io.quarkus.agroal.runtime.metrics.AgroalMetricsRecorder.getDataSource(AgroalMetricsRecorder.java:120)
        at io.quarkus.agroal.runtime.metrics.AgroalMetricsRecorder$2.accept(AgroalMetricsRecorder.java:35)
        at io.quarkus.agroal.runtime.metrics.AgroalMetricsRecorder$2.accept(AgroalMetricsRecorder.java:31)
        at io.quarkus.smallrye.metrics.runtime.SmallRyeMetricsRecorder.registerMetrics(SmallRyeMetricsRecorder.java:185)
        at io.quarkus.deployment.steps.SmallRyeMetricsProcessor$registerRuntimeExtensionMetrics2046145689.deploy_0(Unknown Source)        
        at io.quarkus.deployment.steps.SmallRyeMetricsProcessor$registerRuntimeExtensionMetrics2046145689.deploy(Unknown Source)
        ... 7 more

Output of uname -a or ver
Linux LT-DEV-03 5.15.90.1-microsoft-standard-WSL2 #1 SMP Fri Jan 27 02:56:13 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

Output of java -version
openjdk version "21" 2023-09-19
OpenJDK Runtime Environment GraalVM CE 21+35.1 (build 21+35-jvmci-23.1-b15)
OpenJDK 64-Bit Server VM GraalVM CE 21+35.1 (build 21+35-jvmci-23.1-b15, mixed mode, sharing)

GraalVM version (if different from Java)
Same as java -version

Quarkus version or git rev
3.5.0

Build tool (ie. output of mvnw --version or gradlew --version)
Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
Maven home: /root/.m2/wrapper/dists/apache-maven-3.6.3-bin/cf3cf814/apache-maven-3.6.3
Java version: 21, vendor: GraalVM Community, runtime: /usr/lib64/graalvm/graalvm-community-java21
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "5.15.90.1-microsoft-standard-wsl2", arch: "amd64", family: "unix"

@demeureg
Copy link

demeureg commented Nov 7, 2023

Hello,

just adding more informations following my previous message.

My application was using these properties :

quarkus.otel.exporter.otlp.traces.protocol=http/protobuf
quarkus.otel.traces.exporter=${OTEL_EXPORTER_TYPE:otlp}

This configuration require the class io.opentelemetry.exporter.otlp.internal.OtlpSpanExporterProvider, which is loaded as implementation class by service loader for interface io.opentelemetry.sdk.autoconfigure.spi.traces.ConfigurableSpanExporterProvider.

By removing these properties and using default options of Quarkus, the native build is fine.

@gsmet
Copy link
Member

gsmet commented Nov 7, 2023

@zakkak could you have a look at this one?

@gsmet
Copy link
Member

gsmet commented Nov 7, 2023

I did some digging and the option is gone in GraalVM 23.1: oracle/graal@d8b2db3

Not sure if we should just get rid of adding this option in GraalVM 23.1 or if we should replace it with something else, I will let @zakkak @galderz @Karm and @jerboaa be judge of that.

@zakkak zakkak self-assigned this Nov 8, 2023
zakkak added a commit to zakkak/quarkus that referenced this issue Nov 8, 2023
The option `TraceServiceLoaderFeature` is no longer available starting
with GraalVM 23.1 as part of a refactoring in how the
`ServiceLoaderFeature` works.

There is currently no option offering similar output.

Fixes quarkusio#36129
@quarkus-bot quarkus-bot bot added this to the 3.6 - main milestone Nov 8, 2023
@gsmet gsmet modified the milestones: 3.6 - main, 3.5.2 Nov 13, 2023
gsmet pushed a commit to gsmet/quarkus that referenced this issue Nov 13, 2023
The option `TraceServiceLoaderFeature` is no longer available starting
with GraalVM 23.1 as part of a refactoring in how the
`ServiceLoaderFeature` works.

There is currently no option offering similar output.

Fixes quarkusio#36129

(cherry picked from commit 6b16b10)
computerlove pushed a commit to computerlove/quarkus that referenced this issue Nov 27, 2023
The option `TraceServiceLoaderFeature` is no longer available starting
with GraalVM 23.1 as part of a refactoring in how the
`ServiceLoaderFeature` works.

There is currently no option offering similar output.

Fixes quarkusio#36129
DavideD pushed a commit to DavideD/quarkus that referenced this issue Nov 27, 2023
The option `TraceServiceLoaderFeature` is no longer available starting
with GraalVM 23.1 as part of a refactoring in how the
`ServiceLoaderFeature` works.

There is currently no option offering similar output.

Fixes quarkusio#36129
benkard pushed a commit to benkard/mulkcms2 that referenced this issue Dec 2, 2023
This MR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [flow-bin](https://github.com/flowtype/flow-bin) ([changelog](https://github.com/facebook/flow/blob/master/Changelog.md)) | devDependencies | minor | [`^0.220.0` -> `^0.222.0`](https://renovatebot.com/diffs/npm/flow-bin/0.220.0/0.222.0) |
| [org.postgresql:postgresql](https://jdbc.postgresql.org) ([source](https://github.com/pgjdbc/pgjdbc)) | build | minor | `42.6.0` -> `42.7.0` |
| [org.liquibase.ext:liquibase-hibernate5](https://github.com/liquibase/liquibase-hibernate/wiki) ([source](https://github.com/liquibase/liquibase-hibernate)) | build | minor | `4.24.0` -> `4.25.0` |
| [org.liquibase:liquibase-maven-plugin](http://www.liquibase.org/liquibase-maven-plugin) ([source](https://github.com/liquibase/liquibase)) | build | minor | `4.24.0` -> `4.25.0` |
| [org.jsoup:jsoup](https://jsoup.org/) ([source](https://github.com/jhy/jsoup)) | compile | minor | `1.16.2` -> `1.17.1` |
| [io.hypersistence:hypersistence-utils-hibernate-62](https://github.com/vladmihalcea/hypersistence-utils) | compile | patch | `3.6.0` -> `3.6.1` |
| [org.hibernate.orm:hibernate-envers](https://hibernate.org/orm) ([source](https://github.com/hibernate/hibernate-orm)) | build | minor | `6.3.1.Final` -> `6.4.0.Final` |
| [org.hibernate.orm:hibernate-core](https://hibernate.org/orm) ([source](https://github.com/hibernate/hibernate-orm)) | build | minor | `6.3.1.Final` -> `6.4.0.Final` |
| [com.blazebit:blaze-persistence-bom](https://persistence.blazebit.com) ([source](https://github.com/Blazebit/blaze-persistence)) | import | patch | `1.6.9` -> `1.6.10` |
| [com.diffplug.spotless:spotless-maven-plugin](https://github.com/diffplug/spotless) | build | minor | `2.40.0` -> `2.41.0` |
| [io.quarkus:quarkus-maven-plugin](https://github.com/quarkusio/quarkus) | build | minor | `3.5.1` -> `3.6.0` |
| [io.quarkus:quarkus-universe-bom](https://github.com/quarkusio/quarkus-platform) | import | patch | `3.5.1` -> `3.5.3` |

---

### Release Notes

<details>
<summary>flowtype/flow-bin</summary>

### [`v0.222.0`](flow/flow-bin@543cad7...84a68f1)

[Compare Source](flow/flow-bin@543cad7...84a68f1)

### [`v0.221.0`](flow/flow-bin@e8b3a2e...543cad7)

[Compare Source](flow/flow-bin@e8b3a2e...543cad7)

### [`v0.220.1`](flow/flow-bin@030bfc6...e8b3a2e)

[Compare Source](flow/flow-bin@030bfc6...e8b3a2e)

</details>

<details>
<summary>pgjdbc/pgjdbc</summary>

### [`v42.7.0`](https://github.com/pgjdbc/pgjdbc/blob/HEAD/CHANGELOG.md#&#8203;4270-2023-11-20-093300--0500)

##### Changed

-   fix: Deprecate for removal PGPoint.setLocation(java.awt.Point) to cut dependency to `java.desktop` module. [MR #&#8203;2967](pgjdbc/pgjdbc#2967)
-   feat: return all catalogs for getCatalogs metadata query closes [ISSUE #&#8203;2949](pgjdbc/pgjdbc#2949) [MR #&#8203;2953](pgjdbc/pgjdbc#2953)
-   feat: support SET statements combining with other queries with semicolon in PreparedStatement [MR ##&#8203;2973](pgjdbc/pgjdbc#2973)

##### Fixed

-   chore: add styleCheck Gradle task to report style violations [MR #&#8203;2980](pgjdbc/pgjdbc#2980)
-   fix: Include currentXid in "Error rolling back prepared transaction" exception message [MR #&#8203;2978](pgjdbc/pgjdbc#2978)
-   fix: add varbit as a basic type inside the TypeInfoCache [MR #&#8203;2960](pgjdbc/pgjdbc#2960)
-   fix: Fix failing tests for version 16.  [MR #&#8203;2962](pgjdbc/pgjdbc#2962)
-   fix: allow setting arrays with ANSI type name [MR #&#8203;2952](pgjdbc/pgjdbc#2952)
-   feat: Use KeepAlive to confirm LSNs [MR #&#8203;2941](pgjdbc/pgjdbc#2941)
-   fix: put double ' around log parameter [MR #&#8203;2936](pgjdbc/pgjdbc#2936) fixes [ISSUE #&#8203;2935](pgjdbc/pgjdbc#2935)
-   fix: Fix Issue [#&#8203;2928](pgjdbc/pgjdbc#2928) number of ports not equal to number of servers in datasource [MR #&#8203;2929](pgjdbc/pgjdbc#2929)
-   fix: Use canonical DateStyle name ([#&#8203;2925](pgjdbc/pgjdbc#2925)) fixes [pgbouncer issue](pgbouncer/pgbouncer#776)
-   fix: Method getFastLong should be able to parse all longs [MR #&#8203;2881](pgjdbc/pgjdbc#2881)
-   docs: Fix typos in info.html [MR #&#8203;2860](pgjdbc/pgjdbc#2860)
-   fix: Return correct default from PgDatabaseMetaData.getDefaultTransactionIsolation [MR #&#8203;2992](pgjdbc/pgjdbc#2992) fixes [Issue #&#8203;2991](pgjdbc/pgjdbc#2991)
-   test: fix assertion in RefCursorFetchTestultFetchSize rows
-   test: use try-with-resources in LogicalReplicationStatusTest

</details>

<details>
<summary>liquibase/liquibase-hibernate</summary>

### [`v4.25.0`](https://github.com/liquibase/liquibase-hibernate/releases/tag/v4.25.0): Support for Liquibase Hibernate 6 Extension v4.25.0

[Compare Source](liquibase/liquibase-hibernate@v4.24.0...v4.25.0)

#### Changes

#### What's Changed

-   DAT-15993 -
liquibase-hibernate using Liquibase Parent POM by [@&#8203;jandroav](https://github.com/jandroav) in liquibase/liquibase-hibernate#587
-   Update README.md by [@&#8203;vivekBoii](https://github.com/vivekBoii) in liquibase/liquibase-hibernate#585
-   Update pom.xml by [@&#8203;jandroav](https://github.com/jandroav) in liquibase/liquibase-hibernate#596
-   chore(deps): bump liquibase/build-logic from 0.4.7 to 0.5.5 by [@&#8203;dependabot](https://github.com/dependabot) in liquibase/liquibase-hibernate#609
-   Fixed a typo in ReadMe by [@&#8203;smty2018](https://github.com/smty2018) in liquibase/liquibase-hibernate#600

#### New Contributors

-   [@&#8203;vivekBoii](https://github.com/vivekBoii) made their first contribution in liquibase/liquibase-hibernate#585
-   [@&#8203;smty2018](https://github.com/smty2018) made their first contribution in liquibase/liquibase-hibernate#600
-   [@&#8203;sayaliM0412](https://github.com/sayaliM0412) made their first contribution in liquibase/liquibase-hibernate#618

**Full Changelog**: liquibase/liquibase-hibernate@v4.24.0...v4.25.0

</details>

<details>
<summary>liquibase/liquibase</summary>

### [`v4.25.0`](https://github.com/liquibase/liquibase/blob/HEAD/changelog.txt#Liquibase-4250-is-a-major-release)

[Compare Source](liquibase/liquibase@v4.24.0...v4.25.0)

</details>

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

### [`v3.6.1`](https://github.com/vladmihalcea/hypersistence-utils/blob/HEAD/changelog.txt#Version-361---November-11-2023)

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

Export the testing mechanism [#&#8203;676](vladmihalcea/hypersistence-utils#676)

</details>

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

### [`v6.4.0.Final`](https://github.com/hibernate/hibernate-orm/blob/HEAD/changelog.txt#Changes-in-640Final-November-23-2023)

[Compare Source](hibernate/hibernate-orm@6.3.2...6.4.0)

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

\*\* Bug
\* \[HHH-17454] - SemanticException caused by type check when comparing generic path to parameter expression
\* \[HHH-17428] - Parameter place holder should start from 1 in StandardTemporaryTableExporter
\* \[HHH-17415] - NullPointerException: EntityValuedPathInterpretation - getNavigablePath()
\* \[HHH-17412] - Type comparison error due to surprising javac method selection
\* \[HHH-17411] - Fetch join on treated join leads to owner not selected error
\* \[HHH-17386] - Type inference source is not reset for top level predicates
\* \[HHH-17384] - OneToMany association with [@&#8203;NotFound](https://github.com/NotFound) results in SQL with different JOIN-type for SELECT (LEFT JOIN) and COUNT (JOIN)
\* \[HHH-17383] - Association is null in lazy initialized element collection
\* \[HHH-17382] - Dynamic instantiation leads to superclass fields not found when using injection
\* \[HHH-17381] - fix wrong groupId in Compatibility.adoc
\* \[HHH-17380] - Persisting an entity with a non generated id and [@&#8203;MapsId](https://github.com/MapsId) throws PropertyValueException
\* \[HHH-17370] - ServiceException: Unable to create requested service \[org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] due to: Cannot invoke "org.hibernate.resource.jdbc.spi.JdbcObserver.jdbcConnectionAcquisitionEnd(java.sql.Connection)" because "this.observer" is null
\* \[HHH-17344] - DB2zDialect NullPointerException
\* \[HHH-17328] - Retrieve entity using entity graph not adding type in the where clause for [@&#8203;Inheritance](https://github.com/Inheritance)(strategy = InheritanceType.SINGLE_TABLE)
\* \[HHH-17313] - Session#setDefaultReadOnly is ignored by named queries
\* \[HHH-17308] - AssertionError when mixing [@&#8203;SQLSelect](https://github.com/SQLSelect) and composite ID
\* \[HHH-17299] - AssertionError in DiscriminatorPathInterpretation when treating a path with the same subtype
\* \[HHH-17294] - Non-Embeddable JSON objects are not marked as dirty when modified
\* \[HHH-17292] - MappedSuperclass with more than 1 subclass level leads to "UnknownPathException: Could not resolve attribute"
\* \[HHH-17102] - [@&#8203;SqlResultSetMapping](https://github.com/SqlResultSetMapping) doesn’t work with [@&#8203;Inheritance](https://github.com/Inheritance)(strategy = InheritanceType.JOINED)

\*\* Deprecation
\* \[HHH-17441] - Deprecate [@&#8203;Comment](https://github.com/Comment)

\*\* Improvement
\* \[HHH-17425] - Introduce new configuration parameters for offline Dialect initialization
\* \[HHH-17424] - Have Dialect manage more of ExtractedDatabaseMetadata
\* \[HHH-17417] - Workaround Oracle driver issue to reduce connection creation
\* \[HHH-17409] - Support offset without limit in AbstractSimpleLimitHandler and Oracle12LimitHandler
\* \[HHH-17389] - Add getQueryHintString() for PostgreSQLDialect
\* \[HHH-17372] - Endless recursion between default implementations of SelectionQuery.getResultStream() and SelectionQuery.stream()
\* \[HHH-17355] - Smoothen rough edges with array functions
\* \[HHH-17340] - Fix typos in javadoc
\* \[HHH-17023] - Add support for Altibase dialect
\* \[HHH-15074] - Allow partial composite id generation for EmbeddedId

\*\* New Feature
\* \[HHH-17357] - Support pgvector types and functions
\* \[HHH-17210] - Expose custom JFR events

\*\* Sub-task
\* \[HHH-17347] - Support for JDK which do not support JFR events

\*\* Task
\* \[HHH-17390] - Change scope of AbstyractEntityInitializer#resolveInstance
\* \[HHH-17367] - Add links to tutorials in documentation
\* \[HHH-17362] - Define dependencies of hibernate-jpamodelgen as api
\* \[HHH-17350] - Work on hibernate-models, XSD and JAXB

### [`v6.3.2.Final`](hibernate/hibernate-orm@6.3.1...6.3.2)

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

</details>

<details>
<summary>Blazebit/blaze-persistence</summary>

### [`v1.6.10`](https://github.com/Blazebit/blaze-persistence/blob/HEAD/CHANGELOG.md#&#8203;1610)

[Compare Source](Blazebit/blaze-persistence@1.6.9...1.6.10)

12/11/2023 - [Release tag](https://github.com/Blazebit/blaze-persistence/releases/tag/1.6.10) [Resolved issues](https://github.com/Blazebit/blaze-persistence/issues?q=is%3Aissue+milestone%3A1.6.10+is%3Aclosed+sort%3Aupdated-desc)

##### New features

-   Support JDK 21
-   Add CockroachDB function registrations
-   Support Hibernate 6.3 and 6.4
-   Special case limit 1 in correlation builders to support old MySQL and MariaDB versions

##### Bug fixes

-   Fix parsing error for entity view limit mapping
-   Fix dropping of embeddable group by expression when nested property has same name as parent property
-   Fix SQL generation for lateral subqueries when correlated path has `@Where` predicate
-   Fix `ConcurrentModificationException` during metamodel determination for special Hibernate Envers mappings
-   Clear `EntityViewManager` static fields in entity view implementations to avoid possible memory leak
-   Ignore `@Any` mapped attributes in enum type scanning
-   Fix NPE caused by wrong order by expression during criteria builder copying
-   Workaround Hibernate 6 returning null java type for enum parameters
-   Add Entity View type test values for more Java types

##### Backwards-incompatible changes

None yet

</details>

<details>
<summary>diffplug/spotless</summary>

### [`v2.41.0`](https://github.com/diffplug/spotless/blob/HEAD/CHANGES.md#&#8203;2410---2023-08-29)

##### Added

-   Add a `jsonPatch` step to `json` formatter configurations. This allows patching of JSON documents using [JSON Patches](https://jsonpatch.com). ([#&#8203;1753](diffplug/spotless#1753))
-   Support GJF own import order. ([#&#8203;1780](diffplug/spotless#1780))

##### Fixed

-   Use latest versions of popular style guides for `eslint` tests to fix failing `useEslintXoStandardRules` test. ([#&#8203;1761](diffplug/spotless#1761), [#&#8203;1756](diffplug/spotless#1756))
-   Add support for `prettier` version `3.0.0` and newer. ([#&#8203;1760](diffplug/spotless#1760), [#&#8203;1751](diffplug/spotless#1751))
-   Fix npm install calls when npm cache is not up-to-date. ([#&#8203;1760](diffplug/spotless#1760), [#&#8203;1750](diffplug/spotless#1750))

##### Changes

-   Bump default `eslint` version to latest `8.31.0` -> `8.45.0` ([#&#8203;1761](diffplug/spotless#1761))
-   Bump default `prettier` version to latest (v2) `2.8.1` -> `2.8.8`. ([#&#8203;1760](diffplug/spotless#1760))
-   Bump default `greclipse` version to latest `4.27` -> `4.28`. ([#&#8203;1775](diffplug/spotless#1775))

</details>

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

### [`v3.6.0`](quarkusio/quarkus@3.5.3...3.6.0)

[Compare Source](quarkusio/quarkus@3.5.3...3.6.0)

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

[Compare Source](quarkusio/quarkus@3.5.2...3.5.3)

##### Complete changelog

-   [#&#8203;37215](quarkusio/quarkus#37215) - Use LinkedHashMap for parts map to ensure user input order
-   [#&#8203;37214](quarkusio/quarkus#37214) - MultipartFormDataOutput should use an ordered map instead of a HashMap
-   [#&#8203;37210](quarkusio/quarkus#37210) - \[3.5] Fix and adjust Quarkiverse extension template
-   [#&#8203;37209](quarkusio/quarkus#37209) - Build cache - Additional tweaks
-   [#&#8203;37206](quarkusio/quarkus#37206) - recognize quarkus.tls.trust-all property by keycloak-admin-client extension
-   [#&#8203;37174](quarkusio/quarkus#37174) - Ignore files coming from quarkus-ide-launcher jar
-   [#&#8203;37130](quarkusio/quarkus#37130) - Do not report unused deprecated runtime props with default value as used
-   [#&#8203;37102](quarkusio/quarkus#37102) - Fix filter per extension in dev ui
-   [#&#8203;37073](quarkusio/quarkus#37073) - Use 3.2 as the example stream for update-quarkus.adoc
-   [#&#8203;37072](quarkusio/quarkus#37072) - Deprecated runtime configuration properties with default value are reported even though never used
-   [#&#8203;37046](quarkusio/quarkus#37046) - Adjust Quarkiverse Antora doc templates a bit
-   [#&#8203;36961](quarkusio/quarkus#36961) - Fix GraphQL WebSocket handling occurring before authorization

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

[Compare Source](quarkusio/quarkus@3.5.1...3.5.2)

##### Complete changelog

-   [#&#8203;37120](quarkusio/quarkus#37120) - Bump Smallrye RM from 4.10.1 to 4.10.2
-   [#&#8203;37104](quarkusio/quarkus#37104) - Make analytics tests more a bit more resilient
-   [#&#8203;37090](quarkusio/quarkus#37090) - Add the actual coordinates of the MySQL driver
-   [#&#8203;37070](quarkusio/quarkus#37070) - Security doc fix: Broken link and bad code snippet
-   [#&#8203;37069](quarkusio/quarkus#37069) - Tiny tweaks based on QE feedback for Datasource guide
-   [#&#8203;37068](quarkusio/quarkus#37068) - Updates infinispan client intelligence section
-   [#&#8203;37058](quarkusio/quarkus#37058) - Bump com.fasterxml.jackson:jackson-bom from 2.15.2 to 2.15.3
-   [#&#8203;37055](quarkusio/quarkus#37055) - Bump io.smallrye.config:smallrye-config-source-yaml from 3.4.1 to 3.4.4 in /devtools/gradle
-   [#&#8203;37038](quarkusio/quarkus#37038) - Disable CustomManifestArgumentsTest on Windows
-   [#&#8203;37032](quarkusio/quarkus#37032) - OpenAPI make sure basic auth auto detection work
-   [#&#8203;37028](quarkusio/quarkus#37028) - Fix typos in reactive-sql-clients.adoc
-   [#&#8203;37025](quarkusio/quarkus#37025) - Document how to log authentication failures for RESTEasy Reactive users migrating from the RESTEasy Classic
-   [#&#8203;37019](quarkusio/quarkus#37019) - Address CVE-2023-21971 present in MySQL connector
-   [#&#8203;37018](quarkusio/quarkus#37018) - Address CVE-2023-21971 present in MySQL connector
-   [#&#8203;37015](quarkusio/quarkus#37015) - Bump org.eclipse.parsson:parsson from 1.1.4 to 1.1.5
-   [#&#8203;37010](quarkusio/quarkus#37010) - Fix vale errors and some warnings in the OIDC Configuration Properties reference guide
-   [#&#8203;37006](quarkusio/quarkus#37006) - Never register server specific providers in REST Client (fixed)
-   [#&#8203;37003](quarkusio/quarkus#37003) - Small adjustments for documentation related content
-   [#&#8203;37001](quarkusio/quarkus#37001) - Revert "Unblock SmallRye Health exposed routes"
-   [#&#8203;36991](quarkusio/quarkus#36991) - Upgrade es-module-shims to 1.8.1
-   [#&#8203;36985](quarkusio/quarkus#36985) - Generate a file with relations between guides
-   [#&#8203;36983](quarkusio/quarkus#36983) - Fix discarded ObjectMapper configuration
-   [#&#8203;36981](quarkusio/quarkus#36981) - Updates to Infinispan 14.0.20.Final
-   [#&#8203;36968](quarkusio/quarkus#36968) - Send host.name in all spans
-   [#&#8203;36953](quarkusio/quarkus#36953) - Workaround quarkusio/quarkus#36952 alias jboss/jboss-parent-pom#236 jboss-parent:40 still manages jdk-misc, but does not define version.jdk-misc anymore
-   [#&#8203;36942](quarkusio/quarkus#36942) - Option TraceServiceLoaderFeature removed in GraalVM 23.1
-   [#&#8203;36941](quarkusio/quarkus#36941) - Fix OTel Resource Attributes
-   [#&#8203;36924](quarkusio/quarkus#36924) - Add keywords and topics for hibernate-search-orm-elasticsearch.adoc
-   [#&#8203;36917](quarkusio/quarkus#36917) - Update SmallRye Config to 3.4.4
-   [#&#8203;36914](quarkusio/quarkus#36914) - Reset databases/users for each Hibernate ORM tenancy test module
-   [#&#8203;36912](quarkusio/quarkus#36912) - Avoid `@TempDir` in RestClientCDIDelegateBuilderTest
-   [#&#8203;36884](quarkusio/quarkus#36884) - SmallRye Config property mapping mismatches from the property name in the generated config documentation
-   [#&#8203;36868](quarkusio/quarkus#36868) - Native binary generated using quarkus, graalvm and picocli trying to read from .env folder in working directory
-   [#&#8203;36856](quarkusio/quarkus#36856) - Lowercase env vars with hyphens are no picked up anymore in Quarkus 3.5.0 (e.g. in docker compose or Hashicorp Nomad)
-   [#&#8203;36850](quarkusio/quarkus#36850) - ObjectMapper configuration is discarded in resteasy-reactive-jackson's JsonFactory
-   [#&#8203;36847](quarkusio/quarkus#36847) - SmallRye Config error message suggests strange enum values when a bad value is passed
-   [#&#8203;36753](quarkusio/quarkus#36753) - Fix order of defaults recording
-   [#&#8203;36742](quarkusio/quarkus#36742) - DevUI resource error on main
-   [#&#8203;36711](quarkusio/quarkus#36711) - Disable Http2RSTFloodProtectionTest on Windows
-   [#&#8203;36578](quarkusio/quarkus#36578) - Maven CLI: add startWith matching into recipes detection
-   [#&#8203;36573](quarkusio/quarkus#36573) - Maven CLI: add wildcard matching into recipes detection
-   [#&#8203;36570](quarkusio/quarkus#36570) - Maven CLI: use recipes for platform extensions
-   [#&#8203;36568](quarkusio/quarkus#36568) - Maven CLI: use recipes for platform extensions
-   [#&#8203;36129](quarkusio/quarkus#36129) - auto-service-loader-registration fails with GraalVM CE 21+35.1
-   [#&#8203;32049](quarkusio/quarkus#32049) - resteasy-reactive Interceptors don't get executed after Authorization failure
-   [#&#8203;31024](quarkusio/quarkus#31024) - Resteasy Reactive client tries to use ContainerResponseFilter

</details>

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

### [`v3.5.3`](quarkusio/quarkus-platform@3.5.2...3.5.3)

[Compare Source](quarkusio/quarkus-platform@3.5.2...3.5.3)

### [`v3.5.2`](quarkusio/quarkus-platform@3.5.1...3.5.2)

[Compare Source](quarkusio/quarkus-platform@3.5.1...3.5.2)

</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-->
holly-cummins pushed a commit to holly-cummins/quarkus that referenced this issue Feb 8, 2024
The option `TraceServiceLoaderFeature` is no longer available starting
with GraalVM 23.1 as part of a refactoring in how the
`ServiceLoaderFeature` works.

There is currently no option offering similar output.

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

Successfully merging a pull request may close this issue.

5 participants