Skip to content

Conversation

mkouba
Copy link
Contributor

@mkouba mkouba commented Aug 7, 2025

TODO

  • Run qute-benchmarks (I only did a quick local run but didn't notice a significant regression)
  • Verify dependent Quarkiverse projects
    • qute-web
    • roq
    • Renarde

@quarkus-bot quarkus-bot bot added the area/qute The template engine label Aug 7, 2025
@mkouba mkouba force-pushed the qute-gizmo2 branch 4 times, most recently from 0cb2181 to cec77a7 Compare August 11, 2025 09:48
@mkouba mkouba marked this pull request as ready for review August 11, 2025 10:13

This comment has been minimized.

@mkouba
Copy link
Contributor Author

mkouba commented Aug 11, 2025

We need to wait for Gizmo2 Beta5 that contains quarkusio/gizmo#475.

@mkouba
Copy link
Contributor Author

mkouba commented Aug 12, 2025

Both Maven Tests CI jobs failed with java.lang.OutOfMemoryError: Metaspace. @gsmet is it a known issue?

@Ladicek
Copy link
Contributor

Ladicek commented Aug 12, 2025

I have also seen OOM: Metaspace when testing the full Quarkus with rewritten ArC and it feels like it could be caused by Gizmo. I have no idea where to start looking though.

@gsmet
Copy link
Member

gsmet commented Aug 12, 2025

Given you have DevUIQuteBuildTimeDataTest in the set of tests, it looks a bit suspicious.

We might have been just under the limit before though.

@mkouba
Copy link
Contributor Author

mkouba commented Aug 12, 2025

Given you have DevUIQuteBuildTimeDataTest in the set of tests, it looks a bit suspicious.

We might have been just under the limit before though.

@gsmet @Ladicek Ah, I'll take a look!

@Ladicek
Copy link
Contributor

Ladicek commented Aug 12, 2025

We have -Xmx1500m -XX:MaxMetaspaceSize=1500m defined in build-parent/pom.xml. I tried setting both values to 5000m and still hit the OOM :-/

This comment has been minimized.

@mkouba
Copy link
Contributor Author

mkouba commented Aug 12, 2025

Given you have DevUIQuteBuildTimeDataTest in the set of tests, it looks a bit suspicious.

We might have been just under the limit before though.

FTR it's a ClassLoader leak caused by the usage of ClassValue caches in the io.quarkus.gizmo2.impl.Util.

This comment has been minimized.

@gsmet
Copy link
Member

gsmet commented Aug 14, 2025

@radcortez this test io.quarkus.cli.config.SetConfigTest.addEncryptedConfiguration has been failing a few times lately. I'm not sure if the problem is with the encrypted value or the way we decode it but it would be nice to fix it if possible.

@radcortez
Copy link
Member

Strange... I'll have a look.

Copy link
Contributor

@Ladicek Ladicek left a comment

Choose a reason for hiding this comment

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

LGTM. I only checked the Gizmo 1 -> 2 conversion, not the code logic. I added many comments, most of them are just my opinion, but there's nothing wrong.

I also noticed (but forgot to comment) that on may places, you create an empty array of given size and immediately fill it with given values. There's a method newArray() that takes a list of arbitrary values and a mapping function to turn those values into Exprs, which would turn those places into one-liners.

@mkouba
Copy link
Contributor Author

mkouba commented Aug 15, 2025

I also noticed (but forgot to comment) that on may places, you create an empty array of given size and immediately fill it with given values. There's a method newArray() that takes a list of arbitrary values and a mapping function to turn those values into Exprs, which would turn those places into one-liners.

Nice. I actually changed the code to use the variant that accepts a list of Expr but the result should be the same.

Copy link

quarkus-bot bot commented Aug 15, 2025

Status for workflow Quarkus CI

This is the status report for running Quarkus CI on commit 4b1f7bf.

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

📦 extensions/smallrye-reactive-messaging/deployment

io.quarkus.smallrye.reactivemessaging.hotreload.ConnectorChangeTest.testUpdatingConnector - History

  • Expecting actual: ["-6","-7","-9","-10","-11","-12","-13","-14"] to start with: ["-6", "-7", "-8", "-9"] - java.lang.AssertionError
java.lang.AssertionError: 

Expecting actual:
  ["-6","-7","-9","-10","-11","-12","-13","-14"]
to start with:
  ["-6", "-7", "-8", "-9"]

	at io.quarkus.smallrye.reactivemessaging.hotreload.ConnectorChangeTest.testUpdatingConnector(ConnectorChangeTest.java:41)

⚙️ JVM Integration Tests - JDK 17

📦 integration-tests/grpc-hibernate

com.example.grpc.hibernate.VertxBlockingRawTest.shouldAdd - History

  • Condition with Lambda expression in com.example.grpc.hibernate.BlockingRawTestBase was not fulfilled within 30 seconds. - org.awaitility.core.ConditionTimeoutException
org.awaitility.core.ConditionTimeoutException: Condition with Lambda expression in com.example.grpc.hibernate.BlockingRawTestBase was not fulfilled within 30 seconds.
	at org.awaitility.core.ConditionAwaiter.await(ConditionAwaiter.java:167)
	at org.awaitility.core.CallableCondition.await(CallableCondition.java:78)
	at org.awaitility.core.CallableCondition.await(CallableCondition.java:26)
	at org.awaitility.core.ConditionFactory.until(ConditionFactory.java:1160)
	at org.awaitility.core.ConditionFactory.until(ConditionFactory.java:1129)
	at com.example.grpc.hibernate.BlockingRawTestBase.shouldAdd(BlockingRawTestBase.java:59)
	at java.base/java.lang.reflect.Method.invoke(Method.java:569)

@mkouba mkouba merged commit d838ce5 into quarkusio:main Aug 27, 2025
57 checks passed
@quarkus-bot quarkus-bot bot added this to the 3.28 - main milestone Aug 27, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants