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

[3.15] 3.15.2 backports 3 #44476

Merged
merged 36 commits into from
Nov 14, 2024
Merged

[3.15] 3.15.2 backports 3 #44476

merged 36 commits into from
Nov 14, 2024

Conversation

gsmet
Copy link
Member

@gsmet gsmet commented Nov 13, 2024

Please don't merge, I will merge it myself.

This is not the final payload, I still need to work on some individual items.

dependabot bot and others added 22 commits November 13, 2024 13:05
Bumps `microprofile-reactive-streams-operators.version` from 3.0 to 3.0.1.

Updates `org.eclipse.microprofile.reactive-streams-operators:microprofile-reactive-streams-operators-api` from 3.0 to 3.0.1
- [Release notes](https://github.com/eclipse/microprofile-reactive-streams-operators/releases)
- [Commits](eclipse/microprofile-reactive-streams-operators@3.0...3.0.1)

Updates `org.eclipse.microprofile.reactive-streams-operators:microprofile-reactive-streams-operators-core` from 3.0 to 3.0.1
- [Release notes](https://github.com/eclipse/microprofile-reactive-streams-operators/releases)
- [Commits](eclipse/microprofile-reactive-streams-operators@3.0...3.0.1)

---
updated-dependencies:
- dependency-name: org.eclipse.microprofile.reactive-streams-operators:microprofile-reactive-streams-operators-api
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.eclipse.microprofile.reactive-streams-operators:microprofile-reactive-streams-operators-core
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
(cherry picked from commit bb9af16)
Bumps `hibernate-orm.version` from 6.6.0.Final to 6.6.1.Final.

Updates `org.hibernate.orm:hibernate-core` from 6.6.0.Final to 6.6.1.Final
- [Release notes](https://github.com/hibernate/hibernate-orm/releases)
- [Changelog](https://github.com/hibernate/hibernate-orm/blob/6.6.1/changelog.txt)
- [Commits](hibernate/hibernate-orm@6.6.0...6.6.1)

Updates `org.hibernate.orm:hibernate-graalvm` from 6.6.0.Final to 6.6.1.Final
- [Release notes](https://github.com/hibernate/hibernate-orm/releases)
- [Changelog](https://github.com/hibernate/hibernate-orm/blob/6.6.1/changelog.txt)
- [Commits](hibernate/hibernate-orm@6.6.0...6.6.1)

Updates `org.hibernate.orm:hibernate-envers` from 6.6.0.Final to 6.6.1.Final
- [Release notes](https://github.com/hibernate/hibernate-orm/releases)
- [Changelog](https://github.com/hibernate/hibernate-orm/blob/6.6.1/changelog.txt)
- [Commits](hibernate/hibernate-orm@6.6.0...6.6.1)

Updates `org.hibernate.orm:hibernate-jpamodelgen` from 6.6.0.Final to 6.6.1.Final
- [Release notes](https://github.com/hibernate/hibernate-orm/releases)
- [Changelog](https://github.com/hibernate/hibernate-orm/blob/6.6.1/changelog.txt)
- [Commits](hibernate/hibernate-orm@6.6.0...6.6.1)

Updates `org.hibernate:hibernate-jpamodelgen` from 6.6.0.Final to 6.6.1.Final
- [Release notes](https://github.com/hibernate/hibernate-orm/releases)
- [Changelog](https://github.com/hibernate/hibernate-orm/blob/6.6.1/changelog.txt)
- [Commits](hibernate/hibernate-orm@6.6.0...6.6.1)

Updates `org.hibernate.orm:hibernate-community-dialects` from 6.6.0.Final to 6.6.1.Final
- [Release notes](https://github.com/hibernate/hibernate-orm/releases)
- [Changelog](https://github.com/hibernate/hibernate-orm/blob/6.6.1/changelog.txt)
- [Commits](hibernate/hibernate-orm@6.6.0...6.6.1)

---
updated-dependencies:
- dependency-name: org.hibernate.orm:hibernate-core
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.hibernate.orm:hibernate-graalvm
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.hibernate.orm:hibernate-envers
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.hibernate.orm:hibernate-jpamodelgen
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.hibernate:hibernate-jpamodelgen
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.hibernate.orm:hibernate-community-dialects
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
(cherry picked from commit 9640b89)
(cherry picked from commit 5ae6c3b)
(cherry picked from commit 4f02189)
- even if only mail template record is used
- get rid of unnecessary programmatic lookup in MailTemplateProducer
- fixes quarkusio#43518

(cherry picked from commit 3c243a6)
(cherry picked from commit c9ea0c6)
- fixes quarkusio#43489
- consider default methods in class hierarchy; previously, interface default methods were only considered if a
ValueResolver was generated for an interface
- also consider inherited fields in a class hierarchy

(cherry picked from commit bc206a1)
(cherry picked from commit aa6bf6c)
RESTEasy Classic's MP RestClient implementation produces annotations
at runtime, so they are not created by ArC and therefore don't extend
`AbstractAnnotationLiteral`. At the same time, that implementation
produces an `ArcInvocationContext` and puts interceptor bindings
into its context map under the ArC key.

Some places may expect that an `ArcInvocationContext` would always
contain ArC-created `AbstractAnnotationLiteral` instances, but alas,
per the description above, that is not the case.

There are multiple options for fixing that collision. My preferred one
would be to get rid of `AbstractAnnotationLiteral` and treat all
annotations uniformly. That unfortunately has negative performance
implications on the `CacheInterceptor`, so is not an option yet [1].

This commit chooses another path: it modifies the only place in Quarkus
that actually depends on `AbstractAnnotationLiteral` to check whether
the `Set<AbstractAnnotationLiteral>` actually contains instances of
`AbstractAnnotationLiteral`. I hope that before more places in Quarkus
start depending on `AbstractAnnotationLiteral`, we can get rid of it.

This commit only checks the first annotation in the set, because
if the bindings come from RESTEasy Classic, then none of them are
instances of `AbstractAnnotationLiteral`, and if they come from ArC,
then all of them are instances of `AbstractAnnotationLiteral`.

[1] The performance issue (JDK-8180450) is fixed in JDK 23 and has
    not been backported to any LTS release as of this writing.

(cherry picked from commit 6a4fbd6)
(cherry picked from commit cd4d579)
No change at runtime, as 7.0.3.Final is identical to 7.0.1.Final except
for some build plugins.

This is mainly useful to allow rebuilding Quarkus and all its
dependencies from source, as 7.0.1.Final has build-time dependencies on
artifacts that were hosted on JCenter and are no longer available.

(cherry picked from commit 8a0f9e4)
Avoids writing a null bean name to the bean archive, which causes a
later build failure.

Fixes quarkusio#43825

(cherry picked from commit df4696b)
@gsmet gsmet added the area/infra internal and infrastructure related issues label Nov 13, 2024
@gsmet gsmet self-assigned this Nov 13, 2024
@quarkus-bot quarkus-bot bot changed the title 3.15.2 backports 3 [3.15] 3.15.2 backports 3 Nov 13, 2024
@quarkus-bot quarkus-bot bot added area/arc Issue related to ARC (dependency injection) area/cache area/cli Related to quarkus cli (not maven/gradle/etc.) area/core area/dependencies Pull requests that update a dependency file labels Nov 13, 2024
RapTho and others added 2 commits November 13, 2024 17:27
docs: 3 more required imports for /fruits GET endpoint
(cherry picked from commit 337ba3e)
(cherry picked from commit 029db46)

This comment has been minimized.

Copy link

github-actions bot commented Nov 13, 2024

🙈 The PR is closed and the preview is expired.

This comment has been minimized.

@rsvoboda
Copy link
Member

rsvoboda commented Nov 14, 2024

@michalvavrik we may need you to look into RepeatedPermissionsAllowedTest. ed536e8 is backported in this PR but it may require some additional changed to backported too.

@gsmet
Copy link
Member Author

gsmet commented Nov 14, 2024

The error is the following:

Caused by: io.vertx.core.json.DecodeException: Failed to decode:Unexpected character ('%' (code 37)): was expecting double-quote to start field name
 at [Source: REDACTED (`StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION` disabled); line: 1, column: 2]
	at io.quarkus.vertx.runtime.jackson.QuarkusJacksonJsonCodec.fromParser(QuarkusJacksonJsonCodec.java:128)
	at io.quarkus.vertx.runtime.jackson.QuarkusJacksonJsonCodec.fromString(QuarkusJacksonJsonCodec.java:95)
	at io.vertx.core.json.JsonObject.fromJson(JsonObject.java:1262)
	at io.vertx.core.json.JsonObject.<init>(JsonObject.java:51)
	... 21 more
Caused by: com.fasterxml.jackson.core.JsonParseException: Unexpected character ('%' (code 37)): was expecting double-quote to start field name
 at [Source: REDACTED (`StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION` disabled); line: 1, column: 2]
	at com.fasterxml.jackson.core.JsonParser._constructReadException(JsonParser.java:2648)
	at com.fasterxml.jackson.core.base.ParserMinimalBase._reportUnexpectedChar(ParserMinimalBase.java:685)
	at com.fasterxml.jackson.core.json.ReaderBasedJsonParser._handleOddName(ReaderBasedJsonParser.java:1910)
	at com.fasterxml.jackson.core.json.ReaderBasedJsonParser.nextFieldName(ReaderBasedJsonParser.java:940)
	at com.fasterxml.jackson.databind.deser.std.MapDeserializer._readAndBindStringKeyMap(MapDeserializer.java:596)
	at com.fasterxml.jackson.databind.deser.std.MapDeserializer.deserialize(MapDeserializer.java:449)
	at com.fasterxml.jackson.databind.deser.std.MapDeserializer.deserialize(MapDeserializer.java:32)
	at com.fasterxml.jackson.databind.deser.DefaultDeserializationContext.readRootValue(DefaultDeserializationContext.java:342)
	at com.fasterxml.jackson.databind.ObjectMapper._readValue(ObjectMapper.java:4881)
	at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3035)
	at io.quarkus.vertx.runtime.jackson.QuarkusJacksonJsonCodec.fromParser(QuarkusJacksonJsonCodec.java:125)

I think we should really drop the log silencing in this test as it's going to be very hard to understand what's going on when the test fails.

@michalvavrik
Copy link
Member

michalvavrik commented Nov 14, 2024

@michalvavrik we may need you to look into RepeatedPermissionsAllowedTest. ed536e8 is backported in this PR but it may require some additional changed to backported too.

these failures tells you that security checks are not performed eagerly; @gsmet is this test failing on main or is it flaky on main? If not, I think I need to look into differences between 3.16 and 3.15.

I think we should really drop the log silencing in this test as it's going to be very hard to understand what's going on when the test fails.

@gsmet this is the reason why I added the silencing #43017. I don't think you will get any useful information if the test is not failing or when the test is failing and it is not flaky; anyway, you know CI possibilities better than I do, if it is fine, let's enable it. btw, the log message above didn't provide me information that I didn't already know from 500 :-)

@michalvavrik
Copy link
Member

@gsmet @rsvoboda it is wild guess, but I think I know where the issue is, In 3.16 I think I changed utils and on the current main, the change was only needed at one place. however on 3.15 it is probably needed in more than one place. it should be pretty trivial, I'll look in an hour and report back.

@michalvavrik
Copy link
Member

If you add this commit 255ffdb in addition to the commits you already have, the failure will be fixed.

michalvavrik and others added 8 commits November 14, 2024 13:34
- 25 -> 10; the Quartz thread pool is not used to execute scheduled
methods anyway

(cherry picked from commit a1e65b1)
This is extremely important as some recipes are additive and changing
the order will affect the result.
I noticed that because a project updated from 3.5 to 3.15 was updated to
use quarkus-resteasy-client-jackson instead of
quarkus-rest-client-jackson due to the recipes not applied in order.

(cherry picked from commit c211c89)
- Follow up from quarkusio@235f0a7

(cherry picked from commit bcb01b2)
…rator

ArC-generated classes for framework beans are by default _not_ application
classes. This causes problems in hierarchical classloader environments
(dev/test mode) when there is an application decorator that applies to
the framework bean.

This commit fixes that issue by turning the ArC-generated classes for framework
beans into application classes whenever an application decorator applies. This
makes package access impossible, which is an unfortunate downside.

The problem doesn't exist in a flat classloading environment, such as prod mode.

(cherry picked from commit f9b2164)
Signed-off-by: Phillip Kruger <[email protected]>
(cherry picked from commit ebe0750)
@gsmet
Copy link
Member Author

gsmet commented Nov 14, 2024

@michalvavrik I amended the commit with your additional change and the test passes locally, thanks!

btw, the log message above didn't provide me information that I didn't already know from 500

No really, you never know. It could have been a completely different issue. I think we need something better than disabling 500 entirely as we need logging to understand what's going on. If not for you, for other people having to understand what's going on.

@michalvavrik
Copy link
Member

No really, you never know. It could have been a completely different issue. I think we need something better than disabling 500 entirely as we need logging to understand what's going on. If not for you, for other people having to understand what's going on.

Understood, I re-read that commit and there is .body("{%$$#!#@") // assures checks are eager which seemed clear to me, but now that I think about it, it's probably not that clear for whoever comes after me till they play with the test. Alright, thanks

Copy link

quarkus-bot bot commented Nov 14, 2024

Status for workflow Quarkus Documentation CI

This is the status report for running Quarkus Documentation CI on commit 85900e9.

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

Warning

There are other workflow runs running, you probably need to wait for their status before merging.

@rsvoboda
Copy link
Member

JPA oracle native failed with

Error: The heap snapshot verifier discovered a type not marked as reachable: AnalysisType<MemoryType[] -> HotSpotType<[Ljava/lang/management/MemoryType;, resolved>, allocated: false, inHeap: false, reachable: false>
com.oracle.graal.pointsto.util.AnalysisError: The heap snapshot verifier discovered a type not marked as reachable: AnalysisType<MemoryType[] -> HotSpotType<[Ljava/lang/management/MemoryType;, resolved>, allocated: false, inHeap: false, reachable: false>

This comment has been minimized.

Copy link

quarkus-bot bot commented Nov 14, 2024

Status for workflow Quarkus CI

This is the status report for running Quarkus CI on commit 85900e9.

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


Flaky tests - Develocity

⚙️ Native Tests - HTTP

📦 integration-tests/rest-client-reactive

io.quarkus.it.rest.client.BasicTestIT.shouldCreateClientSpans - History

  • expected: <1> but was: <2> - org.opentest4j.AssertionFailedError
org.opentest4j.AssertionFailedError: expected: <1> but was: <2>
	at io.quarkus.it.rest.client.BasicTest.shouldCreateClientSpans(BasicTest.java:216)
	at java.base/java.lang.reflect.Method.invoke(Method.java:569)
	at io.quarkus.test.junit.QuarkusTestExtension.interceptTestMethod(QuarkusTestExtension.java:812)
	at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
	at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)

@gsmet gsmet merged commit 61eedcf into quarkusio:3.15 Nov 14, 2024
55 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/arc Issue related to ARC (dependency injection) area/cache area/cli Related to quarkus cli (not maven/gradle/etc.) area/core area/dependencies Pull requests that update a dependency file area/devtools Issues/PR related to maven, gradle, platform and cli tooling/plugins area/documentation area/graphics area/grpc gRPC area/hibernate-orm Hibernate ORM area/infra internal and infrastructure related issues area/mailer area/oidc area/panache area/platform Issues related to definition and interaction with Quarkus Platform area/qute The template engine area/rest area/scheduler area/security area/tracing area/undertow area/vertx triage/flaky-test
Projects
None yet
Development

Successfully merging this pull request may close these issues.