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

Context Propagation performance issue and init issue #39988

Merged
merged 4 commits into from
Apr 15, 2024

Conversation

FroMage
Copy link
Member

@FroMage FroMage commented Apr 10, 2024

The original issue I wanted to fix is a performance issue noticed by @franz1981 at smallrye/smallrye-context-propagation#443 (comment), because in Quarkus, we don't need a per-classloader Map since we have a single class loader and a single ContextManager.

Doing this, I noticed that some extensions were using CP between static init and runtime init. They were relying on CP auto-booting itself during that period, so it "worked", but it had only a partial number of contexts to propagate, and it started an ExecutorService instead of using the Quarkus one, which is only available at runtime init.

There were four types of problematic users:

  • Extensions that did not wait for Mutiny or CP to be initialised. For this I added a ContextPropagationInitializedBuildItem to consume.
  • Extensions that used CP during class init, which caused problems when building a native-image which initialises classes at build time. For this I delayed the problematic class initialisation until runtime.
  • Extensions that used Vert.x, via Mutiny before runtime init, such as spring-cloud-config-client which is a config-reading extension, so it can't run before runtime init. I didn't find how to make this wait for our initialisation, I don't think it's possible, because the executor needs config loaded to be created, so it's a chicken/egg problem.
  • The MP TCK which fails in OT for some reason that I'm not sure is really caused by this.

For the last two issues, I created a no-config/no-executor ContextManager that lives between static and runtime init, before it's replaced by the properly initialised one.

This is not perfect, because this might be used by something initialised too early and live on past runtime init and keep not propagating any contexts, but this was already the case before this PR. I could log something, but it'd have to be a WARN and any user of spring-cloud-config-client would have that warning. Perhaps it's acceptable?

At least, if anybody tries to use the temporary executor, they will get a meaningful exception to let them know not to do it. And we avoid creating an executor, also.

Anyway, let's see how far CI goes, with this.

Note that Mutiny suffers from the same issue that a lot of extensions are using it before it's fully initialised (for the same reason) and it also doesn't have a build item to depend on.

FroMage added 4 commits April 8, 2024 15:32
Because Quarkus doesn't care about one-per CL and Franz said this is a
bottleneck for some reason
It uses Mutiny, which requires CP to be initialised
…during boot

Because some extensions (only known one is spring-cloud-config-client)
use Vert.x via Mutiny before runtime init is done. Mutiny and CP are
both not set up yet, due to missing executor, but I'm starting CP with
zero contexts and an executor which throws with an explicit error
message, which should be enough to boot until runtime is properly set
up.
Copy link

quarkus-bot bot commented Apr 10, 2024

Status for workflow Quarkus CI

This is the status report for running Quarkus CI on commit 08ba1d1.

✅ The latest workflow run for the pull request has completed successfully.

It should be safe to merge provided you have a look at the other checks in the summary.

You can consult the Develocity build scans.


Flaky tests - Develocity

⚙️ JVM Tests - JDK 17

📦 extensions/micrometer/deployment

io.quarkus.micrometer.deployment.binder.VertxTcpMetricsNoClientMetricsTest.testTcpMetricsWithoutClientMetrics - History

  • event executor terminated - java.util.concurrent.RejectedExecutionException
java.util.concurrent.RejectedExecutionException: event executor terminated
	at io.netty.util.concurrent.SingleThreadEventExecutor.reject(SingleThreadEventExecutor.java:934)
	at io.netty.util.concurrent.SingleThreadEventExecutor.offerTask(SingleThreadEventExecutor.java:351)
	at io.netty.util.concurrent.SingleThreadEventExecutor.addTask(SingleThreadEventExecutor.java:344)
	at io.netty.util.concurrent.SingleThreadEventExecutor.execute(SingleThreadEventExecutor.java:836)
	at io.netty.util.concurrent.SingleThreadEventExecutor.execute0(SingleThreadEventExecutor.java:827)
	at io.netty.util.concurrent.SingleThreadEventExecutor.execute(SingleThreadEventExecutor.java:817)
	at io.vertx.core.impl.EventLoopExecutor.execute(EventLoopExecutor.java:35)

⚙️ JVM Tests - JDK 21

📦 extensions/smallrye-reactive-messaging-kafka/deployment

io.quarkus.smallrye.reactivemessaging.kafka.deployment.dev.KafkaDevServicesDevModeTestCase.sseStream - History

  • Assertion condition defined as a Lambda expression in io.quarkus.smallrye.reactivemessaging.kafka.deployment.dev.KafkaDevServicesDevModeTestCase Expecting size of: [] to be greater than or equal to 2 but was 0 within 10 seconds. - org.awaitility.core.ConditionTimeoutException
org.awaitility.core.ConditionTimeoutException: 
Assertion condition defined as a Lambda expression in io.quarkus.smallrye.reactivemessaging.kafka.deployment.dev.KafkaDevServicesDevModeTestCase 
Expecting size of:
  []
to be greater than or equal to 2 but was 0 within 10 seconds.
	at org.awaitility.core.ConditionAwaiter.await(ConditionAwaiter.java:167)
	at org.awaitility.core.AssertionCondition.await(AssertionCondition.java:119)
	at org.awaitility.core.AssertionCondition.await(AssertionCondition.java:31)

@FroMage
Copy link
Member Author

FroMage commented Apr 11, 2024

@franz1981 can you profile this to see if it solves your issue?

@franz1981
Copy link
Contributor

@FroMage yep, just verified that it brought the same performance improvement of the original branch (which is still the same - but wasn't fixing the other things you mentioned in the first comment!). When we brought it in we will know, by tomorrow, if it has other effects if its changes impact quick-start config or getting-started (are the tests we have for daily regression checks, along with others)

Copy link
Contributor

@franz1981 franz1981 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@FroMage
Copy link
Member Author

FroMage commented Apr 15, 2024

At least 1 approving review is required by reviewers with write access.

@franz1981 you don't have write access? @geoand perhaps can review? @gsmet perhaps we want to grant @franz1981 reviewing power?

@geoand
Copy link
Contributor

geoand commented Apr 15, 2024

I could log something, but it'd have to be a WARN and any user of spring-cloud-config-client would have that warning. Perhaps it's acceptable?

I would not want that because using this extension is perfectly legit and warning the user about something they have no control about does not make sense IMHO

Copy link
Contributor

@geoand geoand left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great!

@geoand geoand merged commit ba15f8e into quarkusio:main Apr 15, 2024
50 checks passed
@quarkus-bot quarkus-bot bot added this to the 3.10 - main milestone Apr 15, 2024
@FroMage
Copy link
Member Author

FroMage commented Apr 17, 2024

I would not want that because using this extension is perfectly legit and warning the user about something they have no control about does not make sense IMHO

It would not be good for this extension, for sure. But it would be good if any other extension turns out to be using CP or Mutiny before they're initialised. Oh well, hopefully we'll remember that if something weird happens :)

Dairdevil pushed a commit to Dairdevil/quarkus that referenced this pull request Apr 19, 2024
commit 6960d9e
Merge: 9a6644f 37fbf8a
Author: Dairdevil <[email protected]>
Date:   Fri Apr 19 14:24:14 2024 +0100

    Merge branch 'main' into feature/fabric8-split-package-resolved

commit 9a6644f
Author: Alasdair Preston <[email protected]>
Date:   Fri Apr 19 14:21:22 2024 +0100

    Remove explicitly ignored split packages

commit 37fbf8a
Merge: c85f5e2 09d77d0
Author: Guillaume Smet <[email protected]>
Date:   Fri Apr 19 11:50:57 2024 +0200

    Merge pull request quarkusio#40120 from dmlloyd/fix-40047

    Prevent double-warning when using deprecated properties

commit c85f5e2
Merge: 3afccc5 1c9f618
Author: Guillaume Smet <[email protected]>
Date:   Fri Apr 19 11:42:10 2024 +0200

    Merge pull request quarkusio#40145 from gwenneg/issue-40042

    Do not increment metrics on CaffeineCache#getIfPresent call

commit 3afccc5
Merge: 7497fef c70c45e
Author: Martin Kouba <[email protected]>
Date:   Fri Apr 19 10:11:29 2024 +0200

    Merge pull request quarkusio#40146 from mkouba/issue-39590

    WebSockets Next: configuration updates

commit c70c45e
Author: Martin Kouba <[email protected]>
Date:   Thu Apr 18 21:11:56 2024 +0200

    WebSockets Next: configuration updates

    - remove unimplemented timeout
    - add compression support/level
    - add max message size
    - also invoke error handlers for connection exceptions
    - resolves quarkusio#39590

