quarkus icon indicating copy to clipboard operation
quarkus copied to clipboard

Register all public methods of lambda handlers for query

Open zakkak opened this issue 11 months ago • 5 comments

  • Improve amazon lambda test by using a nested class
  • Add ability to register all public methods for query in native
  • Register all public methods of lambda handlers for query

Needed in order to detect the handle method at runtime using getMethods(). Without a org.graalvm.nativeimage.MissingReflectionRegistrationError being thrown when using -H:ThrowMissingRegistrationErrors=

Related to https://github.com/quarkusio/quarkus/issues/41995

zakkak avatar Jan 14 '25 13:01 zakkak


:waning_crescent_moon: This workflow status is outdated as a new workflow run has been triggered.


Status for workflow Quarkus CI

This is the status report for running Quarkus CI on commit 591de00118647d23799048e192e60e73fab27a12.

:white_check_mark: 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

:gear: JVM Tests - JDK 17 Windows

:package: integration-tests/opentelemetry-quickstart

io.quarkus.it.opentelemetry.OpenTelemetryDisabledTest.buildTimeDisabled - History

  • Condition with Lambda expression in io.quarkus.it.opentelemetry.OpenTelemetryDisabledTest was not fulfilled within 200 milliseconds. - org.awaitility.core.ConditionTimeoutException
org.awaitility.core.ConditionTimeoutException: Condition with Lambda expression in io.quarkus.it.opentelemetry.OpenTelemetryDisabledTest was not fulfilled within 200 milliseconds.
	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:1006)
	at org.awaitility.core.ConditionFactory.until(ConditionFactory.java:975)
	at io.quarkus.it.opentelemetry.OpenTelemetryDisabledTest.buildTimeDisabled(OpenTelemetryDisabledTest.java:29)
	at java.base/java.lang.reflect.Method.invoke(Method.java:569)

:gear: Native Tests - HTTP

:package: 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:789)
	at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
	at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)

quarkus-bot[bot] avatar Jan 14 '25 20:01 quarkus-bot[bot]

@gsmet can you please have a look (or assign someone else who can?). Thanks.

zakkak avatar Jan 27 '25 11:01 zakkak

@gsmet this slipped through the cracks can you please have a look?

zakkak avatar Feb 24 '25 12:02 zakkak

Status for workflow Quarkus CI

This is the status report for running Quarkus CI on commit 8233788f2e94d4e1a0d19eb833d5350abeb3c16f.

:white_check_mark: 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

:gear: MicroProfile TCKs Tests

:package: tcks/microprofile-lra

:x: org.eclipse.microprofile.lra.tck.TckRecoveryTests.testCancelWhenParticipantIsUnavailable - History

  • Expecting the metric Compensated callback was called Expected: a value equal to or greater than <1> but: <0> was less than <1> - java.lang.AssertionError
java.lang.AssertionError: 
Expecting the metric Compensated callback was called
Expected: a value equal to or greater than <1>
     but: <0> was less than <1>
	at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:20)
	at org.eclipse.microprofile.lra.tck.TckRecoveryTests.assertMetricCallbackCalled(TckRecoveryTests.java:210)
	at org.eclipse.microprofile.lra.tck.TckRecoveryTests.testCancelWhenParticipantIsUnavailable(TckRecoveryTests.java:195)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

quarkus-bot[bot] avatar Oct 23 '25 12:10 quarkus-bot[bot]

@zakkak is this something still worth considering?

gastaldi avatar Dec 04 '25 13:12 gastaldi

@zakkak is this something still worth considering?

Given the move to registering the complete metadata for reflection types in https://github.com/oracle/graal/pull/12521 this seems obsolete.

zakkak avatar Dec 15 '25 12:12 zakkak