Skip to content

Stork related classes initialized in Quarkus 3.20 with rest client #47337

@rsvoboda

Description

@rsvoboda

Describe the bug

Stork related classes (io/quarkus/runner/recorded/SmallRyeStorkProcessor) are initialized in Quarkus 3.20 application with rest client, while stork is not being used

I was playing with new AsyncProfiler 4 and noticed that Quarkus 3.20 has Stork related classes in CPU FlameGraph. I was using https://github.com/quarkus-qe/quarkus-startstop/blob/main/app-full-microprofile/pom.xml application

I didn't see Stork related classes when using Quarkus 3.15.4 or 3.21.2. Quarkus 3.20 is LTS, thus reporting the issue.

Image

Expected behavior

No Stork related classes get initialized as it's not actively used

Actual behavior

Stork classes get initialized

How to Reproduce?

git clone https://github.com/quarkus-qe/quarkus-startstop

wget https://github.com/async-profiler/async-profiler/releases/download/v4.0/async-profiler-4.0-macos.zip
unzip -q async-profiler-4.0-macos.zip
ASYNC_PROFILER=$PWD/async-profiler-4.0-macos
build () {
  QUARKUS_VERSION=$1
  mvn clean package -f /Users/rsvoboda/git/quarkus-startstop/app-full-microprofile -Dquarkus.version=${QUARKUS_VERSION}
  rm -rf quarkus-app-${QUARKUS_VERSION}
  mv /Users/rsvoboda/git/quarkus-startstop/app-full-microprofile/target/quarkus-app quarkus-app-${QUARKUS_VERSION}
}
startupCPU () {
  QUARKUS_VERSION=$1
  java -agentpath:${ASYNC_PROFILER}/lib/libasyncProfiler.dylib=start,event=cpu,file=startup-profile-cpu-${QUARKUS_VERSION}.html -jar quarkus-app-${QUARKUS_VERSION}/quarkus-run.jar &
  PID=$!
  sleep 3 && kill $PID
}
build 3.20.0
startupCPU 3.20.0

build 3.15.4
startupCPU 3.15.4

build 3.21.2
startupCPU 3.21.2

open startup*.html

Output of uname -a or ver

macOS

Output of java -version

Java 21

Quarkus version or git rev

Quarkus 3.20.0

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

No response

Additional information

No response

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions