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

Gradle multimodule project + quarkus-container-image-jib: OverlappingFileLockException #11903

Closed
andreas-eberle opened this issue Sep 4, 2020 · 15 comments · Fixed by #35308
Closed
Labels
Milestone

Comments

@andreas-eberle
Copy link
Contributor

Describe the bug
I have a gradle + Kotlin multi-module project and try to build container images with the quarkus-container-image-jib extension. When I run ./gradlew assemble -Dquarkus.container-image.build=true, I get an OverlappingFileLockException (on Windows 10 as well as on the gradle:6.6-jdk11 docker image).

Apart from the issues I described in #11900, I can build both images by manually running ./gradlew :serviceA:assemble -Dquarkus.container-image.build=true and then ./gradlew :serviceB:assemble -Dquarkus.container-image.build=true.

Detailed exception:

17:28:34: Executing task 'assemble -Dquarkus.container-image.build=true'...


> Task :serviceA:quarkusGenerateCode
preparing quarkus application
kotlin scripting plugin: project ':serviceA'.compileQuarkus-generated-sourcesKotlin - configuration not found: quarkus-generated-sourcesKotlinScriptDef, the plugin is probably applied by a mistake

> Task :serviceB:quarkusGenerateCode
preparing quarkus application
kotlin scripting plugin: project ':serviceB'.compileQuarkus-generated-sourcesKotlin - configuration not found: quarkus-generated-sourcesKotlinScriptDef, the plugin is probably applied by a mistake

> Task :serviceA:quarkusGenerateCodeTests
preparing quarkus application
kotlin scripting plugin: project ':serviceA'.compileQuarkus-test-generated-sourcesKotlin - configuration not found: quarkus-test-generated-sourcesKotlinScriptDef, the plugin is probably applied by a mistake

> Task :serviceB:quarkusGenerateCodeTests
preparing quarkus application
kotlin scripting plugin: project ':serviceB'.compileQuarkus-test-generated-sourcesKotlin - configuration not found: quarkus-test-generated-sourcesKotlinScriptDef, the plugin is probably applied by a mistake

> Task :serviceB:compileKotlin
> Task :serviceA:compileKotlin
> Task :serviceA:compileJava NO-SOURCE
> Task :serviceB:compileJava NO-SOURCE
> Task :serviceA:processResources
> Task :serviceB:processResources
> Task :serviceA:classes
> Task :serviceB:classes
> Task :serviceA:inspectClassesForKotlinIC
> Task :serviceB:inspectClassesForKotlinIC
> Task :serviceA:jar
> Task :serviceB:jar

> Task :serviceA:quarkusBuild
building quarkus jar

Base image 'fabric8/java-alpine-openjdk11-jre' does not use a specific image digest - build may not be reproducible
Base image 'fabric8/java-alpine-openjdk11-jre' does not use a specific image digest - build may not be reproducible

> Task :serviceB:quarkusBuild
building quarkus jar

> Task :serviceB:quarkusBuild FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':serviceB:quarkusBuild'.
> io.quarkus.builder.BuildException: Build failure: Build failed due to errors
  	[error]: Build step io.quarkus.container.image.jib.deployment.JibProcessor#buildFromJar threw an exception: java.lang.RuntimeException: Unable to create container image
  	at io.quarkus.container.image.jib.deployment.JibProcessor.containerize(JibProcessor.java:153)
  	at io.quarkus.container.image.jib.deployment.JibProcessor.buildFromJar(JibProcessor.java:102)
  	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
  	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  	at java.base/java.lang.reflect.Method.invoke(Method.java:567)
  	at io.quarkus.deployment.ExtensionLoader$2.execute(ExtensionLoader.java:932)
  	at io.quarkus.builder.BuildContext.run(BuildContext.java:277)
  	at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
  	at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:2046)
  	at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1578)
  	at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1452)
  	at java.base/java.lang.Thread.run(Thread.java:830)
  	at org.jboss.threads.JBossThread.run(JBossThread.java:479)
  Caused by: java.util.concurrent.ExecutionException: java.nio.channels.OverlappingFileLockException
  	at com.google.common.util.concurrent.AbstractFuture.getDoneValue(AbstractFuture.java:552)
  	at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:533)
  	at com.google.common.util.concurrent.FluentFuture$TrustedFuture.get(FluentFuture.java:82)
  	at com.google.cloud.tools.jib.builder.steps.StepsRunner.lambda$buildImage$8(StepsRunner.java:344)
  	at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:125)
  	at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:57)
  	at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:78)
  	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
  	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
  	at java.base/java.lang.Thread.run(Thread.java:830)
  Caused by: java.nio.channels.OverlappingFileLockException
  	at java.base/sun.nio.ch.FileLockTable.checkList(FileLockTable.java:229)
  	at java.base/sun.nio.ch.FileLockTable.add(FileLockTable.java:123)
  	at java.base/sun.nio.ch.FileChannelImpl.lock(FileChannelImpl.java:1110)
  	at java.base/java.nio.channels.FileChannel.lock(FileChannel.java:1076)
  	at com.google.cloud.tools.jib.filesystem.LockFile.lock(LockFile.java:67)
  	at com.google.cloud.tools.jib.cache.CacheStorageWriter.writeMetadata(CacheStorageWriter.java:315)
  	at com.google.cloud.tools.jib.cache.Cache.writeMetadata(Cache.java:81)
  	at com.google.cloud.tools.jib.builder.steps.PullBaseImageStep.pullBaseImage(PullBaseImageStep.java:249)
  	at com.google.cloud.tools.jib.builder.steps.PullBaseImageStep.call(PullBaseImageStep.java:160)
  	at com.google.cloud.tools.jib.builder.steps.PullBaseImageStep.call(PullBaseImageStep.java:56)
  	... 6 more


* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 26s
14 actionable tasks: 14 executed
17:29:00: Task execution finished 'assemble -Dquarkus.container-image.build=true'.

To Reproduce
Steps to reproduce the behavior:

  1. Dowload reproducer project and unzip it 2020-09-04_jib-multimodule-problems.zip
  2. Run ./gradlew assemble -Dquarkus.container-image.build=true
  3. See the error shown above.

Environment (please complete the following information):

  • Windows 10 (also happens on gradle:6.6-jdk11 docker image in my CI builds)
  • Gradle
  • Kotlin
@andreas-eberle andreas-eberle added the kind/bug Something isn't working label Sep 4, 2020
@andreas-eberle
Copy link
Contributor Author

As a workaround, it works when you specify quarkusBuild.mustRunAfter(':serviceA:quarkusBuild') in the build.gradle file of serviceB. This ensures the quarkus tasks and therefore the jib image building is run sequentially.

However, I don't see why they shouldn't be able to run in parallel.

@quarkusbot
Copy link

/cc @geoand
/cc @quarkusio/devtools, @glefloch

@geoand
Copy link
Contributor

geoand commented Sep 5, 2020

I was not able to reproduce this on Linux unfortunately.

@rquinio
Copy link
Contributor

rquinio commented Jan 29, 2021

I do see the same behavior with a Maven multi-module project that builds 2 Quarkus application in parallel (-T 1C) on Windows 10 & MacOS (Quarkus 1.7.6.Final, OpenJDK 11.0.8)

<quarkus.container-image.build>true</quarkus.container-image.build>
<quarkus.container-image.push>false</quarkus.container-image.push>
[ERROR] Failed to execute goal io.quarkus:quarkus-maven-plugin:1.7.6.Final:build (augmentation) on project (...): Failed to build quarkus application: io.quarkus.builder.BuildException: Build failure: Build failed due to errors
[ERROR]         [error]: Build step io.quarkus.container.image.jib.deployment.JibProcessor#buildFromJar threw an exception: java.lang.RuntimeException: Unable to create container image
[ERROR]         at io.quarkus.container.image.jib.deployment.JibProcessor.containerize(JibProcessor.java:153)
[ERROR]         at io.quarkus.container.image.jib.deployment.JibProcessor.buildFromJar(JibProcessor.java:102)
[ERROR]         at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[ERROR]         at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
[ERROR]         at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[ERROR]         at java.base/java.lang.reflect.Method.invoke(Method.java:566)
[ERROR]         at io.quarkus.deployment.ExtensionLoader$2.execute(ExtensionLoader.java:932)
[ERROR]         at io.quarkus.builder.BuildContext.run(BuildContext.java:277)
[ERROR]         at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
[ERROR]         at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:2046)
[ERROR]         at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1578)
[ERROR]         at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1452)
[ERROR]         at java.base/java.lang.Thread.run(Thread.java:834)
[ERROR]         at org.jboss.threads.JBossThread.run(JBossThread.java:479)
[ERROR] Caused by: java.util.concurrent.ExecutionException: java.nio.channels.OverlappingFileLockException
[ERROR]         at com.google.common.util.concurrent.AbstractFuture.getDoneValue(AbstractFuture.java:552)
[ERROR]         at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:533)
[ERROR]         at com.google.common.util.concurrent.FluentFuture$TrustedFuture.get(FluentFuture.java:82)
[ERROR]         at com.google.cloud.tools.jib.builder.steps.StepsRunner.lambda$buildImage$8(StepsRunner.java:344)
[ERROR]         at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:125)
[ERROR]         at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:57)
[ERROR]         at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:78)
[ERROR]         at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
[ERROR]         at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
[ERROR]         at java.base/java.lang.Thread.run(Thread.java:834)
[ERROR] Caused by: java.nio.channels.OverlappingFileLockException
[ERROR]         at java.base/sun.nio.ch.FileLockTable.checkList(FileLockTable.java:229)
[ERROR]         at java.base/sun.nio.ch.FileLockTable.add(FileLockTable.java:123)
[ERROR]         at java.base/sun.nio.ch.FileChannelImpl.lock(FileChannelImpl.java:1109)
[ERROR]         at java.base/java.nio.channels.FileChannel.lock(FileChannel.java:1063)
[ERROR]         at com.google.cloud.tools.jib.filesystem.LockFile.lock(LockFile.java:67)
[ERROR]         at com.google.cloud.tools.jib.cache.CacheStorageWriter.writeMetadata(CacheStorageWriter.java:315)
[ERROR]         at com.google.cloud.tools.jib.cache.Cache.writeMetadata(Cache.java:81)
[ERROR]         at com.google.cloud.tools.jib.builder.steps.PullBaseImageStep.pullBaseImage(PullBaseImageStep.java:249)
[ERROR]         at com.google.cloud.tools.jib.builder.steps.PullBaseImageStep.call(PullBaseImageStep.java:160)
[ERROR]         at com.google.cloud.tools.jib.builder.steps.PullBaseImageStep.call(PullBaseImageStep.java:56)
[ERROR]         ... 6 more

I see an old issue on Jib GoogleContainerTools/jib#922, but it's supposed to already be fixed with 0.10.0

@tobad357
Copy link

tobad357 commented Jun 3, 2021

Chime in to say I see the same on MacOS X 11.3.1 with AdoptOpenJDK 16
Multi module Gradle build which ends up in OverlappingFileLockException

@bademux
Copy link

bademux commented May 25, 2022

problem exists, not only in quarkus
temporary fix:

build.gradle

['jibDockerBuild', 'jibBuildTar', 'jib'].each { taskName ->
    getTasksByName(taskName, true).with {
        withIndex(1).collectEntries({ task, idxNext -> [(task): it[idxNext]] }).findAll({ it.value != null }).each(Task::mustRunAfter)
    }
}

@geoand
Copy link
Contributor

geoand commented Jul 8, 2022

Is this still an issue? I am still not able to reproduce it

@bademux
Copy link

bademux commented Jul 8, 2022

@geoand
Copy link
Contributor

geoand commented Jul 8, 2022

Thanks

@rquinio
Copy link
Contributor

rquinio commented Aug 1, 2022

The cause appears to be that Quarkus Maven/Gradle plugins do not share the classloaders across sub-modules (different QuarkusClassLoader:Deployment Class Loader and QuarkusClassLoader:Augmentation Class Loader ).

Jib uses a static ConcurrentHashMap to store the multi-threading locks, which assumes LockFile.class will be loaded only once across all sub-modules:
https://github.com/GoogleContainerTools/jib/blob/9027c8dafb8ee12b9d37e1521caf62dfbcc3d374/jib-core/src/main/java/com/google/cloud/tools/jib/filesystem/LockFile.java#L34

I'm seeing a new instance of the map for each thread, which bypasses the thread lock.
This randomly causes OverlappingFileLockException as the FileChannel locking mechanism is designed to lock files against concurrent access by two separate processes, and the JVM complains when it detects the access is from the same process.

@geoand
Copy link
Contributor

geoand commented Aug 2, 2022

Thanks a lot for the analysis @rquinio!

We could probably get around this by loading Jib "parentFirst" (which would result in Jib code being loaded from the System ClassLoader) but that could potentially cause other problems.

@andreas-eberle
Copy link
Contributor Author