commit 1c9f618
Author: Gwenneg Lepage <[email protected]>
Date:   Thu Apr 18 19:49:19 2024 +0200

    Do not increment metrics on CaffeineCache#getIfPresent call

commit 7497fef
Merge: 572f286 8df6fcb
Author: George Gastaldi <[email protected]>
Date:   Thu Apr 18 12:05:48 2024 -0300

    Merge pull request quarkusio#40117 from Sanne/KillSecurityManager

    Remove support for the SecurityManager

commit 572f286
Merge: fc2151b e59693a
Author: Guillaume Smet <[email protected]>
Date:   Thu Apr 18 16:34:12 2024 +0200

    Merge pull request quarkusio#40141 from gsmet/fix-license-url

    Fix license URL in JReleaser config

commit e59693a
Author: Guillaume Smet <[email protected]>
Date:   Thu Apr 18 16:33:33 2024 +0200

    Fix license URL in JReleaser config

commit fc2151b
Merge: 3cfba41 9840da1
Author: George Gastaldi <[email protected]>
Date:   Thu Apr 18 10:41:02 2024 -0300

    Merge pull request quarkusio#40136 from mkouba/issue-40089

    Qute type-safe messages: add convenient way to localize enum constants

commit 3cfba41
Merge: 9b29cc7 fc12627
Author: Guillaume Smet <[email protected]>
Date:   Thu Apr 18 13:47:02 2024 +0200

    Merge pull request quarkusio#40130 from gsmet/test-release-wf

    Make test release workflow more consistent with release

commit 9b29cc7
Merge: 200652e e44d7a7
Author: Guillaume Smet <[email protected]>
Date:   Thu Apr 18 13:46:50 2024 +0200

    Merge pull request quarkusio#40135 from tsegismont/patch-2

    Update kafka doc: Emitter

commit 9840da1
Author: Martin Kouba <[email protected]>
Date:   Thu Apr 18 12:58:08 2024 +0200

    Qute type-safe messages: add convenient way to localize enum constants

    - resolves quarkusio#40089

commit 200652e
Merge: 25dac45 71ee011
Author: Stéphane Épardaud <[email protected]>
Date:   Thu Apr 18 12:24:28 2024 +0200

    Merge pull request quarkusio#39510 from wowselim/5667-update-default-values-for-bcrypt-mapper

    Update default values for salt & iteration index

commit e44d7a7
Author: Thomas Segismont <[email protected]>
Date:   Thu Apr 18 11:12:48 2024 +0200

    Update kafka doc: Emitter

    `Emitter` is not an annotation.

commit 25dac45
Merge: 621d8b2 3315867
Author: Guillaume Smet <[email protected]>
Date:   Thu Apr 18 08:36:29 2024 +0200

    Merge pull request quarkusio#40115 from gsmet/exclude-wallpapers

    Exclude wallpapers from the preview

commit 621d8b2
Merge: 8fd116d b4d152e
Author: Guillaume Smet <[email protected]>
Date:   Thu Apr 18 08:36:06 2024 +0200

    Merge pull request quarkusio#40126 from quarkusio/dependabot/gradle/devtools/gradle/com.gradle.develocity-3.17.2

    Bump com.gradle.develocity from 3.17.1 to 3.17.2 in /devtools/gradle

commit fc12627
Author: Guillaume Smet <[email protected]>
Date:   Thu Apr 18 08:34:07 2024 +0200

    Make test release workflow more consistent with release

commit b4d152e
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Wed Apr 17 19:55:00 2024 +0000

    Bump com.gradle.develocity from 3.17.1 to 3.17.2 in /devtools/gradle

    Bumps com.gradle.develocity from 3.17.1 to 3.17.2.

    ---
    updated-dependencies:
    - dependency-name: com.gradle.develocity
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...

    Signed-off-by: dependabot[bot] <[email protected]>

commit 71ee011
Author: Selim <[email protected]>
Date:   Sat Mar 16 23:44:15 2024 +0300

    update default values for salt & iteration index

commit 8fd116d
Merge: 21bb7fb 0258098
Author: Guillaume Smet <[email protected]>
Date:   Wed Apr 17 18:07:07 2024 +0200

    Merge pull request quarkusio#39361 from appiepollo14/main

    Support custom Liquibase credentials

commit 0258098
Author: Guillaume Smet <[email protected]>
Date:   Wed Apr 17 16:04:12 2024 +0200

    Adjust the new Liquibase tests a bit

    Not sure exactly what was going wrong but I had to create two users to
    make things work and also make sure everything was done in one go.

commit e11a8b5
Author: asjervanasten <[email protected]>
Date:   Sun Mar 3 21:07:57 2024 +0100

    Allows to use specific datasource credentials for Liquibase

    Fixes quarkusio#31214

commit 09d77d0
Author: David M. Lloyd <[email protected]>
Date:   Wed Apr 17 08:01:35 2024 -0500

    Prevent double-warning when using deprecated properties

    Fixes quarkusio#40047

commit 21bb7fb
Merge: bbdc601 7e229d4
Author: Guillaume Smet <[email protected]>
Date:   Wed Apr 17 14:37:14 2024 +0200

    Merge pull request quarkusio#40001 from gastaldi/signed_jars

    Un-sign modified dependency JARs when filtering

commit bbdc601
Merge: c58cfee b4ae2ce
Author: Guillaume Smet <[email protected]>
Date:   Wed Apr 17 14:33:14 2024 +0200

    Merge pull request quarkusio#39908 from gsmet/flaky-dev-mojo-it

    Isolate testThatNewResourcesAreServed in FlakyDevMojoIT

commit c58cfee
Merge: 7d78792 0879d5e
Author: Guillaume Smet <[email protected]>
Date:   Wed Apr 17 14:32:09 2024 +0200

    Merge pull request quarkusio#40041 from geoand/config-notify

    Notify radcortez on config issues

commit 7d78792
Merge: a8d3b17 6afb990
Author: Guillaume Smet <[email protected]>
Date:   Wed Apr 17 14:28:35 2024 +0200

    Merge pull request quarkusio#40109 from cescoffier/custom-native-it

    Introduce workflow for testing GraalVM variants

commit 8df6fcb
Author: Sanne Grinovero <[email protected]>
Date:   Wed Apr 17 12:09:51 2024 +0100

    Remove support for the SecurityManager

commit 3315867
Author: Guillaume Smet <[email protected]>
Date:   Wed Apr 17 10:42:43 2024 +0200

    Exclude wallpapers from the preview

commit a8d3b17
Merge: 7f99015 9da5774
Author: Georgios Andrianakis <[email protected]>
Date:   Wed Apr 17 09:31:48 2024 +0300

    Merge pull request quarkusio#40106 from aloubyansky/parallel-dep-resolution

    Incubating implementation of a more efficient ApplicationModel resolver for Maven projects

commit 7f99015
Merge: 1e73223 b9207f7
Author: Georgios Andrianakis <[email protected]>
Date:   Wed Apr 17 09:26:55 2024 +0300

    Merge pull request quarkusio#40024 from holly-cummins/annotation-processor-tests

    Skeleton unit tests for annotation processor

commit 1e73223
Merge: efcf654 29a0588
Author: Ozan Gunalp <[email protected]>
Date:   Wed Apr 17 00:03:52 2024 +0200

    Merge pull request quarkusio#40108 from ozangunalp/smallrye_rm_4_21

    Bump smallrye-reactive-messaging.version from 4.20.0 to 4.21.0

commit efcf654
Merge: 35c2e9f 171a793
Author: Sergey Beryozkin <[email protected]>
Date:   Tue Apr 16 22:06:44 2024 +0100

    Merge pull request quarkusio#40111 from sberyozkin/smallrye-jwt-4.5.1

    Bump smallrye-jwt version to 4.5.1

commit 35c2e9f
Merge: 82379e9 b9be05f
Author: Sergey Beryozkin <[email protected]>
Date:   Tue Apr 16 17:50:18 2024 +0100

    Merge pull request quarkusio#40086 from IvanPuntev/feature/jtw-private-key-as-string

    Adding possibility to supply the jwt private key as a string

commit 82379e9
Merge: ce2e87f 2710238
Author: Georgios Andrianakis <[email protected]>
Date:   Tue Apr 16 19:50:10 2024 +0300

    Merge pull request quarkusio#40033 from geoand/runner-cl-improvements

    Improve loading of classes in RunnerClassLoader

commit ce2e87f
Merge: 32f1a21 561212e
Author: Guillaume Smet <[email protected]>
Date:   Tue Apr 16 17:46:41 2024 +0200

    Merge pull request quarkusio#40074 from MichalMaler/logging-QE-review

    Applying the QE feedback to the Logging guide

commit 32f1a21
Merge: f0e6a40 2c0d16b
Author: Guillaume Smet <[email protected]>
Date:   Tue Apr 16 17:45:49 2024 +0200

    Merge pull request quarkusio#40096 from mkouba/issue-40083

    ArC: skip warning about invalid startup for producer methods

commit 171a793
Author: Sergey Beryozkin <[email protected]>
Date:   Tue Apr 16 16:27:35 2024 +0100

    Bump smallrye-jwt version to 4.5.1

commit b9be05f
Author: Ivan Puntev <[email protected]>
Date:   Mon Apr 15 19:26:10 2024 +0300

    Adding possibility to supply the jwt private key as a string.

commit 6afb990
Author: Clement Escoffier <[email protected]>
Date:   Mon Apr 15 09:46:54 2024 +0200

    Introduce workflow for testing GraalVM variants

    This commit introduces a new workflow tailored for
     testing GraalVM variants. Derived from the
     existing incremental workflow, it focuses on
     executing native integration tests with selected
      GraalVM variants such as CE, EE, Mandrel, Liberica,
       and versions 17, 21, and 22.

    This workflow is designed specifically for
    testing purposes and should be run on-demand
    rather than being triggered with every PR.
     It's recommended to execute this workflow from
      a fork to conserve QuarkusIO CI resources.

commit 29a0588
Author: Ozan Gunalp <[email protected]>
Date:   Tue Apr 16 16:32:42 2024 +0200

    Bump smallrye-reactive-messaging.version from 4.20.0 to 4.21.0

commit f0e6a40
Merge: 4e04f52 e430046
Author: Guillaume Smet <[email protected]>
Date:   Tue Apr 16 15:38:08 2024 +0200

    Merge pull request quarkusio#40107 from jedla97/update-yaml-config

    Update datasource yaml config in docs

commit 4e04f52
Merge: 96007c9 af00b5f
Author: Guillaume Smet <[email protected]>
Date:   Tue Apr 16 15:09:34 2024 +0200

    Merge pull request quarkusio#40105 from amusarra/amusarra-patch-1

    Docs: update deploying-to-openshift.adoc for build option

commit e430046
Author: Jakub Jedlicka <[email protected]>
Date:   Tue Apr 16 14:54:16 2024 +0200

    Update datasource yaml config in docs

commit 9da5774
Author: Alexey Loubyansky <[email protected]>
Date:   Thu Jan 11 08:31:14 2024 +0100

    Incubating implementation of a more efficient ApplicationModel resolver
    for Maven projects

commit af00b5f
Author: Antonio Musarra <[email protected]>
Date:   Tue Apr 16 14:18:03 2024 +0200

    Update deploying-to-openshift.adoc

    Replace the build option -Dquarkus.kubernetes.deploy=true with -Dquarkus.openshift.deploy=true

commit 96007c9
Merge: 0bfcab2 d56a625
Author: George Gastaldi <[email protected]>
Date:   Tue Apr 16 08:19:06 2024 -0300

    Merge pull request quarkusio#40101 from mkouba/qute-i18n-enum-test

    Qute: type-safe messages - add test for localized enum

commit 0bfcab2
Merge: d040fff a329189
Author: Guillaume Smet <[email protected]>
Date:   Tue Apr 16 12:26:48 2024 +0200

    Merge pull request quarkusio#40038 from karesti/infinispan-15.0.1

    Updates to Infinispan 15.0.1.Final

commit d040fff
Merge: 8612234 5d07fbd
Author: Guillaume Smet <[email protected]>
Date:   Tue Apr 16 12:26:32 2024 +0200

    Merge pull request quarkusio#40018 from cescoffier/fix-native-its

    Fix various IT modules and add them to the CI matrices

commit 8612234
Merge: cb01f5a b1cc21b
Author: Georgios Andrianakis <[email protected]>
Date:   Tue Apr 16 13:09:45 2024 +0300

    Merge pull request quarkusio#40094 from geoand/quarkusio#40052

    Support `FileUpload` as multipart type in REST Client

