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

Address increased build time RSS caused by certificate hot reload #39026

Merged
merged 1 commit into from
Feb 27, 2024

Conversation

cescoffier
Copy link
Member

This PR resolves an issue where the build time RSS increased after implementing the certificate hot reload feature. While the exact cause wasn't pinpointed, several potential culprits were addressed. These include removing the usage of the Mutiny API (regrettably), converting a record class to a regular class, and modifying a Java Stream API usage that relied on method references.

Fix #38919.

This commit resolves an issue where the build time RSS increased after implementing the certificate hot reload feature. While the exact cause wasn't pinpointed, several potential culprits were addressed. These include removing the usage of the Mutiny API (regrettably), converting a record class to a regular class, and modifying a Java Stream API usage that relied on method references.
Copy link
Contributor

@zakkak zakkak left a comment

Choose a reason for hiding this comment

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

LGTM. Let's see how the CI will go.

FYI the changes in the tests are not that important, as making a test bigger is OK. The most important thing is to not get the Quarkus core parts to increase the users' binaries in the end. So the key changes here are probably the ones in TlsCertificateReloader.java

Could you also please report the differences in the numbers reported in the json build output after this patch, like in #38919 (comment)?

Thanks @cescoffier!

@gsmet
Copy link
Member

gsmet commented Feb 27, 2024

Disclaimer: I'm not talking about these particular changes but about the general approach.

While I agree we should be cautious and understand things when these thresholds go (significantly) red, I also think we shouldn't make our code more complicated just for the sake of it.

Typically dropping usage of the Streams API when it's by far the best candidate would be a no no for me. And while I agree we should optimize things, I wouldn't want our code base to go back to Java 1.4 because it's better for native executables.

I'm also not sure spending hours trying to rewrite things to make these thresholds happy is a good investment in the long run.

Let's try to find the right balance here.

@zakkak
Copy link
Contributor

zakkak commented Feb 27, 2024

+1 on what @gsmet said and that's what I tried to say with my FYI note in my review.

However, it's hard to find that balance so we might need to come up with some guidelines, I will open a housekeeping(?) issue later today to track this.

Copy link

quarkus-bot bot commented Feb 27, 2024

Status for workflow Quarkus CI

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

⚠️ Unable to include the stracktraces as the report was too long. See annotations below for the details.
⚠️ Unable to include the failure links as the report was too long. See annotations below for the details.

Failing Jobs

Status Name Step Failures Logs Raw logs Build scan
JVM Tests - JDK 17 Build Failures Logs Raw logs 🚧
JVM Tests - JDK 21 Build Failures Logs Raw logs 🚧
MicroProfile TCKs Tests Verify Failures Logs Raw logs 🚧

Full information is available in the Build summary check run.

Failures

⚙️ JVM Tests - JDK 17 #

- Failing: integration-tests/narayana-lra 

📦 integration-tests/narayana-lra

org.acme.quickstart.lra.LRAParticipantTest.testLRA line 63 - History

org.acme.quickstart.lra.LRAParticipantTest.testLRAStartEnd line 44 - History


⚙️ JVM Tests - JDK 21 #

- Failing: integration-tests/narayana-lra 

📦 integration-tests/narayana-lra

org.acme.quickstart.lra.LRAParticipantTest.testLRA line 63 - History

org.acme.quickstart.lra.LRAParticipantTest.testLRAStartEnd line 44 - History


⚙️ MicroProfile TCKs Tests #

- Failing: tcks/microprofile-lra 

📦 tcks/microprofile-lra

org.eclipse.microprofile.lra.tck.TckCancelOnTests.cancelFromRemoteCall line 160 - History

org.eclipse.microprofile.lra.tck.TckCancelOnTests.cancelOn301 line 120 - History

org.eclipse.microprofile.lra.tck.TckCancelOnTests.cancelOnFamily3xx line 100 - History

