anon-iclr-submission/benchname-bug-localization huggingface dataset:
Repository: quarkusio/quarkus
Issue: Performance: contention on Logger instance caused by Vertx warning

### Describe the bug

Class `io.vertx.core.impl.ContextImpl` is logging a frequent warning about "You have disabled TCCL checks".

This warning is now pointless (according to the vert.x team it's a legacy) and is being removed in upcoming Vert.x releases, but until we can upgrade this is causing significant contention on the Logger infrastructure when under load.

We're currently filtering the output; a more effective solution (until we upgrade Vertx) is to reconfigure the cathegory: PR coming.


Changed files:
extensions/vertx-core/deployment/src/main/java/io/quarkus/vertx/core/deployment/VertxCoreProcessor.java

diff --git a/extensions/vertx-core/deployment/src/main/java/io/quarkus/vertx/core/deployment/VertxCoreProcessor.java b/extensions/vertx-core/deployment/src/main/java/io/quarkus/vertx/core/deployment/VertxCoreProcessor.java
index e6f6e1fef3c..ef373c89186 100644
--- a/extensions/vertx-core/deployment/src/main/java/io/quarkus/vertx/core/deployment/VertxCoreProcessor.java
+++ b/extensions/vertx-core/deployment/src/main/java/io/quarkus/vertx/core/deployment/VertxCoreProcessor.java
@@ -19,6 +19,7 @@
 import org.jboss.jandex.ClassInfo;
 import org.jboss.jandex.DotName;
 import org.jboss.logging.Logger;
+import org.jboss.logmanager.Level;
 import org.jboss.logmanager.LogManager;
 
 import io.quarkus.arc.deployment.SyntheticBeanBuildItem;
@@ -32,6 +33,7 @@
 import io.quarkus.deployment.builditem.ExecutorBuildItem;
 import io.quarkus.deployment.builditem.IOThreadDetectorBuildItem;
 import io.quarkus.deployment.builditem.LaunchModeBuildItem;
+import io.quarkus.deployment.builditem.LogCategoryBuildItem;
 import io.quarkus.deployment.builditem.ServiceStartBuildItem;
 import io.quarkus.deployment.builditem.ShutdownContextBuildItem;
 import io.quarkus.deployment.builditem.ThreadFactoryBuildItem;
@@ -77,6 +79,17 @@ LogCleanupFilterBuildItem cleanupVertxWarnings() {
         return new LogCleanupFilterBuildItem("io.vertx.core.impl.ContextImpl", "You have disabled TCCL checks");
     }
 
+    @BuildStep
+    LogCategoryBuildItem preventLoggerContention() {
+        //Prevent the Logging warning about the TCCL checks being disabled to be logged;
+        //this is similar to #cleanupVertxWarnings but prevents it by changing the level:
+        // it takes advantage of the fact that there is a single other log in thi class,
+        // and it happens to be at error level.
+        //This is more effective than the LogCleanupFilterBuildItem as we otherwise have
+        //contention since this message could be logged very frequently.
+        return new LogCategoryBuildItem("io.vertx.core.impl.ContextImpl", Level.ERROR);
+    }
+
     @BuildStep
     @Record(ExecutionTime.STATIC_INIT)
     IOThreadDetectorBuildItem ioThreadDetector(VertxCoreRecorder recorder) {
Repository: quarkusio/quarkus
Issue: Cannot toggle back to test mode after pause

### Describe the bug

In dev mode, you cannot toggle back to test mode after pausing tests.



### Expected behavior

_No response_

### Actual behavior

_No response_

### How to Reproduce?

// some of this is pseudo code
1. cli create app resteasy (from 999-SNAPSHOT bom)
2. mvn quarkus:dev
3. Press "r" to start test mode
4. Press "p" to pause test mode
5. Press "r" to restart test mode

"r" option is removed from menu and test mode is not active.

### 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

This was tested from 'main'

Changed files:
core/deployment/src/main/java/io/quarkus/deployment/dev/testing/TestConsoleHandler.java

diff --git a/core/deployment/src/main/java/io/quarkus/deployment/dev/testing/TestConsoleHandler.java b/core/deployment/src/main/java/io/quarkus/deployment/dev/testing/TestConsoleHandler.java
index cdb39a59eb6..8367de53f34 100644
--- a/core/deployment/src/main/java/io/quarkus/deployment/dev/testing/TestConsoleHandler.java
+++ b/core/deployment/src/main/java/io/quarkus/deployment/dev/testing/TestConsoleHandler.java
@@ -90,7 +90,10 @@ private void setupPausedConsole() {
             public void run() {
                 if (lastResults == null) {
                     testsStatusOutput.setMessage(BLUE + "Starting tests" + RESET);
+                } else {
+                    testsStatusOutput.setMessage(null);
                 }
+                setupTestsRunningConsole();
                 TestSupport.instance().get().start();
             }
         }));
@@ -103,8 +106,10 @@ private void setupFirstRunConsole() {
         } else {
             testsStatusOutput.setMessage(BLUE + "Running tests for the first time" + RESET);
         }
-        consoleContext.reset();
-        addTestOutput();
+        if (firstRun) {
+            consoleContext.reset();
+            addTestOutput();
+        }
     }
 
     void addTestOutput() {
Repository: quarkusio/quarkus
Issue: Setting quarkus.resteasy.path not reflected in OpenAPI or Swagger

### Describe the bug

When I set the "quarkus.resteast.path" it works making API calls directly but does not get reflected in the OpenAPI or Swagger.

Using @ApplicationPath and setting eash @Path looks to work.

### Expected behavior

OpenAPI and Swagger reflect the path set in the application properties.

### Actual behavior

RESTful calls works but OpenAPI and Swagger do not reflect the path.  From Swagger invoking an endpoint gives a 404.

### 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_

Changed files:
extensions/smallrye-openapi/deployment/src/main/java/io/quarkus/smallrye/openapi/deployment/SmallRyeOpenApiProcessor.java

diff --git a/extensions/smallrye-openapi/deployment/src/main/java/io/quarkus/smallrye/openapi/deployment/SmallRyeOpenApiProcessor.java b/extensions/smallrye-openapi/deployment/src/main/java/io/quarkus/smallrye/openapi/deployment/SmallRyeOpenApiProcessor.java
index 2a96133a559..276e9e3619c 100644
--- a/extensions/smallrye-openapi/deployment/src/main/java/io/quarkus/smallrye/openapi/deployment/SmallRyeOpenApiProcessor.java
+++ b/extensions/smallrye-openapi/deployment/src/main/java/io/quarkus/smallrye/openapi/deployment/SmallRyeOpenApiProcessor.java
@@ -496,17 +496,22 @@ private OpenAPI generateAnnotationModel(IndexView indexView, Capabilities capabi
         OpenApiConfig openApiConfig = new OpenApiConfigImpl(config);
 
         List<AnnotationScannerExtension> extensions = new ArrayList<>();
+
         // Add the RESTEasy extension if the capability is present
+        String defaultPath = httpRootPathBuildItem.getRootPath();
         if (capabilities.isPresent(Capability.RESTEASY)) {
             extensions.add(new RESTEasyExtension(indexView));
+            if (resteasyJaxrsConfig.isPresent()) {
+                defaultPath = resteasyJaxrsConfig.get().getRootPath();
+            }
+        } else if (capabilities.isPresent(Capability.RESTEASY_REACTIVE)) {
+            extensions.add(new RESTEasyExtension(indexView));
+            Optional<String> maybePath = config.getOptionalValue("quarkus.resteasy-reactive.path", String.class);
+            if (maybePath.isPresent()) {
+                defaultPath = maybePath.get();
+            }
         }
 
-        String defaultPath;
-        if (resteasyJaxrsConfig.isPresent()) {
-            defaultPath = resteasyJaxrsConfig.get().getRootPath();
-        } else {
-            defaultPath = httpRootPathBuildItem.getRootPath();
-        }
         if (defaultPath != null && !"/".equals(defaultPath)) {
             extensions.add(new CustomPathExtension(defaultPath));
         }
Repository: quarkusio/quarkus
Issue: Dev mode freezes when quitting and console log colors are switched off

### Describe the bug

That is a very strange bug and I'm not sure, if I got it right:

If you 
- disable console log colors with `quarkus.log.console.color=false`, 
- start the application in dev mode,
- wait for Quarkus to come up,
- press `q` for termination the application,
- then the application hangs/freezes: The shell does not return to the promt and cpu usage rises.

### Expected behavior

After pressing `q` in dev mode, the application should terminate.

### Actual behavior

If console log coloring is disabled, pressing `q` in dev mode seems to run into some endless loop.

### How to Reproduce?

Steps to reproduce:

1. Bootstrap the Getting Started project: `mvn io.quarkus:quarkus-maven-plugin:2.1.2.Final:create` using all defaults.
2. Add `quarkus.log.console.color=false` to `application.properties`,
3. Start application in dev mode: `mvn clean quarkus:dev` (the `clean` seems to have some influence; without it, the problem does not appear *every* time ...)
4. Wait for Quarkus to initialize.
5. Press `q`


### Output of `uname -a` or `ver`

Windows 10 Pro

### Output of `java -version`

OpenJDK 64-Bit Server VM AdoptOpenJDK (build 11.0.9.1+1, mixed mode)

### GraalVM version (if different from Java)

_No response_

### Quarkus version or git rev

2.1.2.Final

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

Apache Maven 3.8.1

### Additional information

_No response_

Changed files:
core/deployment/src/main/java/io/quarkus/deployment/console/AeshConsole.java

diff --git a/core/deployment/src/main/java/io/quarkus/deployment/console/AeshConsole.java b/core/deployment/src/main/java/io/quarkus/deployment/console/AeshConsole.java
index c5aa2f85b85..e7b734ba2ea 100644
--- a/core/deployment/src/main/java/io/quarkus/deployment/console/AeshConsole.java
+++ b/core/deployment/src/main/java/io/quarkus/deployment/console/AeshConsole.java
@@ -66,7 +66,7 @@ public AeshConsole(Connection connection) {
             public void run() {
                 connection.close();
             }
-        }, "Console Shutdown Hoot"));
+        }, "Console Shutdown Hook"));
     }
 
     private void updatePromptOnChange(StringBuilder buffer, int newLines) {
@@ -294,8 +294,15 @@ public void write(String s) {
             return;
         }
         if (closed) {
-            connection.write(s);
-            return;
+            // we need to guard against Aesh logging since the connection.write call, in certain error conditions,
+            // can lead to a logger message write, which can trigger an infinite loop
+            IN_WRITE.set(true);
+            try {
+                connection.write(s);
+                return;
+            } finally {
+                IN_WRITE.set(false);
+            }
         }
         if (lastColorCode != null) {
             s = lastColorCode + s;
Repository: quarkusio/quarkus
Issue: Continuous testing quarkus:test goal requires @QuarkusTest annotation

## Describe the bug
Maven's quarkus:test goal seems to require at least one @QuarkusTest annotated test to run the tests. If no test is annotated, they don't run. If at least one is annotated, all tests run.
The quarkus:dev goal runs all the tests even without any annotation.

### Expected behavior
mvn quarkus:test runs the same tests as mvn quarkus:dev and they don't necessarily require @QuarkusTest.

### Actual behavior
mvn quarkus:test only runs tests if at least one is annotated with @QuarkusTest


## To Reproduce
Reproducer https://github.com/kwakiutlCS/vigilant-funicular

Steps to reproduce the behavior:
1. run mvn quarkus:test (hangs)
2. run mvn quarkus:dev and run tests (succeeds)
3. add a second test file with @QuarkusTest (go back 1 commit) and run mvn quarkus:test (succeeds)


### Quarkus version or git rev
Quarkus 2.0.0.CR3

## Additional context
Sometimes besides hanging a log message appears
INFO  [org.jun.pla.lau.cor.EngineDiscoveryOrchestrator] (Test runner thread) 0 containers and XX tests were Unknown
where XX is the number of tests


Changed files:
core/deployment/src/main/java/io/quarkus/deployment/dev/testing/TestTracingProcessor.java
core/deployment/src/main/java/io/quarkus/deployment/dev/testing/TestHandler.java

diff --git a/core/deployment/src/main/java/io/quarkus/deployment/dev/testing/TestHandler.java b/core/deployment/src/main/java/io/quarkus/deployment/dev/testing/TestHandler.java
index 84ca23784f7..c810bbb68ce 100644
--- a/core/deployment/src/main/java/io/quarkus/deployment/dev/testing/TestHandler.java
+++ b/core/deployment/src/main/java/io/quarkus/deployment/dev/testing/TestHandler.java
@@ -3,11 +3,12 @@
 import java.util.function.BiConsumer;
 
 import io.quarkus.builder.BuildResult;
+import io.quarkus.dev.console.QuarkusConsole;
 
 public class TestHandler implements BiConsumer<Object, BuildResult> {
     @Override
     public void accept(Object o, BuildResult buildResult) {
+        QuarkusConsole.start();
         TestSupport.instance().get().start();
-
     }
 }
diff --git a/core/deployment/src/main/java/io/quarkus/deployment/dev/testing/TestTracingProcessor.java b/core/deployment/src/main/java/io/quarkus/deployment/dev/testing/TestTracingProcessor.java
index a267151241f..502a21101d3 100644
--- a/core/deployment/src/main/java/io/quarkus/deployment/dev/testing/TestTracingProcessor.java
+++ b/core/deployment/src/main/java/io/quarkus/deployment/dev/testing/TestTracingProcessor.java
@@ -44,6 +44,7 @@ LogCleanupFilterBuildItem handle() {
     }
 
     @BuildStep(onlyIf = IsDevelopment.class)
+    @Produce(TestSetupBuildItem.class)
     void setupConsole(TestConfig config, BuildProducer<TestListenerBuildItem> testListenerBuildItemBuildProducer) {
         if (!TestSupport.instance().isPresent() || config.continuousTesting == TestConfig.Mode.DISABLED
                 || config.flatClassPath) {
Repository: quarkusio/quarkus
Issue: DevServices crashes immediately on Fedora

## Describe the bug

Any attempt to start a test on Fedora results in this exception, since #18505 :

```
Build failure: Build failed due to errors
	[error]: Build step io.quarkus.datasource.deployment.devservices.DevServicesDatasourceProcessor#launchDatabases threw an exception: java.lang.IllegalArgumentException: port out of range:-1
	at java.base/java.net.InetSocketAddress.checkPort(InetSocketAddress.java:143)
	at java.base/java.net.InetSocketAddress.<init>(InetSocketAddress.java:188)
	at java.base/java.net.Socket.<init>(Socket.java:232)
	at io.quarkus.deployment.IsDockerWorking.getAsBoolean(IsDockerWorking.java:43)
```

The problem is that I have the `DOCKER_HOST` variable pointing to a unix socket:  `unix:/run/user/1000/podman/podman.sock`; this is quite common among Fedora / RHEL users.

Podman otherwise works fine, so I'd prefer if the return of this method was `true` - not sure what do to. Perhaps just skip this check if `DOCKER_HOST` starts with `unix:` ?

Changed files:
core/deployment/src/main/java/io/quarkus/deployment/IsDockerWorking.java

diff --git a/core/deployment/src/main/java/io/quarkus/deployment/IsDockerWorking.java b/core/deployment/src/main/java/io/quarkus/deployment/IsDockerWorking.java
index 3a92377f1bf..1fce4a2260d 100644
--- a/core/deployment/src/main/java/io/quarkus/deployment/IsDockerWorking.java
+++ b/core/deployment/src/main/java/io/quarkus/deployment/IsDockerWorking.java
@@ -37,7 +37,7 @@ public boolean getAsBoolean() {
         //so we just see if the DOCKER_HOST is set and we can connect to it
         //we can't actually verify it is docker listening on the other end
         String dockerHost = System.getenv("DOCKER_HOST");
-        if (dockerHost != null) {
+        if (dockerHost != null && !dockerHost.startsWith("unix:")) {
             try {
                 URI url = new URI(dockerHost);
                 try (Socket s = new Socket(url.getHost(), url.getPort())) {
Repository: quarkusio/quarkus
Issue: Building native images with quarkus-opentelemetry extension throw a Random/SplittableRandom initialized error at build time

## Describe the bug
QuarkusVersion: Upstream
Extensions: quarkus-opentelemetry, quarkus-opentelemetry-exporter-jaeger
Reproducer: https://github.com/quarkus-qe/beefy-scenarios
Command: `mvn clean verify -Dnative -pl 300-quarkus-vertx-webClient -Pnative -DskipTests`

Error at native build time: 

```
Caused by: com.oracle.graal.pointsto.constraints.UnsupportedFeatureException: Detected an instance of Random/SplittableRandom class in the image heap. Instances created during image generation have cached seed values and don't behave as expected.  To see how this object got instantiated use --trace-object-instantiation=java.util.Random. The object was probably created by a class initializer and is reachable from a static field. You can request class initialization at image runtime by using the option --initialize-at-run-time=<class-name>. Or you can write your own initialization methods and call them explicitly from your main entry point.
Detailed message:
Trace: Object was reached by 
        reading field io.grpc.internal.RetriableStream.random
```

Similar issue ref: https://github.com/quarkusio/quarkus/issues/14904

If we remove open telemetry extension, then the native build works as expected. 


Changed files:
extensions/grpc-common/deployment/src/main/java/io/quarkus/grpc/common/deployment/GrpcCommonProcessor.java

diff --git a/extensions/grpc-common/deployment/src/main/java/io/quarkus/grpc/common/deployment/GrpcCommonProcessor.java b/extensions/grpc-common/deployment/src/main/java/io/quarkus/grpc/common/deployment/GrpcCommonProcessor.java
index ebff9fee027..31d637e0535 100644
--- a/extensions/grpc-common/deployment/src/main/java/io/quarkus/grpc/common/deployment/GrpcCommonProcessor.java
+++ b/extensions/grpc-common/deployment/src/main/java/io/quarkus/grpc/common/deployment/GrpcCommonProcessor.java
@@ -58,7 +58,8 @@ NativeImageConfigBuildItem nativeImageConfiguration() {
                 // if they were not marked as runtime initialized:
                 .addRuntimeInitializedClass("io.grpc.netty.Utils")
                 .addRuntimeInitializedClass("io.grpc.netty.NettyServerBuilder")
-                .addRuntimeInitializedClass("io.grpc.netty.NettyChannelBuilder");
+                .addRuntimeInitializedClass("io.grpc.netty.NettyChannelBuilder")
+                .addRuntimeInitializedClass("io.grpc.internal.RetriableStream");
         return builder.build();
     }
Repository: quarkusio/quarkus
Issue: Option quarkus.websocket.dispatch-to-worker=true doesn't work anymore in Quarkus 1.13

## Describe the bug
Setting the value of `quarkus.websocket.dispatch-to-worker` to `true` doesn't change anything. WebSockets remain on vert.x-eventloop threads.

### Expected behavior
WebSockets should be executed on executor threads (like in Quarkus 1.11).

### Actual behavior
WebSockets are executed on vert.x-eventloop threads instead of executor ones.


## To Reproduce

1. Start with Quarkus 1.13 WebSockets example code.
2. Add a log line in `SupersonicChatSocket#onOpen` like `LOG.info("I am a WebSocket!");`
3. Launch the program, go to http://localhost:8080, and connect with a username.
4. See in the console `2021-06-01 01:32:50,570 INFO  [org.acm.und.SupersonicChatSocket] (vert.x-eventloop-thread-11) I'm a WebSocket!` notice `vert.x-eventloop-thread-11`
5. Now, set the property `quarkus.websocket.dispatch-to-worker=true` in application.properties
6. Redo step 3 and 4 and observe that it still logs a `vert.x-eventloop-thread-X` thread.

You can do the same thing with Quarkus 1.11.3.Final, after setting the option to true you will see WebSocket is executed on an executor thread like it should be:

`2021-06-01 01:30:27,083 INFO  [org.acm.und.SupersonicChatSocket] (executor-thread-198) I am a WebSocket!`

Changed files:
extensions/websockets/runtime/src/main/java/io/quarkus/undertow/websockets/runtime/WebsocketRecorder.java

diff --git a/extensions/websockets/runtime/src/main/java/io/quarkus/undertow/websockets/runtime/WebsocketRecorder.java b/extensions/websockets/runtime/src/main/java/io/quarkus/undertow/websockets/runtime/WebsocketRecorder.java
index 65085d860b3..a09af85f95c 100644
--- a/extensions/websockets/runtime/src/main/java/io/quarkus/undertow/websockets/runtime/WebsocketRecorder.java
+++ b/extensions/websockets/runtime/src/main/java/io/quarkus/undertow/websockets/runtime/WebsocketRecorder.java
@@ -17,7 +17,6 @@
 import io.quarkus.arc.Arc;
 import io.quarkus.arc.ManagedContext;
 import io.quarkus.arc.runtime.BeanContainer;
-import io.quarkus.runtime.ExecutorRecorder;
 import io.quarkus.runtime.annotations.Recorder;
 import io.undertow.websockets.UndertowContainerProvider;
 import io.undertow.websockets.WebSocketDeploymentInfo;
@@ -160,15 +159,10 @@ public T call(C context) throws Exception {
                         };
                     }
                 }),
-                false,
+                info.isDispatchToWorkerThread(),
                 null,
                 null,
-                new Supplier<Executor>() {
-                    @Override
-                    public Executor get() {
-                        return ExecutorRecorder.getCurrent();
-                    }
-                },
+                info.getExecutor(),
                 Collections.emptyList(),
                 info.getMaxFrameSize());
         for (Class<?> i : info.getAnnotatedEndpoints()) {
Repository: quarkusio/quarkus
Issue: Injecting from another module causes ClassNotFoundException in dev mode

## Describe the bug
The class to be injected is located in another module in the project dependency. During the `quarkusDev`, injection fails with `java.lang.ClassNotFoundException`. Both main project and dependency have beans.xml. If the injected class is moved to the main project, injection works. It also works when running the jar directly (`java -jar service1/build/quarkus-app/quarkus-run.jar`).c So this seems to only be a dev mode issue.

### Expected behavior
Class should be injected without error.

### Actual behavior
`ClassNotFoundException: my.project.plugin.Plugin`


## To Reproduce

`service1` in https://github.com/mweber03/quarkus-test

Steps to reproduce the behavior:
1. `./gradlew build service1:quarkusDev`

## Environment (please complete the following information):

### Output of `uname -a` or `ver`
Ubuntu 20.04

### Output of `java -version`
OpenJDK 11.0.11

### Quarkus version or git rev
Quarkus 1.13.7

### Build tool (ie. output of `mvnw --version` or `gradlew --version`)
Gradle 6.8.3


Changed files:
devtools/gradle/src/main/java/io/quarkus/gradle/tasks/QuarkusDev.java

diff --git a/devtools/gradle/src/main/java/io/quarkus/gradle/tasks/QuarkusDev.java b/devtools/gradle/src/main/java/io/quarkus/gradle/tasks/QuarkusDev.java
index b8f6e9829a2..5e45d940f74 100644
--- a/devtools/gradle/src/main/java/io/quarkus/gradle/tasks/QuarkusDev.java
+++ b/devtools/gradle/src/main/java/io/quarkus/gradle/tasks/QuarkusDev.java
@@ -51,6 +51,7 @@
 import io.quarkus.bootstrap.resolver.AppModelResolverException;
 import io.quarkus.deployment.dev.DevModeContext;
 import io.quarkus.deployment.dev.QuarkusDevModeLauncher;
+import io.quarkus.gradle.QuarkusPlugin;
 import io.quarkus.runtime.LaunchMode;
 
 public class QuarkusDev extends QuarkusTask {
@@ -335,7 +336,7 @@ private void addSelfWithLocalDeps(Project project, GradleDevModeLauncher.Builder
         if (!visited.add(project.getPath())) {
             return;
         }
-        final Configuration compileCp = project.getConfigurations().findByName(JavaPlugin.COMPILE_CLASSPATH_CONFIGURATION_NAME);
+        final Configuration compileCp = project.getConfigurations().findByName(QuarkusPlugin.DEV_MODE_CONFIGURATION_NAME);
         if (compileCp != null) {
             compileCp.getIncoming().getDependencies().forEach(d -> {
                 if (d instanceof ProjectDependency) {
Repository: quarkusio/quarkus
Issue: SmallRye GraphQL Client not working in native

`microprofile-graphql-client-quickstart`  is failing in native with the following error.

Apart from the fact that it needs fixing, I'm very surprised we use Jersey? Shouldn't we use one of our REST Clients?

```
Caused by: java.lang.RuntimeException: java.lang.ClassNotFoundException: org.glassfish.jersey.client.JerseyClientBuilder
	at javax.ws.rs.client.ClientBuilder.newBuilder(ClientBuilder.java:102)
	at javax.ws.rs.client.ClientBuilder.newClient(ClientBuilder.java:113)
	at io.smallrye.graphql.client.typesafe.jaxrs.JaxRsTypesafeGraphQLClientBuilder.client(JaxRsTypesafeGraphQLClientBuilder.java:36)
	at io.smallrye.graphql.client.typesafe.jaxrs.JaxRsTypesafeGraphQLClientBuilder.build(JaxRsTypesafeGraphQLClientBuilder.java:60)
	at io.quarkus.smallrye.graphql.client.runtime.SmallRyeGraphQLClientRecorder.lambda$typesafeClientSupplier$0(SmallRyeGraphQLClientRecorder.java:15)
	at 
```

Changed files:
extensions/resteasy-reactive/jaxrs-client-reactive/deployment/src/main/java/io/quarkus/jaxrs/client/reactive/deployment/JaxrsClientReactiveProcessor.java

diff --git a/extensions/resteasy-reactive/jaxrs-client-reactive/deployment/src/main/java/io/quarkus/jaxrs/client/reactive/deployment/JaxrsClientReactiveProcessor.java b/extensions/resteasy-reactive/jaxrs-client-reactive/deployment/src/main/java/io/quarkus/jaxrs/client/reactive/deployment/JaxrsClientReactiveProcessor.java
index 92f0035c407..aef49426390 100644
--- a/extensions/resteasy-reactive/jaxrs-client-reactive/deployment/src/main/java/io/quarkus/jaxrs/client/reactive/deployment/JaxrsClientReactiveProcessor.java
+++ b/extensions/resteasy-reactive/jaxrs-client-reactive/deployment/src/main/java/io/quarkus/jaxrs/client/reactive/deployment/JaxrsClientReactiveProcessor.java
@@ -28,6 +28,7 @@
 import javax.ws.rs.ProcessingException;
 import javax.ws.rs.RuntimeType;
 import javax.ws.rs.client.AsyncInvoker;
+import javax.ws.rs.client.ClientBuilder;
 import javax.ws.rs.client.CompletionStageRxInvoker;
 import javax.ws.rs.client.Entity;
 import javax.ws.rs.client.Invocation;
@@ -53,6 +54,7 @@
 import org.jboss.logging.Logger;
 import org.jboss.resteasy.reactive.client.handlers.ClientObservabilityHandler;
 import org.jboss.resteasy.reactive.client.impl.AsyncInvokerImpl;
+import org.jboss.resteasy.reactive.client.impl.ClientBuilderImpl;
 import org.jboss.resteasy.reactive.client.impl.ClientImpl;
 import org.jboss.resteasy.reactive.client.impl.UniInvoker;
 import org.jboss.resteasy.reactive.client.impl.WebTargetImpl;
@@ -158,6 +160,10 @@ void addFeature(BuildProducer<FeatureBuildItem> features) {
     void registerClientResponseBuilder(BuildProducer<ServiceProviderBuildItem> serviceProviders) {
         serviceProviders.produce(new ServiceProviderBuildItem(ResponseBuilderFactory.class.getName(),
                 ClientResponseBuilderFactory.class.getName()));
+
+        serviceProviders.produce(new ServiceProviderBuildItem(ClientBuilder.class.getName(),
+                ClientBuilderImpl.class.getName()));
+
     }
 
     @BuildStep
Repository: quarkusio/quarkus
Issue: Continuous testing test count index off by 1

NOTE: Quarkus 2.0.0.Final

## Describe the bug
When a test class has more than one test, the test count starts with a zero instead of 1, making it feel as if not all tests are run. For example, it feels ike only 2 of 3 tests are run and 3/3 will never be reached:
```
2021-06-30 20:20:22,574 INFO  [io.qua.test] (Test runner thread) Running 0/3. Running: org.acme.GreetingResourceTest#testRandomEndpoint()
2021-06-30 20:20:22,585 INFO  [io.qua.test] (Test runner thread) Running 1/3. Running: org.acme.GreetingResourceTest#testListGreetingsEndpoint()
2021-06-30 20:20:22,624 INFO  [io.qua.test] (Test runner thread) Running 2/3. Running: org.acme.GreetingResourceTest#testHelloEndpoint()
```

### Expected behavior
The output should look like the following, with 1/3, 2/3, and 3/3;
```
2021-06-30 20:20:22,574 INFO  [io.qua.test] (Test runner thread) Running 1/3. Running: org.acme.GreetingResourceTest#testRandomEndpoint()
2021-06-30 20:20:22,585 INFO  [io.qua.test] (Test runner thread) Running 2/3. Running: org.acme.GreetingResourceTest#testListGreetingsEndpoint()
2021-06-30 20:20:22,624 INFO  [io.qua.test] (Test runner thread) Running 3/3. Running: org.acme.GreetingResourceTest#testHelloEndpoint()
```
## To Reproduce
[Clone reproducer](https://github.com/jclingan/continuous_testing_counter_reproducer), run `mvn quarkus:dev`, then:

1. Press 'r' to  resume and run all tests
2. Press 'o' to enable test output
3. Press 'r' to re-run all tests and see above output



Changed files:
core/deployment/src/main/java/io/quarkus/deployment/dev/testing/TestConsoleHandler.java

diff --git a/core/deployment/src/main/java/io/quarkus/deployment/dev/testing/TestConsoleHandler.java b/core/deployment/src/main/java/io/quarkus/deployment/dev/testing/TestConsoleHandler.java
index dc1cae84831..e510c360010 100644
--- a/core/deployment/src/main/java/io/quarkus/deployment/dev/testing/TestConsoleHandler.java
+++ b/core/deployment/src/main/java/io/quarkus/deployment/dev/testing/TestConsoleHandler.java
@@ -210,7 +210,7 @@ public void testRunStarted(Consumer<TestRunListener> listenerConsumer) {
             @Override
             public void runStarted(long toRun) {
                 totalNoTests.set(toRun);
-                promptHandler.setStatus("Running 0/" + toRun + ".");
+                promptHandler.setStatus("Starting test run, " + toRun + " tests to run.");
             }
 
             @Override
@@ -310,7 +310,7 @@ public void runAborted() {
 
             @Override
             public void testStarted(TestIdentifier testIdentifier, String className) {
-                String status = "Running " + methodCount.get() + "/" + totalNoTests
+                String status = "Running " + (methodCount.get() + 1) + "/" + totalNoTests
                         + (failureCount.get() == 0 ? "."
                                 : ". " + failureCount + " " + pluralize("failure", "failures", failureCount) + " so far.")
                         + " Running: "
Repository: quarkusio/quarkus
Issue: Problem starting quarkus app in dev mode with pom dependency

## Describe the bug
We do have some quarkus apps that have a pom type dependency on the 'pom.xml' (for example: https://github.com/kiegroup/kogito-apps/blob/master/task-console/pom.xml#L54). Today we started noticing that if we start them in dev mode we get a hot reload error on start up due to a missing target/classes folder in the dependent module.

`Failed to run: Hot reloadable dependency org.kie.kogito:kogito-apps-ui-packages::jar:2.0.0-SNAPSHOT has not been compiled yet (the classes directory /development/kogito-apps/ui-packages/target/classes does not exist) -> [Help 1]`

We found this check to be hardcoded in your DevMojo (https://github.com/quarkusio/quarkus/blob/main/devtools/maven/src/main/java/io/quarkus/maven/DevMojo.java#L663-L666). I think it would be good if this mechanism could be more flexible or at least configurable to avoid this kind of issues.

### Expected behavior
The quarkus app should start in dev mode as usual

### Actual behavior
The quarkus app doesn't start and shows the Hot reload error message.

## To Reproduce

Steps to reproduce the behavior:
1. Git clone Git clone https://github.com/kiegroup/kogito-apps
2. Build kogito-apps
3. on a terminal go to /kogito-apps/task-console
4. try to start the app with command: `mvn clean package quarkus:dev -Dquarkus.http.port=8380  `



Changed files:
independent-projects/bootstrap/core/src/main/java/io/quarkus/bootstrap/devmode/DependenciesFilter.java

diff --git a/independent-projects/bootstrap/core/src/main/java/io/quarkus/bootstrap/devmode/DependenciesFilter.java b/independent-projects/bootstrap/core/src/main/java/io/quarkus/bootstrap/devmode/DependenciesFilter.java
index b21dc8a7804..ef000cec228 100644
--- a/independent-projects/bootstrap/core/src/main/java/io/quarkus/bootstrap/devmode/DependenciesFilter.java
+++ b/independent-projects/bootstrap/core/src/main/java/io/quarkus/bootstrap/devmode/DependenciesFilter.java
@@ -85,7 +85,7 @@ public static List<LocalProject> filterNotReloadableDependencies(LocalProject lo
             if (project == null) {
                 continue;
             }
-            if ("test".equals(a.getScope())) {
+            if ("test".equals(a.getScope()) || "pom".equals(a.getType())) {
                 continue;
             }
             if (!project.getVersion().equals(a.getVersion())) {
Repository: quarkusio/quarkus
Issue: Reactive routes incorrect json serialization

### Describe the bug

Reactive routes resources returning invalid json when using `@RolesAllowed` annotation. Without the annotation its working fine.

Its working fine using Quarkus 2.3 version

### Expected behavior

API should return below JSON response

```javascript
[
	{
		"message": "Hello!"
	},
	{
		"message": "Hola!"
	},
	{
		"message": "Bonjour!"
	},
	{
		"message": "Ciao!"
	}
]
```

### Actual behavior

Instead its returning

```javascript
{"message":"Hello!"}{"message":"Hola!"}{"message":"Bonjour!"}{"message":"Ciao!"}
```

### How to Reproduce?

Reproducer: https://github.com/MM87037/reactive-routes

Steps:

1. Run `mvn clean verify` to see the failure

### Output of `uname -a` or `ver`

_No response_

### Output of `java -version`

OpenJDK Runtime Environment Temurin-17+35 (build 17+35)
OpenJDK 64-Bit Server VM Temurin-17+35 (build 17+35, mixed mode, sharing)

### GraalVM version (if different from Java)

_No response_

### Quarkus version or git rev

2.4.0

### Build tool (ie. output of `mvnw --version` or `gradlew --version`)

Apache Maven 3.8.1

### Additional information

_No response_

Changed files:
extensions/security/runtime/src/main/java/io/quarkus/security/runtime/interceptor/SecurityHandler.java

diff --git a/extensions/security/runtime/src/main/java/io/quarkus/security/runtime/interceptor/SecurityHandler.java b/extensions/security/runtime/src/main/java/io/quarkus/security/runtime/interceptor/SecurityHandler.java
index 209d37d1ab4..7d2474d0730 100644
--- a/extensions/security/runtime/src/main/java/io/quarkus/security/runtime/interceptor/SecurityHandler.java
+++ b/extensions/security/runtime/src/main/java/io/quarkus/security/runtime/interceptor/SecurityHandler.java
@@ -41,7 +41,9 @@ public Object handle(InvocationContext ic) throws Exception {
                     }).subscribeAsCompletionStage();
         } else if (Multi.class.isAssignableFrom(returnType)) {
             return constrainer.nonBlockingCheck(ic.getMethod(), ic.getParameters())
-                    .onItem().transformToMulti(new MultiContinuation(ic));
+                    // Do not use transformToMulti as we want to preserve the type of multi produced by the user method.
+                    // This is required for Reactive Routes to handle custom Multi serialization.
+                    .toMulti().plug(x -> new MultiContinuation(ic).apply(x));
         } else {
             constrainer.check(ic.getMethod(), ic.getParameters());
             return ic.proceed();
Repository: quarkusio/quarkus
Issue: Sporadic EOFException when running tests in Eclipse with jacoco extension

## Describe the bug
I'm seeing this frequently (but not always) in Eclipse at the end of a test execution:
```
Failed to generate Jacoco reports
java.io.EOFException
	at java.base/java.io.DataInputStream.readUnsignedShort(DataInputStream.java:345)
	at java.base/java.io.DataInputStream.readUTF(DataInputStream.java:594)
	at java.base/java.io.DataInputStream.readUTF(DataInputStream.java:569)
	at org.jacoco.core.data.ExecutionDataReader.readExecutionData(ExecutionDataReader.java:149)
	at org.jacoco.core.data.ExecutionDataReader.readBlock(ExecutionDataReader.java:116)
	at org.jacoco.core.data.ExecutionDataReader.read(ExecutionDataReader.java:93)
	at org.jacoco.core.tools.ExecFileLoader.load(ExecFileLoader.java:60)
	at org.jacoco.core.tools.ExecFileLoader.load(ExecFileLoader.java:74)
	at io.quarkus.jacoco.runtime.ReportCreator.run(ReportCreator.java:72)
	at java.base/java.lang.Thread.run(Thread.java:829)
```
This doesn't make the test fail, it only looks scary.

### Expected behavior
No such exception

### Actual behavior
Exception is logged (not sure about the integrity of the report, though).


## To Reproduce

No reproducer available (yet?).

## Environment (please complete the following information):

### Output of `uname -a` or `ver`
```
Linux W4DEUMSY9003463 5.4.72-microsoft-standard-WSL2 #1 SMP Wed Oct 28 23:40:43 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
```
Ubuntu 20.04.2 LTS

### Output of `java -version`
```
OpenJDK 64-Bit Server VM AdoptOpenJDK-11.0.11+9 (build 11.0.11+9, mixed mode)
```

### Quarkus version or git rev
```
2.0.1.Final
```
(also seen in 2.0.0)

### Build tool (ie. output of `mvnw --version` or `gradlew --version`)
Maven 3.8.1 or in this case better to say Eclipse 2021-06.

## Additional context
Seems to come from a shutdown hook?

Btw, Eclipse is running _in_ the WSL2 Ubuntu dist (xfce, accessed via xrdp), not on Windows host.

Changed files:
test-framework/jacoco/runtime/src/main/java/io/quarkus/jacoco/runtime/ReportCreator.java

diff --git a/test-framework/jacoco/runtime/src/main/java/io/quarkus/jacoco/runtime/ReportCreator.java b/test-framework/jacoco/runtime/src/main/java/io/quarkus/jacoco/runtime/ReportCreator.java
index 0a5956c4190..e118708a6c6 100644
--- a/test-framework/jacoco/runtime/src/main/java/io/quarkus/jacoco/runtime/ReportCreator.java
+++ b/test-framework/jacoco/runtime/src/main/java/io/quarkus/jacoco/runtime/ReportCreator.java
@@ -45,7 +45,7 @@ public void run() {
             long abortTime = System.currentTimeMillis() + 10000;
             Path datafile = Paths.get(reportInfo.dataFile);
             while (System.currentTimeMillis() < abortTime) {
-                if (Files.exists(datafile)) {
+                if (Files.exists(datafile) && Files.size(datafile) > 0) {
                     break;
                 }
                 Thread.sleep(100);
Repository: quarkusio/quarkus
Issue: @RolesAllowed annotation broken for resources returning a Multi

### Describe the bug

`@RolesAllowed` is being ignored for endpoints returning a Multi. I think the issue introduced by #21270




### Expected behavior

When expected roles are missing, API should fail with Forbidden Error (403)

### Actual behavior

Received 200 OK response

### How to Reproduce?

https://github.com/mvmandapati/reactive-routes

Steps:

1. Run mvn clean verify to see the failure

### Output of `uname -a` or `ver`

_No response_

### Output of `java -version`

OpenJDK Runtime Environment Temurin-17+35 (build 17+35) OpenJDK 64-Bit Server VM Temurin-17+35 (build 17+35, mixed mode, sharing)

### GraalVM version (if different from Java)

_No response_

### Quarkus version or git rev

2.4.2

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

Apache Maven 3.8.1

### Additional information

_No response_

Changed files:
extensions/security/runtime/src/main/java/io/quarkus/security/runtime/interceptor/SecurityHandler.java

diff --git a/extensions/security/runtime/src/main/java/io/quarkus/security/runtime/interceptor/SecurityHandler.java b/extensions/security/runtime/src/main/java/io/quarkus/security/runtime/interceptor/SecurityHandler.java
index 7d2474d0730..209d37d1ab4 100644
--- a/extensions/security/runtime/src/main/java/io/quarkus/security/runtime/interceptor/SecurityHandler.java
+++ b/extensions/security/runtime/src/main/java/io/quarkus/security/runtime/interceptor/SecurityHandler.java
@@ -41,9 +41,7 @@ public Object handle(InvocationContext ic) throws Exception {
                     }).subscribeAsCompletionStage();
         } else if (Multi.class.isAssignableFrom(returnType)) {
             return constrainer.nonBlockingCheck(ic.getMethod(), ic.getParameters())
-                    // Do not use transformToMulti as we want to preserve the type of multi produced by the user method.
-                    // This is required for Reactive Routes to handle custom Multi serialization.
-                    .toMulti().plug(x -> new MultiContinuation(ic).apply(x));
+                    .onItem().transformToMulti(new MultiContinuation(ic));
         } else {
             constrainer.check(ic.getMethod(), ic.getParameters());
             return ic.proceed();
Repository: quarkusio/quarkus
Issue: Misleading exception message on @Transactional(Transactional.TxType.NEVER)

## Describe the bug
When method marked with `@Transactional(Transactional.TxType.NEVER)` is called inside the transaction, exception is thrown with "ARJUNA016110: Transaction is required for invocation", but the situation is opposite, it requires no transaction for invocation

This line requires new message - [TransactionalInterceptorNever.java:36](https://github.com/quarkusio/quarkus/blob/923ee07ef48cf209b282395a7118925ebeccbe2b/extensions/narayana-jta/runtime/src/main/java/io/quarkus/narayana/jta/runtime/interceptor/TransactionalInterceptorNever.java#L36)


Changed files:
extensions/narayana-jta/runtime/src/main/java/io/quarkus/narayana/jta/runtime/interceptor/TransactionalInterceptorNever.java

diff --git a/extensions/narayana-jta/runtime/src/main/java/io/quarkus/narayana/jta/runtime/interceptor/TransactionalInterceptorNever.java b/extensions/narayana-jta/runtime/src/main/java/io/quarkus/narayana/jta/runtime/interceptor/TransactionalInterceptorNever.java
index 4d98d450f27..e55cec7473b 100644
--- a/extensions/narayana-jta/runtime/src/main/java/io/quarkus/narayana/jta/runtime/interceptor/TransactionalInterceptorNever.java
+++ b/extensions/narayana-jta/runtime/src/main/java/io/quarkus/narayana/jta/runtime/interceptor/TransactionalInterceptorNever.java
@@ -10,8 +10,6 @@
 import javax.transaction.Transactional;
 import javax.transaction.TransactionalException;
 
-import com.arjuna.ats.jta.logging.jtaLogger;
-
 /**
  * @author paul.robinson@redhat.com 25/05/2013
  */
@@ -33,7 +31,7 @@ public Object intercept(InvocationContext ic) throws Exception {
     @Override
     protected Object doIntercept(TransactionManager tm, Transaction tx, InvocationContext ic) throws Exception {
         if (tx != null) {
-            throw new TransactionalException(jtaLogger.i18NLogger.get_tx_required(), new InvalidTransactionException());
+            throw new TransactionalException("Transaction is not allowed for invocation", new InvalidTransactionException());
         }
         return invokeInNoTx(ic);
     }
Repository: quarkusio/quarkus
Issue: Continuous testing classloading issue

### Describe the bug

Resuming tests when running `mvn quarkus:dev` leads to following error:

```
: groovy.lang.MissingMethodException: No signature of method: com.fasterxml.jackson.databind.MappingJsonFactory.createJsonGenerator() is applicable for argument types: (ByteArrayOutputStream, com.fasterxml.jackson.core.JsonEncoding) values: [, UTF8]
Possible solutions: createJsonGenerator(java.io.OutputStream), createJsonGenerator(java.io.Writer), createJsonGenerator(java.io.OutputStream, com.fasterxml.jackson.core.JsonEncoding)
The following classes appear as argument class and as parameter class, but are defined by different class loader:
com.fasterxml.jackson.core.JsonEncoding (defined by 'QuarkusClassLoader:Quarkus Base Runtime ClassLoader: TEST@5bf4e32' and 'QuarkusClassLoader:Augmentation Class Loader: DEV@7b4cb9bd')
If one of the method suggestions matches the method you wanted to call, 
then check your class loader setup.
	at io.restassured.internal.RequestSpecificationImpl.body(RequestSpecificationImpl.groovy:753)
	at quarkus.accounts.AccountResourceTest.testCreateAccount(AccountResourceTest.java:69)
```

### Expected behavior

Tests complete without exception

### Actual behavior

_No response_

### How to Reproduce?

https://github.com/jclingan/manning-kube-native-microservices/tree/master/chapter2/account-service is the project.

Run `mvn quarkus:dev`, then press "r" to resume testing.

### Output of `uname -a` or `ver`

Darwin MacBook-Pro 20.6.0 Darwin Kernel Version 20.6.0: Wed Jun 23 00:26:31 PDT 2021; root:xnu-7195.141.2~5/RELEASE_X86_64 x86_64

### Output of `java -version`

openjdk version "11.0.11" 2021-04-20

### GraalVM version (if different from Java)

_No response_

### Quarkus version or git rev

2.1.3.Final and 2.2.1.Final

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

Apache Maven 3.8.1 (05c21c65bdfed0f71a2f2ada8b84da59348c4c5d)

### Additional information

_No response_

Changed files:
core/deployment/src/main/java/io/quarkus/deployment/dev/testing/TestSupport.java

diff --git a/core/deployment/src/main/java/io/quarkus/deployment/dev/testing/TestSupport.java b/core/deployment/src/main/java/io/quarkus/deployment/dev/testing/TestSupport.java
index bbbf37d8acb..1e65b09d078 100644
--- a/core/deployment/src/main/java/io/quarkus/deployment/dev/testing/TestSupport.java
+++ b/core/deployment/src/main/java/io/quarkus/deployment/dev/testing/TestSupport.java
@@ -129,7 +129,7 @@ public void init() {
                         .setAssertionsEnabled(true)
                         .setDisableClasspathCache(false)
                         .setIsolateDeployment(true)
-                        .setBaseClassLoader(getClass().getClassLoader())
+                        .setBaseClassLoader(getClass().getClassLoader().getParent())
                         .setTest(true)
                         .setAuxiliaryApplication(true)
                         .setHostApplicationIsTestOnly(devModeType == DevModeType.TEST_ONLY)
Repository: quarkusio/quarkus
Issue: Wrong logging format being used in PersistenceUnitUtil

### Describe the bug

In class `io.quarkus.hibernate.orm.runtime.PersistenceUnitUtil` , line 69 we have:

```
LOG.warnf("A bean of type %1$s is being retrieved even though it doesn't have a @%2$s qualifier."
                            + " This is deprecated usage and will not work in future versions of Quarkus."
                            + " Annotate this bean with @%2$s(\\"%4$s\\") instead of @%3$s(\\"%4$s\\") to make it future-proof.",
                            beanType.getName(), PersistenceUnitExtension.class.getSimpleName(),
                            PersistenceUnit.class.getSimpleName());
```

This actually throws a `java.util.MissingFormatArgumentException: Format specifier '%4$s'` 

@yrodiere I'll assign to you as it's trivial but I'm not 100% sure of what you meant :)

Spotted reading build logs, should be triggered by test `io.quarkus.it.hibernate.multitenancy.inventory.HibernateNamedPersistenceUnitTest`.. would be interesting to know also why no tests fail.


Changed files:
extensions/hibernate-orm/runtime/src/main/java/io/quarkus/hibernate/orm/runtime/PersistenceUnitUtil.java

diff --git a/extensions/hibernate-orm/runtime/src/main/java/io/quarkus/hibernate/orm/runtime/PersistenceUnitUtil.java b/extensions/hibernate-orm/runtime/src/main/java/io/quarkus/hibernate/orm/runtime/PersistenceUnitUtil.java
index fe48a85363c..8c0d3306e47 100644
--- a/extensions/hibernate-orm/runtime/src/main/java/io/quarkus/hibernate/orm/runtime/PersistenceUnitUtil.java
+++ b/extensions/hibernate-orm/runtime/src/main/java/io/quarkus/hibernate/orm/runtime/PersistenceUnitUtil.java
@@ -70,7 +70,7 @@ public static <T> InjectableInstance<T> legacySingleExtensionInstanceForPersiste
                             + " This is deprecated usage and will not work in future versions of Quarkus."
                             + " Annotate this bean with @%2$s(\\"%4$s\\") instead of @%3$s(\\"%4$s\\") to make it future-proof.",
                             beanType.getName(), PersistenceUnitExtension.class.getSimpleName(),
-                            PersistenceUnit.class.getSimpleName());
+                            PersistenceUnit.class.getSimpleName(), persistenceUnitName);
                 }
             }
         }