commit cb01f5a
Merge: 1bd3fa3 2de7152
Author: Guillaume Smet <[email protected]>
Date:   Tue Apr 16 11:51:33 2024 +0200

    Merge pull request quarkusio#40057 from Malandril/fix-dev-db-restart

    Fix datasource devservices restarting

commit d56a625
Author: Martin Kouba <[email protected]>
Date:   Tue Apr 16 11:30:54 2024 +0200

    Qute: type-safe messages - add test for localized enum

    - related to quarkusio#40089
    - also use the convenient TemplateInstance#setLocale() method

commit 1bd3fa3
Merge: 0b84af7 8b1094e
Author: Jan Martiska <[email protected]>
Date:   Tue Apr 16 11:30:25 2024 +0200

    Merge pull request quarkusio#40073 from jmini/patch-2

    Explain how logging can be configured in the smallrye-graphql-client guide

commit 8b1094e
Author: Jérémie Bresson <[email protected]>
Date:   Mon Apr 15 14:50:27 2024 +0200

    docs: mention logging in smallrye-graphql-client

commit 0b84af7
Merge: 516b0b8 ff346be
Author: Guillaume Smet <[email protected]>
Date:   Tue Apr 16 09:53:00 2024 +0200

    Merge pull request quarkusio#40088 from ynojima/patch-19

    Correct asciidoc syntax error

commit ff346be
Author: Yoshikazu Nojima <[email protected]>
Date:   Tue Apr 16 10:55:48 2024 +0900

    Correct asciidoc syntax error

commit 516b0b8
Merge: c922e41 82f7b20
Author: Guillaume Smet <[email protected]>
Date:   Tue Apr 16 09:51:55 2024 +0200

    Merge pull request quarkusio#40082 from gsmet/footnote-downstream

    Rewrite footnotes for downstream documentation

commit 2c0d16b
Author: Martin Kouba <[email protected]>
Date:   Tue Apr 16 09:49:06 2024 +0200

    ArC: skip warning about invalid startup for producer methods

    - resolves quarkusio#40083

commit 561212e
Author: Michal Maléř <[email protected]>
Date:   Mon Apr 15 14:30:11 2024 +0200

    Applying the QE feedback to the Logging guide

    Signed-off-by: Michal Maléř <[email protected]>

commit b1cc21b
Author: Georgios Andrianakis <[email protected]>
Date:   Tue Apr 16 10:11:21 2024 +0300

    Update multipart support documentation

commit 3adb838
Author: Georgios Andrianakis <[email protected]>
Date:   Tue Apr 16 09:31:28 2024 +0300

    Support FileUpload as multipart type in REST Client

    Closes: quarkusio#40052

commit c922e41
Merge: f56b5c3 3740264
Author: Guillaume Smet <[email protected]>
Date:   Tue Apr 16 09:15:46 2024 +0200

    Merge pull request quarkusio#40093 from geoand/rest-client-doc

    Remove useless section in REST Client doc

commit 3740264
Author: Georgios Andrianakis <[email protected]>
Date:   Tue Apr 16 08:34:50 2024 +0300

    Remove useless section in REST Client doc

commit f56b5c3
Merge: 3b97e89 8afd81c
Author: Sergey Beryozkin <[email protected]>
Date:   Mon Apr 15 21:17:34 2024 +0100

    Merge pull request quarkusio#40056 from sberyozkin/oidc_token_certificate_validator

    Add OIDC TokenCertificateValidator

commit 82f7b20
Author: Guillaume Smet <[email protected]>
Date:   Mon Apr 15 18:11:25 2024 +0200

    Rewrite footnotes for downstream documentation

    The modern version of footnotes is not supported in the downstream
    tooling and we can't use the older version in our doc as it triggers
    warnings.
    Thus we rewrite the new format to the old format specifically for
    downstream doc.

commit 3b97e89
Merge: 6139e8a f0c5435
Author: George Gastaldi <[email protected]>
Date:   Mon Apr 15 12:48:43 2024 -0300

    Merge pull request quarkusio#40017 from gastaldi/qute_template_locale

    Introduce `TemplateInstance#setLocale` and `TemplateInstance#setVariant`