org.eclipse.microprofile.lra.tck.TckCancelOnTests.cancelOnFamilyDefault4xx line 68 - History

org.eclipse.microprofile.lra.tck.TckCancelOnTests.cancelOnFamilyDefault5xx line 84 - History

org.eclipse.microprofile.lra.tck.TckCancelOnTests.notCancelOnFamily5xx line 140 - History

org.eclipse.microprofile.lra.tck.TckContextTests.testAfterLRAEnlistmentDuringClosingPhase line 297 - History

org.eclipse.microprofile.lra.tck.TckContextTests.testAsync1Support line 263 - History

org.eclipse.microprofile.lra.tck.TckContextTests.testAsync2Support line 272 - History

org.eclipse.microprofile.lra.tck.TckContextTests.testAsync3Support line 282 - History

org.eclipse.microprofile.lra.tck.TckContextTests.testBasicContextPropagation line 101 - History

org.eclipse.microprofile.lra.tck.TckContextTests.testContextAfterRemoteCalls line 258 - History

org.eclipse.microprofile.lra.tck.TckContextTests.testForget line 156 - History

org.eclipse.microprofile.lra.tck.TckContextTests.testForgetCalledForNestedParticipantsWhenParentIsClosed line 220 - History

org.eclipse.microprofile.lra.tck.TckContextTests.testLeave line 135 - History

org.eclipse.microprofile.lra.tck.TckContextTests.testParentContextAvailable line 190 - History

org.eclipse.microprofile.lra.tck.TckContextTests.testStatus line 112 - History

org.eclipse.microprofile.lra.tck.TckLRATypeTests.mandatoryEndWithLRA line 195 - History

org.eclipse.microprofile.lra.tck.TckLRATypeTests.mandatoryEndWithLRAAtInterface line 346 - History

org.eclipse.microprofile.lra.tck.TckLRATypeTests.mandatoryEndWithLRAAtSuperclass line 497 - History

org.eclipse.microprofile.lra.tck.TckLRATypeTests.mandatoryWithLRA line 118 - History

org.eclipse.microprofile.lra.tck.TckLRATypeTests.mandatoryWithLRAAtInterface line 269 - History

org.eclipse.microprofile.lra.tck.TckLRATypeTests.mandatoryWithLRAAtSuperclass line 420 - History

org.eclipse.microprofile.lra.tck.TckLRATypeTests.neverWithEndLRA line 231 - History

org.eclipse.microprofile.lra.tck.TckLRATypeTests.neverWithEndLRAAtInterface line 382 - History

org.eclipse.microprofile.lra.tck.TckLRATypeTests.neverWithEndLRAAtSuperclass line 533 - History

org.eclipse.microprofile.lra.tck.TckLRATypeTests.neverWithInvalidLRA line 160 - History

org.eclipse.microprofile.lra.tck.TckLRATypeTests.neverWithInvalidLRAAtInterface line 311 - History

org.eclipse.microprofile.lra.tck.TckLRATypeTests.neverWithInvalidLRAAtSuperclass line 462 - History

org.eclipse.microprofile.lra.tck.TckLRATypeTests.neverWithLRA line 154 - History

org.eclipse.microprofile.lra.tck.TckLRATypeTests.neverWithLRAAtInterface line 305 - History

org.eclipse.microprofile.lra.tck.TckLRATypeTests.neverWithLRAAtSuperclass line 456 - History

org.eclipse.microprofile.lra.tck.TckLRATypeTests.notSupportedEndWithRA line 219 - History

org.eclipse.microprofile.lra.tck.TckLRATypeTests.notSupportedEndWithRAAtInterface line 370 - History

org.eclipse.microprofile.lra.tck.TckLRATypeTests.notSupportedEndWithRAAtSuperclass line 521 - History

org.eclipse.microprofile.lra.tck.TckLRATypeTests.notSupportedWithRA line 142 - History

org.eclipse.microprofile.lra.tck.TckLRATypeTests.notSupportedWithRAAtInterface line 293 - History