Is there any news on this topic? If I understand the comment from @rquinio on the linked topic correctly (GoogleContainerTools/jib#3347 (comment)), it seems that jib offers an example repo with a multimodule setup that seems to work. For us, this is still a pain as it causes random pipeline crashes :(

geoand added a commit to geoand/quarkus that referenced this issue Jul 20, 2023
Done in order to avoid problems with Jib's use of
lock classes which have no effect when the lock
class is loaded from different ClassLoaders

Fixes: quarkusio#11903
@geoand
Copy link
Contributor

geoand commented Jul 20, 2023

Can folks that still encounter this problem give #34873 a try please?

@famod
Copy link
Member

famod commented Aug 10, 2023

We came up with another approach:
@andreas-eberle @rquinio @bademux @tobad357 can anyone of you give #35308 a try please?

@quarkus-bot quarkus-bot bot added this to the 3.4 - main milestone Aug 14, 2023
@aloubyansky
Copy link
Member

Please re-open in case #35308 did not fix the issue, thanks everyone.

@gsmet gsmet modified the milestones: 3.4 - main, 3.3.0 Aug 15, 2023
@gsmet gsmet modified the milestones: 3.3.0, 3.2.5.Final Aug 24, 2023
benkard pushed a commit to benkard/mulkcms2 that referenced this issue Aug 29, 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.214.0` -> `^0.215.0`](https://renovatebot.com/diffs/npm/flow-bin/0.214.0/0.215.1) |
| [org.liquibase:liquibase-maven-plugin](http://www.liquibase.org/liquibase-maven-plugin) ([source](https://github.com/liquibase/liquibase)) | build | patch | `4.23.0` -> `4.23.1` |
| [io.quarkus:quarkus-maven-plugin](https://github.com/quarkusio/quarkus) | build | minor | `3.2.3.Final` -> `3.3.0` |
| [io.quarkus:quarkus-universe-bom](https://github.com/quarkusio/quarkus-platform) | import | minor | `3.2.3.Final` -> `3.3.0` |
| [org.apache.maven.plugins:maven-enforcer-plugin](https://maven.apache.org/enforcer/) | build | minor | `3.3.0` -> `3.4.0` |

---

### Release Notes

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

### [`v0.215.1`](flow/flow-bin@a92ce80...cbb038f)

[Compare Source](flow/flow-bin@a92ce80...cbb038f)

### [`v0.215.0`](flow/flow-bin@ca11e28...a92ce80)

[Compare Source](flow/flow-bin@ca11e28...a92ce80)

</details>

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

### [`v4.23.1`](https://github.com/liquibase/liquibase/blob/HEAD/changelog.txt#Liquibase-4231-is-a-patch-release)

[Compare Source](liquibase/liquibase@v4.23.0...v4.23.1)

</details>

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

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

[Compare Source](quarkusio/quarkus@3.2.4.Final...3.3.0)

##### Complete changelog

-   [#&#8203;35350](quarkusio/quarkus#35350) - Fix package type system property clearing
-   [#&#8203;35348](quarkusio/quarkus#35348) - quarkus-maven-plugin runs native building even if the profile is commented out
-   [#&#8203;35343](quarkusio/quarkus#35343) - ArC: fix StackOverflowError in AutoAddScopeBuildItem
-   [#&#8203;35319](quarkusio/quarkus#35319) - Register arrays of Hibernate ORM's JDBC basic types for reflection
-   [#&#8203;35315](quarkusio/quarkus#35315) - Fix Datasource timing issues with Liquibase / Flyway and OpenTelemetry
-   [#&#8203;35314](quarkusio/quarkus#35314) - Regression in 3.3.0.CR1: Synthetic bean instance for io.opentelemetry.api.OpenTelemetry not initialized yet
-   [#&#8203;35312](quarkusio/quarkus#35312) - Updates Infinispan to 14.0.13.Final
-   [#&#8203;35308](quarkusio/quarkus#35308) - Lock jib execution to avoid OverlappingFileLockException in parallel builds
-   [#&#8203;35305](quarkusio/quarkus#35305) - Fix the titles of the tables in RESTEasy Reactive doc
-   [#&#8203;35302](quarkusio/quarkus#35302) - Docs: Mention wilcard support in resteasy reactive XML serialisation exclude classes configuration
-   [#&#8203;35301](quarkusio/quarkus#35301) - Fix potential NPE in quarkus-csrf-reactive when no MediaType is found
-   [#&#8203;35299](quarkusio/quarkus#35299) - Output build graph using `quarkus.builder.graph-output` property
-   [#&#8203;35285](quarkusio/quarkus#35285) - NullPointerException during http post request when quarkus-csrf-reactive extension is added to a project
-   [#&#8203;35283](quarkusio/quarkus#35283) - Upgrade proto-google-common-protos to 2.23.0
-   [#&#8203;35282](quarkusio/quarkus#35282) - Avoid keeping references to BytecodeRecorderImpl
-   [#&#8203;35276](quarkusio/quarkus#35276) - Reinstate DevModeTestUtil to avoid breaking other projects that depend on it
-   [#&#8203;35273](quarkusio/quarkus#35273) - Fix small typo in comment
-   [#&#8203;35263](quarkusio/quarkus#35263) - Stop the recovery service while ArC is still around
-   [#&#8203;35245](quarkusio/quarkus#35245) - Add missing info to init Jobs
-   [#&#8203;35244](quarkusio/quarkus#35244) - Init Jobs are missing ServiceAccount and Image Pull Secrets
-   [#&#8203;35240](quarkusio/quarkus#35240) - Update SmallRye Health to 4.0.4
-   [#&#8203;34071](quarkusio/quarkus#34071) - 3.1.1 Final - java.lang.IllegalArgumentException: Class java.util.UUID\[] is instantiated reflectively but was never registered
-   [#&#8203;32800](quarkusio/quarkus#32800) - Duplicated checks in health check response
-   [#&#8203;11903](quarkusio/quarkus#11903) - Gradle multimodule project + quarkus-container-image-jib: OverlappingFileLockException

### [`v3.2.4.Final`](https://github.com/quarkusio/quarkus/releases/tag/3.2.4.Final)

[Compare Source](quarkusio/quarkus@3.2.3.Final...3.2.4.Final)

##### Complete changelog

-   [#&#8203;35300](quarkusio/quarkus#35300) - Fix `jandex-gradle-plugin-version` in CDI Reference
-   [#&#8203;35296](quarkusio/quarkus#35296) - Upgrade H2 to 2.2.220
-   [#&#8203;35258](quarkusio/quarkus#35258) - CDI Reference 1.1 has incomplete information for gradle
-   [#&#8203;35255](quarkusio/quarkus#35255) - Quartz: QuarkusMSSQLDelegate should extends MSSQLDelegate
-   [#&#8203;35211](quarkusio/quarkus#35211) - Document Maven config options that may be relevant when running tests
-   [#&#8203;35203](quarkusio/quarkus#35203) - Pass Maven user settings when initializing artifact resolver
-   [#&#8203;35193](quarkusio/quarkus#35193) - OpenTelemetry service name should have higher priority than app name when no resource attributes are set
-   [#&#8203;35189](quarkusio/quarkus#35189) - Quarkus CLI fixes
-   [#&#8203;35188](quarkusio/quarkus#35188) - SmallRyeGraphQLOverWebSocketHandler: use order value > Integer.MIN_VALUE
-   [#&#8203;35181](quarkusio/quarkus#35181) - REST Data with Panache should not produce links when hal is disabled
-   [#&#8203;35174](quarkusio/quarkus#35174) - Ensure the narayana-jta extension fully shuts down the recovery manager
-   [#&#8203;35172](quarkusio/quarkus#35172) - Kafka Streams: restore the feature name at Quarkus startup
-   [#&#8203;35171](quarkusio/quarkus#35171) - kafka-streams: feature not listed on startup
-   [#&#8203;35165](quarkusio/quarkus#35165) - Propagate all user methods in REST Data with Panache
-   [#&#8203;35160](quarkusio/quarkus#35160) - Properly use internal links to point to other guides
-   [#&#8203;35140](quarkusio/quarkus#35140) - ArC: fix deadlock when calling guarded methods on the same thread
-   [#&#8203;35136](quarkusio/quarkus#35136) - Deadlock while calling write-locked method from read-locked method
-   [#&#8203;34908](quarkusio/quarkus#34908) - `@RouteFilter` stopped working with WebSocket requests Quarkus 3.2.0.Final
-   [#&#8203;34875](quarkusio/quarkus#34875) - Quarkus build does not work since 3.2.0 with teamcity/plexus launcher
-   [#&#8203;34713](quarkusio/quarkus#34713) - Option to track build configuration for changes between builds
-   [#&#8203;34576](quarkusio/quarkus#34576) - Live reload stopped working on 3.2 when using XA transactions
-   [#&#8203;34514](quarkusio/quarkus#34514) - Support `@WithUnnamedKey` in documentation
-   [#&#8203;34065](quarkusio/quarkus#34065) - Add support for project Java version update based on extensions
-   [#&#8203;33317](quarkusio/quarkus#33317) - OpenTelemetry SDK autoconfiguration ignores OTEL service name in favor of Quarkus app name
-   [#&#8203;15461](quarkusio/quarkus#15461) - Quarkus tests fails mTLS authentication against internal Maven repository

</details>

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

### [`v3.3.0`](quarkusio/quarkus-platform@3.2.4.Final...3.3.0)

[Compare Source](quarkusio/quarkus-platform@3.2.4.Final...3.3.0)

### [`v3.2.4.Final`](quarkusio/quarkus-platform@3.2.3.Final...3.2.4.Final)

[Compare Source](quarkusio/quarkus-platform@3.2.3.Final...3.2.4.Final)

</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.

---

 - [x] <!-- 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-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
9 participants