commit 7e229d4
Author: George Gastaldi <[email protected]>
Date:   Wed Apr 10 21:19:34 2024 -0300

    Unsign modified dependency JARs when filtering

    Add test for JarResultBuildStep#filterJarFile

commit 6139e8a
Merge: 8bd1c82 43e92f3
Author: Georgios Andrianakis <[email protected]>
Date:   Mon Apr 15 17:17:44 2024 +0300

    Merge pull request quarkusio#40068 from geoand/markers

    Introduce markers for static and runtime init recorder methods

commit 2de7152
Author: Thomas Canava <[email protected]>
Date:   Sat Apr 13 00:27:26 2024 +0200

    Fix datasource devservices restarting quarkusio#40015

commit 8bd1c82
Merge: c2c42dd 986ad73
Author: Martin Kouba <[email protected]>
Date:   Mon Apr 15 15:53:01 2024 +0200

    Merge pull request quarkusio#40067 from mkouba/qute-windows-native-resource-fix

    Qute: fix NativeImageResourceBuildItem registration on Windows

commit 5d07fbd
Author: Clement Escoffier <[email protected]>
Date:   Thu Apr 11 15:27:00 2024 +0200

    Fix various IT modules and add them to the CI matrices

    - Fix the gRPC Test Random Port IT (cannot use injection)
    - Fix the virtual thread webauthn IT (cannot use injection)
    - Fix the opentelemetry redis instrumentation IT (still unable to retrieve the exception)

commit c2c42dd
Merge: ba15f8e 6979a5a
Author: Max Rydahl Andersen <[email protected]>
Date:   Mon Apr 15 14:59:26 2024 +0200

    Merge pull request quarkusio#39953 from ia3andy/web-doc

    Introduce Quarkus for the Web documentation

commit ba15f8e
Merge: 1e7403a 08ba1d1
Author: Georgios Andrianakis <[email protected]>
Date:   Mon Apr 15 15:51:37 2024 +0300

    Merge pull request quarkusio#39988 from FroMage/cp-perf-manager

    Context Propagation performance issue and init issue

commit 6979a5a
Author: Andy Damevin <[email protected]>
Date:   Mon Apr 15 14:36:29 2024 +0200

    Apply suggestions from code review

    Co-authored-by: Max Rydahl Andersen <[email protected]>

commit 1e7403a
Merge: ed82c3f 2cde5a6
Author: Ladislav Thon <[email protected]>
Date:   Mon Apr 15 13:20:09 2024 +0200

    Merge pull request quarkusio#39837 from Ladicek/arc-avoid-thread-locals

    ArC: replace thread locals with fields in CreationalContextImpl

commit ed82c3f
Merge: 5871b82 75ad6a5
Author: Guillaume Smet <[email protected]>
Date:   Mon Apr 15 13:08:06 2024 +0200

    Merge pull request quarkusio#40053 from gsmet/fix-show-more-show-less

    Fix collapsing in config reference

commit f0c5435
Author: George Gastaldi <[email protected]>
Date:   Fri Apr 12 15:20:33 2024 -0300

    Introduce TemplateInstance.setVariant

commit 9f66268
Author: George Gastaldi <[email protected]>
Date:   Thu Apr 11 10:01:47 2024 -0300

    Introduce TemplateInstance.setLocale

    Co-authored-by: Martin Kouba <[email protected]>

commit c80d8c5
Author: Andy Damevin <[email protected]>
Date:   Mon Apr 15 11:06:07 2024 +0200

    Make Qute doc more intuitive

commit 43e92f3
Author: Georgios Andrianakis <[email protected]>
Date:   Mon Apr 15 11:48:04 2024 +0300

    Replace comments about recorder method execution with markers

commit 986ad73
Author: Martin Kouba <[email protected]>
Date:   Mon Apr 15 10:45:36 2024 +0200

    Qute: fix NativeImageResourceBuildItem registration on Windows

    - previously, a NativeImageResourceBuildItem with a wrong path was
    produced for a template located in a nested directory

commit fd34e44
Author: Georgios Andrianakis <[email protected]>
Date:   Mon Apr 15 11:44:02 2024 +0300

    Introduce markers for static and runtime init recorder methods

    These are meant to replace the comments found in various recorder
    methods

commit 8afd81c
Author: Sergey Beryozkin <[email protected]>
Date:   Fri Apr 12 20:15:21 2024 +0100

    Add OIDC TokenCertificateValidator