org.eclipse.microprofile.lra.tck.TckLRATypeTests.notSupportedWithRAAtSuperclass line 444 - History

org.eclipse.microprofile.lra.tck.TckLRATypeTests.requiredEndWithLRA line 171 - History

org.eclipse.microprofile.lra.tck.TckLRATypeTests.requiredEndWithLRAAtInterface line 322 - History

org.eclipse.microprofile.lra.tck.TckLRATypeTests.requiredEndWithLRAAtSuperclass line 473 - History

org.eclipse.microprofile.lra.tck.TckLRATypeTests.requiredEndWithoutLRA line 177 - History

org.eclipse.microprofile.lra.tck.TckLRATypeTests.requiredEndWithoutLRAAtInterface line 328 - History

org.eclipse.microprofile.lra.tck.TckLRATypeTests.requiredEndWithoutLRAAtSuperclass line 479 - History

org.eclipse.microprofile.lra.tck.TckLRATypeTests.requiredWithLRA line 94 - History

org.eclipse.microprofile.lra.tck.TckLRATypeTests.requiredWithLRAAtInterface line 245 - History

org.eclipse.microprofile.lra.tck.TckLRATypeTests.requiredWithLRAAtSuperclass line 396 - History

org.eclipse.microprofile.lra.tck.TckLRATypeTests.requiredWithoutLRA line 100 - History

org.eclipse.microprofile.lra.tck.TckLRATypeTests.requiredWithoutLRAAtInterface line 251 - History

org.eclipse.microprofile.lra.tck.TckLRATypeTests.requiredWithoutLRAAtSuperclass line 402 - History

org.eclipse.microprofile.lra.tck.TckLRATypeTests.requiresEndNewWithLRA line 183 - History

org.eclipse.microprofile.lra.tck.TckLRATypeTests.requiresEndNewWithLRAAtInterface line 334 - History

org.eclipse.microprofile.lra.tck.TckLRATypeTests.requiresEndNewWithLRAAtSuperclass line 485 - History

org.eclipse.microprofile.lra.tck.TckLRATypeTests.requiresEndNewWithoutLRA line 189 - History

org.eclipse.microprofile.lra.tck.TckLRATypeTests.requiresEndNewWithoutLRAAtInterface line 340 - History

org.eclipse.microprofile.lra.tck.TckLRATypeTests.requiresEndNewWithoutLRAAtSuperclass line 491 - History

org.eclipse.microprofile.lra.tck.TckLRATypeTests.requiresNewWithLRA line 106 - History

org.eclipse.microprofile.lra.tck.TckLRATypeTests.requiresNewWithLRAAtInterface line 257 - History

org.eclipse.microprofile.lra.tck.TckLRATypeTests.requiresNewWithLRAAtSuperclass line 408 - History

org.eclipse.microprofile.lra.tck.TckLRATypeTests.requiresNewWithoutLRA line 112 - History

org.eclipse.microprofile.lra.tck.TckLRATypeTests.requiresNewWithoutLRAAtInterface line 263 - History

org.eclipse.microprofile.lra.tck.TckLRATypeTests.requiresNewWithoutLRAAtSuperclass line 414 - History

org.eclipse.microprofile.lra.tck.TckLRATypeTests.supportsEndWithLRA line 207 - History

org.eclipse.microprofile.lra.tck.TckLRATypeTests.supportsEndWithLRAAtInterface line 358 - History

org.eclipse.microprofile.lra.tck.TckLRATypeTests.supportsEndWithLRAAtSuperclass line 509 - History

org.eclipse.microprofile.lra.tck.TckLRATypeTests.supportsWithLRA line 130 - History

org.eclipse.microprofile.lra.tck.TckLRATypeTests.supportsWithLRAAtInterface line 281 - History

org.eclipse.microprofile.lra.tck.TckLRATypeTests.supportsWithLRAAtSuperclass line 432 - History

org.eclipse.microprofile.lra.tck.TckParticipantTests.cancelLraDuringBusinessMethod line 189 - History

org.eclipse.microprofile.lra.tck.TckParticipantTests.testNonJaxRsCompletionStageResponseAndParticipantStatus line 169 - History

org.eclipse.microprofile.lra.tck.TckParticipantTests.testNonJaxRsCompletionStageVoid line 143 - History

org.eclipse.microprofile.lra.tck.TckParticipantTests.validSignaturesChainTest line 115 - History

org.eclipse.microprofile.lra.tck.TckParticipantTests.validWebApplicationExceptionReturnedTest line 81 - History

org.eclipse.microprofile.lra.tck.TckRecoveryTests.testCancelWhenParticipantIsRestarted line 128 - History

org.eclipse.microprofile.lra.tck.TckRecoveryTests.testCancelWhenParticipantIsUnavailable line 168 - History

org.eclipse.microprofile.lra.tck.TckTests.acceptCancelTest line 375 - History

org.eclipse.microprofile.lra.tck.TckTests.acceptCloseTest line 370 - History

org.eclipse.microprofile.lra.tck.TckTests.cancelLRA line 98 - History

org.eclipse.microprofile.lra.tck.TckTests.closeLRA line 118 - History

org.eclipse.microprofile.lra.tck.TckTests.compensateMultiLevelNestedActivity line 173 - History

org.eclipse.microprofile.lra.tck.TckTests.completeMultiLevelNestedActivity line 168 - History

org.eclipse.microprofile.lra.tck.TckTests.dependentLRA line 302 - History

org.eclipse.microprofile.lra.tck.TckTests.join line 211 - History

org.eclipse.microprofile.lra.tck.TckTests.joinLRAViaHeader line 183 - History

org.eclipse.microprofile.lra.tck.TckTests.joinWithOneResourceDifferentMethodTwiceWithCancel line 462 - History

org.eclipse.microprofile.lra.tck.TckTests.joinWithOneResourceDifferentMethodTwiceWithClose line 482 - History

org.eclipse.microprofile.lra.tck.TckTests.joinWithOneResourceSameMethodTwiceWithCancel line 452 - History

org.eclipse.microprofile.lra.tck.TckTests.joinWithOneResourceSameMethodTwiceWithClose line 472 - History

org.eclipse.microprofile.lra.tck.TckTests.joinWithTwoResourcesWithCancel line 501 - History

org.eclipse.microprofile.lra.tck.TckTests.joinWithTwoResourcesWithClose line 492 - History

org.eclipse.microprofile.lra.tck.TckTests.leaveLRA line 268 - History

org.eclipse.microprofile.lra.tck.TckTests.mixedMultiLevelNestedActivity line 178 - History

org.eclipse.microprofile.lra.tck.TckTests.nestedActivity line 128 - History

org.eclipse.microprofile.lra.tck.TckTests.noLRATest line 422 - History

org.eclipse.microprofile.lra.tck.TckTests.testAfterLRAListener line 250 - History

org.eclipse.microprofile.lra.tck.TckTests.testAfterLRAParticipant line 229 - History

org.eclipse.microprofile.lra.tck.TckTests.timeLimit line 322 - History

org.eclipse.microprofile.lra.tck.TckTests.timeLimitWithPreConditionFailed line 361 - History

org.eclipse.microprofile.lra.tck.TckUnknownStatusTests.compensate_retry line 65 - History

org.eclipse.microprofile.lra.tck.TckUnknownStatusTests.complete_retry line 79 - History

org.eclipse.microprofile.lra.tck.TckUnknownTests.compensate_immediate line 74 - History

org.eclipse.microprofile.lra.tck.TckUnknownTests.compensate_retry line 86 - History

org.eclipse.microprofile.lra.tck.TckUnknownTests.complete_immediate line 99 - History

org.eclipse.microprofile.lra.tck.TckUnknownTests.complete_retry line 111 - History

@gsmet
Copy link
Member

gsmet commented Feb 27, 2024

@mmusgrov @marcosgopen I'm not sure what's going on with LRA but all our tests are going red with timeouts.

I think we are using the latest image so there might be a problem with the new version of the images that were deployed to the registry.

See:

2024-02-27T10:46:37.9947425Z 10:46:37 INFO  [tc.qu.io/jbosstm/lra-coordinator:latest] (pool-3-thread-1) Container quay.io/jbosstm/lra-coordinator:latest is starting: 8d7dc4fb04e286e8eedbe14b47e17c1a105b8da913bf4e7775697d7b843f6e97
2024-02-27T10:46:39.1964828Z 10:46:39 INFO  [tc.qu.io/jbosstm/lra-coordinator:latest] (pool-3-thread-1) Container quay.io/jbosstm/lra-coordinator:latest started in PT1.301811459S
2024-02-27T10:46:39.2966650Z 10:46:39 INFO  [or.ac.qu.lr.LRAParticipantTestResourceLifecycle] (pool-3-thread-1) lra.coordinator.url=http://localhost:33058/lra-coordinator
2024-02-27T10:46:39.2968372Z 
2024-02-27T10:46:39.8780656Z 10:46:39 INFO  [io.quarkus] (main) quarkus-integration-test-narayana-lra 999-SNAPSHOT on JVM (powered by Quarkus 999-SNAPSHOT) started in 8.178s. Listening on: http://localhost:8081
2024-02-27T10:46:39.8782663Z 10:46:39 INFO  [io.quarkus] (main) Profile test activated. 
2024-02-27T10:46:39.8784556Z 10:46:39 INFO  [io.quarkus] (main) Installed features: [cdi, narayana-lra, resteasy, resteasy-client, resteasy-jackson, smallrye-context-propagation, vertx]
2024-02-27T10:46:50.8998757Z 10:46:50 WARN  [io.na.lra] (executor-thread-1) LRA025035: The start LRA call failed with cause: null: java.util.concurrent.TimeoutException
2024-02-27T10:46:50.9000567Z 	at java.base/java.util.concurrent.CompletableFuture.timedGet(CompletableFuture.java:1960)
2024-02-27T10:46:50.9001946Z 	at java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2095)
2024-02-27T10:46:50.9003310Z 	at io.narayana.lra.client.NarayanaLRAClient.startLRA(NarayanaLRAClient.java:314)
2024-02-27T10:46:50.9004552Z 	at io.narayana.lra.filter.ServerLRAFilter.startLRA(ServerLRAFilter.java:727)
2024-02-27T10:46:50.9005730Z 	at io.narayana.lra.filter.ServerLRAFilter.filter(ServerLRAFilter.java:302)
2024-02-27T10:46:50.9006894Z 	at io.narayana.lra.filter.ServerLRAFilter_ClientProxy.filter(Unknown Source)
2024-02-27T10:46:50.9008611Z 	at org.jboss.resteasy.core.interception.jaxrs.PreMatchContainerRequestContext.filter(PreMatchContainerRequestContext.java:276)
2024-02-27T10:46:50.9010533Z 	at org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTarget(ResourceMethodInvoker.java:415)
2024-02-27T10:46:50.9012047Z 	at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:378)
2024-02-27T10:46:50.9013556Z 	at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:356)
2024-02-27T10:46:50.9014943Z 	at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:70)
2024-02-27T10:46:50.9016467Z 	at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:429)
2024-02-27T10:46:50.9018065Z 	at org.jboss.resteasy.core.SynchronousDispatcher.lambda$invoke$4(SynchronousDispatcher.java:240)
2024-02-27T10:46:50.9019746Z 	at org.jboss.resteasy.core.SynchronousDispatcher.lambda$preprocess$0(SynchronousDispatcher.java:154)
2024-02-27T10:46:50.9021726Z 	at org.jboss.resteasy.core.interception.jaxrs.PreMatchContainerRequestContext.filter(PreMatchContainerRequestContext.java:321)
2024-02-27T10:46:50.9024197Z 	at org.jboss.resteasy.core.SynchronousDispatcher.preprocess(SynchronousDispatcher.java:157)
2024-02-27T10:46:50.9025871Z 	at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:229)
2024-02-27T10:46:50.9027418Z 	at io.quarkus.resteasy.runtime.standalone.RequestDispatcher.service(RequestDispatcher.java:82)
2024-02-27T10:46:50.9029093Z 	at io.quarkus.resteasy.runtime.standalone.VertxRequestHandler.dispatch(VertxRequestHandler.java:147)
2024-02-27T10:46:50.9030721Z 	at io.quarkus.resteasy.runtime.standalone.VertxRequestHandler$1.run(VertxRequestHandler.java:93)
2024-02-27T10:46:50.9032303Z 	at io.quarkus.vertx.core.runtime.VertxCoreRecorder$14.runWith(VertxCoreRecorder.java:599)
2024-02-27T10:46:50.9033808Z 	at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2513)
2024-02-27T10:46:50.9035270Z 	at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1538)
2024-02-27T10:46:50.9036651Z 	at org.jboss.threads.DelegatingRunnable.run(DelegatingRunnable.java:29)
2024-02-27T10:46:50.9038051Z 	at org.jboss.threads.ThreadLocalResettingRunnable.run(ThreadLocalResettingRunnable.java:29)
2024-02-27T10:46:50.9039520Z 	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
2024-02-27T10:46:50.9040962Z 	at java.base/java.lang.Thread.run(Thread.java:840)
2024-02-27T10:46:50.9041488Z 
2024-02-27T10:46:50.9043936Z 10:46:50 WARN  [io.na.lra] (executor-thread-1) LRA025014: reason 'WebApplicationException start LRA client request failed, try again later': container request for method 'org.acme.quickstart.lra.coordinator.TransactionalResource#startTx': lra: 'context'
2024-02-27T10:46:50.9047377Z 10:46:50 WARN  [io.na.lra] (executor-thread-1) LRA025025: Unable to process LRA annotations: -3: StartFailed (start LRA client request failed, try again later) ()'
2024-02-27T10:47:00.9136336Z 10:47:00 WARN  [io.na.lra] (executor-thread-1) LRA025014: reason 'WebApplicationException null: LRA025001: LRA created with an unexpected status code: 500, coordinator response '{"details":"Error id 6505c1dd-1604-48e8-9ea6-3ac951d1d803-2","stack":""}'': container request for method 'org.acme.quickstart.lra.coordinator.TransactionalResource#doInTx': lra: 'context'
2024-02-27T10:47:00.9141934Z 10:47:00 WARN  [io.na.lra] (executor-thread-1) LRA025025: Unable to process LRA annotations: -3: StartFailed (null: LRA025001: LRA created with an unexpected status code: 500, coordinator response '{"details":"Error id 6505c1dd-1604-48e8-9ea6-3ac951d1d803-2","stack":""}') ()'
2024-02-27T10:47:00.9361858Z [ERROR] Tests run: 2, Failures: 2, Errors: 0, Skipped: 0, Time elapsed: 31.93 s <<< FAILURE! -- in org.acme.quickstart.lra.LRAParticipantTest
2024-02-27T10:47:00.9364335Z [ERROR] org.acme.quickstart.lra.LRAParticipantTest.testLRA -- Time elapsed: 11.02 s <<< FAILURE!
2024-02-27T10:47:00.9365713Z org.opentest4j.AssertionFailedError: expected: <201> but was: <503>
2024-02-27T10:47:00.9367015Z 	at org.junit.jupiter.api.AssertionFailureBuilder.build(AssertionFailureBuilder.java:151)
2024-02-27T10:47:00.9368604Z 	at org.junit.jupiter.api.AssertionFailureBuilder.buildAndThrow(AssertionFailureBuilder.java:132)
2024-02-27T10:47:00.9370063Z 	at org.junit.jupiter.api.AssertEquals.failNotEqual(AssertEquals.java:197)
2024-02-27T10:47:00.9371341Z 	at org.junit.jupiter.api.AssertEquals.assertEquals(AssertEquals.java:150)
2024-02-27T10:47:00.9372558Z 	at org.junit.jupiter.api.AssertEquals.assertEquals(AssertEquals.java:145)
2024-02-27T10:47:00.9373777Z 	at org.junit.jupiter.api.Assertions.assertEquals(Assertions.java:531)
2024-02-27T10:47:00.9375068Z 	at org.acme.quickstart.lra.LRAParticipantTest.testLRA(LRAParticipantTest.java:63)
2024-02-27T10:47:00.9376278Z 	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
2024-02-27T10:47:00.9377598Z 	at io.quarkus.test.junit.QuarkusTestExtension.runExtensionMethod(QuarkusTestExtension.java:1018)
2024-02-27T10:47:00.9379489Z 	at io.quarkus.test.junit.QuarkusTestExtension.interceptTestMethod(QuarkusTestExtension.java:832)
2024-02-27T10:47:00.9380804Z 	at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
2024-02-27T10:47:00.9381931Z 	at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
2024-02-27T10:47:00.9383077Z 	Suppressed: java.util.concurrent.TimeoutException
2024-02-27T10:47:00.9384247Z 		at java.base/java.util.concurrent.CompletableFuture.timedGet(CompletableFuture.java:1960)
2024-02-27T10:47:00.9385711Z 		at java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2095)
2024-02-27T10:47:00.9387114Z 		at io.narayana.lra.client.NarayanaLRAClient.startLRA(NarayanaLRAClient.java:314)
2024-02-27T10:47:00.9388468Z 		at io.narayana.lra.filter.ServerLRAFilter.startLRA(ServerLRAFilter.java:727)
2024-02-27T10:47:00.9389736Z 		at io.narayana.lra.filter.ServerLRAFilter.filter(ServerLRAFilter.java:302)
2024-02-27T10:47:00.9390968Z 		at io.narayana.lra.filter.ServerLRAFilter_ClientProxy.filter(Unknown Source)
2024-02-27T10:47:00.9392732Z 		at org.jboss.resteasy.core.interception.jaxrs.PreMatchContainerRequestContext.filter(PreMatchContainerRequestContext.java:276)
2024-02-27T10:47:00.9394643Z 		at org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTarget(ResourceMethodInvoker.java:415)
2024-02-27T10:47:00.9396334Z 		at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:378)
2024-02-27T10:47:00.9397797Z 		at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:356)
2024-02-27T10:47:00.9399390Z 		at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:70)
2024-02-27T10:47:00.9400831Z 		at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:429)
2024-02-27T10:47:00.9402339Z 		at org.jboss.resteasy.core.SynchronousDispatcher.lambda$invoke$4(SynchronousDispatcher.java:240)
2024-02-27T10:47:00.9419737Z 		at org.jboss.resteasy.core.SynchronousDispatcher.lambda$preprocess$0(SynchronousDispatcher.java:154)
2024-02-27T10:47:00.9421861Z 		at org.jboss.resteasy.core.interception.jaxrs.PreMatchContainerRequestContext.filter(PreMatchContainerRequestContext.java:321)
2024-02-27T10:47:00.9424051Z 		at org.jboss.resteasy.core.SynchronousDispatcher.preprocess(SynchronousDispatcher.java:157)
2024-02-27T10:47:00.9425637Z 		at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:229)
2024-02-27T10:47:00.9427248Z 		at io.quarkus.resteasy.runtime.standalone.RequestDispatcher.service(RequestDispatcher.java:82)
2024-02-27T10:47:00.9429005Z 		at io.quarkus.resteasy.runtime.standalone.VertxRequestHandler.dispatch(VertxRequestHandler.java:147)
2024-02-27T10:47:00.9430755Z 		at io.quarkus.resteasy.runtime.standalone.VertxRequestHandler$1.run(VertxRequestHandler.java:93)
2024-02-27T10:47:00.9432716Z 		at io.quarkus.vertx.core.runtime.VertxCoreRecorder$14.runWith(VertxCoreRecorder.java:599)
2024-02-27T10:47:00.9434187Z 		at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2513)
2024-02-27T10:47:00.9435667Z 		at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1538)
2024-02-27T10:47:00.9437038Z 		at org.jboss.threads.DelegatingRunnable.run(DelegatingRunnable.java:29)
2024-02-27T10:47:00.9438384Z 		at org.jboss.threads.ThreadLocalResettingRunnable.run(ThreadLocalResettingRunnable.java:29)
2024-02-27T10:47:00.9439954Z 		at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
2024-02-27T10:47:00.9441160Z 		at java.base/java.lang.Thread.run(Thread.java:840)
2024-02-27T10:47:00.9441694Z 
2024-02-27T10:47:00.9442690Z [ERROR] org.acme.quickstart.lra.LRAParticipantTest.testLRAStartEnd -- Time elapsed: 10.00 s <<< FAILURE!
2024-02-27T10:47:00.9444150Z org.opentest4j.AssertionFailedError: expected: <201> but was: <500>
2024-02-27T10:47:00.9445456Z 	at org.junit.jupiter.api.AssertionFailureBuilder.build(AssertionFailureBuilder.java:151)
2024-02-27T10:47:00.9447073Z 	at org.junit.jupiter.api.AssertionFailureBuilder.buildAndThrow(AssertionFailureBuilder.java:132)
2024-02-27T10:47:00.9448771Z 	at org.junit.jupiter.api.AssertEquals.failNotEqual(AssertEquals.java:197)
2024-02-27T10:47:00.9449996Z 	at org.junit.jupiter.api.AssertEquals.assertEquals(AssertEquals.java:150)
2024-02-27T10:47:00.9457999Z 	at org.junit.jupiter.api.AssertEquals.assertEquals(AssertEquals.java:145)
2024-02-27T10:47:00.9459343Z 	at org.junit.jupiter.api.Assertions.assertEquals(Assertions.java:531)
2024-02-27T10:47:00.9460739Z 	at org.acme.quickstart.lra.LRAParticipantTest.testLRAStartEnd(LRAParticipantTest.java:44)
2024-02-27T10:47:00.9462053Z 	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
2024-02-27T10:47:00.9463645Z 	at io.quarkus.test.junit.QuarkusTestExtension.runExtensionMethod(QuarkusTestExtension.java:1018)
2024-02-27T10:47:00.9465304Z 	at io.quarkus.test.junit.QuarkusTestExtension.interceptTestMethod(QuarkusTestExtension.java:832)
2024-02-27T10:47:00.9466647Z 	at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
2024-02-27T10:47:00.9467649Z 	at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)

@cescoffier
Copy link
Member Author

@gsmet I'm also seeing: Caused by: com.arjuna.ats.arjuna.exceptions.ObjectStoreException: ARJUNA012225: FileSystemStore::setupStore - cannot access root of object store: /deployments/ObjectStore/ShadowNoFileLockStore/defaultStore/

@cescoffier
Copy link
Member Author

About the PR itself, the code is ok - it's unfortunate but maintainable.

@gsmet gsmet merged commit 36f75be into quarkusio:main Feb 27, 2024
47 of 50 checks passed
@quarkus-bot quarkus-bot bot added this to the 3.9 - main milestone Feb 27, 2024
@cescoffier cescoffier deleted the reduce-build-time-rss branch February 29, 2024 15:55
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.

ImageMetricsITCase.verifyImageMetrics failures in main
3 participants