commit 0879d5e
Author: Georgios Andrianakis <[email protected]>
Date:   Sat Apr 13 14:42:37 2024 +0300

    Add matching config issues based on title

commit b4ae2ce
Author: Guillaume Smet <[email protected]>
Date:   Fri Apr 5 14:21:55 2024 +0200

    Isolate testThatNewResourcesAreServed in FlakyDevMojoIT

    Also modernize things a bit now that we are using Java 17+.

commit 75ad6a5
Author: Guillaume Smet <[email protected]>
Date:   Fri Apr 12 19:03:13 2024 +0200

    Fix collapsing in config reference

    I'm not sure when it got broken but the current toggling is not working
    very well at least in some browsers.
    Using good old add/remove was able to fix it so I didn't dig too much
    either.

commit 2cde5a6
Author: Ladislav Thon <[email protected]>
Date:   Tue Apr 2 16:24:31 2024 +0200

    ArC: replace thread locals with fields in CreationalContextImpl

commit 2710238
Author: Georgios Andrianakis <[email protected]>
Date:   Fri Apr 12 10:07:27 2024 +0300

    Improve loading of classes in RunnerClassLoader

    This ClassLoader is already parallel capable, so just mark it as such.
    Furthermore, we define the package without using the ClassLoader lock
    by utilizing getDefinedPackage and checking for duplicate definitions

    Co-authored-by: David M. Lloyd <[email protected]>

commit 4c76b0c
Author: Georgios Andrianakis <[email protected]>
Date:   Fri Apr 12 14:18:52 2024 +0300

    Notify radcortez on config issues

commit a329189
Author: Katia Aresti <[email protected]>
Date:   Fri Apr 12 10:55:57 2024 +0200

    Updates to Infinispan 15.0.1.Final

commit b9207f7
Author: Holly Cummins <[email protected]>
Date:   Thu Apr 11 17:22:11 2024 +0100

    Add skeleton tests for annotation processor

commit d0c14cd
Author: Holly Cummins <[email protected]>
Date:   Thu Apr 11 17:27:32 2024 +0100

    Formatting only

commit ef0592b
Author: Andy Damevin <[email protected]>
Date:   Tue Apr 9 14:59:30 2024 +0200

    Apply suggestions from code review

    Co-authored-by: Guillaume Smet <[email protected]>

commit 08ba1d1
Author: Stéphane Épardaud <[email protected]>
Date:   Wed Apr 10 15:13:31 2024 +0200

    CP: set up a temporary no-context/no-executor ContextManagerProvider during boot

    Because some extensions (only known one is spring-cloud-config-client)
    use Vert.x via Mutiny before runtime init is done. Mutiny and CP are
    both not set up yet, due to missing executor, but I'm starting CP with
    zero contexts and an executor which throws with an explicit error
    message, which should be enough to boot until runtime is properly set
    up.

commit b9cc3c2
Author: Stéphane Épardaud <[email protected]>
Date:   Tue Apr 9 15:03:56 2024 +0200

    Delay FT class init at runtime so CP is initialised

commit ad06f24
Author: Stéphane Épardaud <[email protected]>
Date:   Tue Apr 9 15:03:33 2024 +0200

    Make sure OIDC is set up after CP

    It uses Mutiny, which requires CP to be initialised

commit 3122557
Author: Andy Damevin <[email protected]>
Date:   Mon Apr 8 17:19:58 2024 +0200

    Introduce Quarkus for the Web documentation

commit eb6b1ff
Author: Stéphane Épardaud <[email protected]>
Date:   Mon Apr 8 15:17:29 2024 +0200

    Make a custom ContextManagerProvider with a single manager

    Because Quarkus doesn't care about one-per CL and Franz said this is a
    bottleneck for some reason
@Ladicek
Copy link
Contributor

Ladicek commented Jun 6, 2024

Added the backport labels due to https://issues.redhat.com/browse/QUARKUS-4477, although technically, to fix that bug, only one commit from this PR is necessary (b9cc3c2).

@gsmet
Copy link
Member

gsmet commented Aug 7, 2024

We backported to 3.8 the commits about OIDC and FT initialization but not the other two.

@gsmet gsmet modified the milestones: 3.10.0.CR1, 3.8.6 Aug 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants