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

nitrite test fails to compile to native with Camel 4 and Quarkus 3 #4525

Closed
ppalaga opened this issue Feb 7, 2023 · 6 comments · Fixed by #4551
Closed

nitrite test fails to compile to native with Camel 4 and Quarkus 3 #4525

ppalaga opened this issue Feb 7, 2023 · 6 comments · Fixed by #4551
Assignees
Labels
jakarta Related to Jakarta 9/10, Camel 4 and Quarkus 3 migration
Milestone

Comments

@ppalaga
Copy link
Contributor

ppalaga commented Feb 7, 2023

2023-02-07T15:17:59.8446702Z GraalVM Native Image: Generating 'camel-quarkus-integration-test-nitrite-3.0.0-SNAPSHOT-runner' (executable)...
2023-02-07T15:17:59.8450238Z ========================================================================================================================
2023-02-07T15:18:04.2776120Z [1/7] Initializing...                                                                                   (12.5s @ 0.30GB)
2023-02-07T15:18:04.2789514Z  Version info: 'GraalVM 22.3.1.0-Final Java 17 Mandrel Distribution'
2023-02-07T15:18:04.2792559Z  Java version info: '17.0.6+10'
2023-02-07T15:18:04.2801042Z  C compiler: gcc (redhat, x86_64, 8.5.0)
2023-02-07T15:18:04.2804652Z  Garbage collector: Serial GC
2023-02-07T15:18:04.2821827Z  3 user-specific feature(s)
2023-02-07T15:18:04.2823254Z  - io.quarkus.runner.Feature: Auto-generated class by Quarkus from the existing extensions
2023-02-07T15:18:04.2831125Z  - io.quarkus.runtime.graal.DisableLoggingFeature: Disables INFO logging during the analysis phase for the [org.jboss.threads] categories
2023-02-07T15:18:04.2836163Z  - io.quarkus.runtime.graal.ResourcesFeature: Register each line in META-INF/quarkus-native-resources.txt as a resource on Substrate VM
2023-02-07T15:19:03.7194694Z [2/7] Performing analysis...  []                                                                        (59.1s @ 1.62GB)
2023-02-07T15:19:03.7252417Z   11,340 (92.59%) of 12,248 classes reachable
2023-02-07T15:19:03.7329208Z   14,994 (58.87%) of 25,471 fields reachable
2023-02-07T15:19:03.7624962Z   45,711 (80.78%) of 56,588 methods reachable
2023-02-07T15:19:03.7625449Z    2,466 classes,     0 fields, and     0 methods registered for reflection
2023-02-07T15:19:03.7655219Z 
2023-02-07T15:19:03.7677802Z Fatal error: com.oracle.graal.pointsto.util.AnalysisError$ParsingError: Error encountered while parsing uk.co.jemos.podam.api.PodamFactoryImpl.getParameterValuesForConstructor(java.lang.reflect.Constructor, java.lang.Class, uk.co.jemos.podam.common.ManufacturingContext, java.util.Map, java.lang.reflect.Type[]) 
2023-02-07T15:19:03.7680469Z Parsing context:
2023-02-07T15:19:03.7685180Z    at uk.co.jemos.podam.api.PodamFactoryImpl.getParameterValuesForConstructor(PodamFactoryImpl.java:1749)
2023-02-07T15:19:03.7688835Z    at uk.co.jemos.podam.api.PodamFactoryImpl.instantiatePojo(PodamFactoryImpl.java:382)
2023-02-07T15:19:03.7696205Z    at uk.co.jemos.podam.api.PodamFactoryImpl.manufacturePojoInternal(PodamFactoryImpl.java:505)
2023-02-07T15:19:03.7696964Z    at uk.co.jemos.podam.api.PodamFactoryImpl.doManufacturePojo(PodamFactoryImpl.java:428)
2023-02-07T15:19:03.7701200Z    at uk.co.jemos.podam.api.PodamFactoryImpl.manufacturePojo(PodamFactoryImpl.java:150)
2023-02-07T15:19:03.7704412Z    at org.dizitart.no2.util.DocumentUtils.dummyDocument(DocumentUtils.java:139)
2023-02-07T15:19:03.7706165Z    at org.dizitart.no2.util.ValidationUtils.validateObjectIndexField(ValidationUtils.java:231)
2023-02-07T15:19:03.7706670Z    at org.dizitart.no2.util.ObjectUtils.getIdField(ObjectUtils.java:148)
2023-02-07T15:19:03.7707285Z    at org.dizitart.no2.objects.DefaultObjectRepository.createIndexes(DefaultObjectRepository.java:315)
2023-02-07T15:19:03.7712424Z    at org.dizitart.no2.objects.DefaultObjectRepository.initRepository(DefaultObjectRepository.java:303)
2023-02-07T15:19:03.7713191Z    at org.dizitart.no2.objects.DefaultObjectRepository.<init>(DefaultObjectRepository.java:57)
2023-02-07T15:19:03.7713698Z    at org.dizitart.no2.objects.RepositoryFactory.open(RepositoryFactory.java:46)
2023-02-07T15:19:03.7717473Z    at org.dizitart.no2.Nitrite.getRepository(Nitrite.java:168)
2023-02-07T15:19:03.7720125Z    at org.apache.camel.component.nitrite.NitriteComponent.lambda$createEndpoint$1(NitriteComponent.java:67)
2023-02-07T15:19:03.7723311Z    at org.apache.camel.component.nitrite.NitriteComponent$$Lambda$1447/0x00000007c1a8b5c0.apply(Unknown Source)
2023-02-07T15:19:03.7726454Z    at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
2023-02-07T15:19:03.7728981Z    at java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:992)
2023-02-07T15:19:03.7732575Z    at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
2023-02-07T15:19:03.7733280Z    at java.util.stream.ForEachOps$ForEachTask.compute(ForEachOps.java:290)
2023-02-07T15:19:03.7733781Z    at java.util.concurrent.CountedCompleter.exec(CountedCompleter.java:754)
2023-02-07T15:19:03.7736891Z    at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373)
2023-02-07T15:19:03.7737335Z    at java.util.concurrent.ForkJoinTask.invoke(ForkJoinTask.java:686)
2023-02-07T15:19:03.7737822Z    at java.util.stream.ForEachOps$ForEachOp.evaluateParallel(ForEachOps.java:159)
2023-02-07T15:19:03.7738332Z    at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateParallel(ForEachOps.java:173)
2023-02-07T15:19:03.7738854Z    at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:233)
2023-02-07T15:19:03.7739309Z    at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
2023-02-07T15:19:03.7742839Z    at java.lang.reflect.Executable.sharedToString(Executable.java:122)
2023-02-07T15:19:03.7743418Z    at java.lang.reflect.Method.toString(Method.java:412)
2023-02-07T15:19:03.7746276Z    at java.lang.StringConcatHelper.stringOf(StringConcatHelper.java:453)
2023-02-07T15:19:03.7748619Z    at java.lang.StringConcatHelper.simpleConcat(StringConcatHelper.java:408)
2023-02-07T15:19:03.7754807Z    at com.oracle.svm.core.reflect.target.Target_java_lang_reflect_Method.acquireMethodAccessor(Target_java_lang_reflect_Method.java:76)
2023-02-07T15:19:03.7755507Z    at java.lang.reflect.Method.invoke(Method.java:566)
2023-02-07T15:19:03.7755931Z    at com.oracle.svm.core.containers.Metrics.systemMetrics(Metrics.java:63)
2023-02-07T15:19:03.7758979Z    at com.oracle.svm.core.containers.Container.metrics(Container.java:44)
2023-02-07T15:19:03.7759291Z 
2023-02-07T15:19:03.7761360Z 	at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.util.AnalysisError.parsingError(AnalysisError.java:153)
2023-02-07T15:19:03.7766411Z 	at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.MethodTypeFlow.createFlowsGraph(MethodTypeFlow.java:104)
2023-02-07T15:19:03.7767508Z 	at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.MethodTypeFlow.ensureFlowsGraphCreated(MethodTypeFlow.java:83)
2023-02-07T15:19:03.7773319Z 	at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.MethodTypeFlow.getOrCreateMethodFlowsGraph(MethodTypeFlow.java:65)
2023-02-07T15:19:03.7774184Z 	at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.typestate.DefaultSpecialInvokeTypeFlow.onObservedUpdate(DefaultSpecialInvokeTypeFlow.java:61)
2023-02-07T15:19:03.7778907Z 	at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.TypeFlow.update(TypeFlow.java:562)
2023-02-07T15:19:03.7779486Z 	at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.PointsToAnalysis$1.run(PointsToAnalysis.java:488)
2023-02-07T15:19:03.7782379Z 	at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.util.CompletionExecutor.executeCommand(CompletionExecutor.java:193)
2023-02-07T15:19:03.7790620Z 	at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.util.CompletionExecutor.lambda$executeService$0(CompletionExecutor.java:177)
2023-02-07T15:19:03.7796531Z 	at java.base/java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1395)
2023-02-07T15:19:03.7797047Z 	at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373)
2023-02-07T15:19:03.7802303Z 	at java.base/java.util.concurrent.ForkJoinPool.externalHelpQuiescePool(ForkJoinPool.java:2104)
2023-02-07T15:19:03.7805859Z 	at java.base/java.util.concurrent.ForkJoinPool.awaitQuiescence(ForkJoinPool.java:3321)
2023-02-07T15:19:03.7807974Z 	at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.util.CompletionExecutor.complete(CompletionExecutor.java:243)
2023-02-07T15:19:03.7811496Z 	at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.PointsToAnalysis.doTypeflow(PointsToAnalysis.java:541)
2023-02-07T15:19:03.7816182Z 	at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.PointsToAnalysis.finish(PointsToAnalysis.java:529)
2023-02-07T15:19:03.7816965Z 	at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.AbstractAnalysisEngine.runAnalysis(AbstractAnalysisEngine.java:143)
2023-02-07T15:19:03.7817715Z 	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.runPointsToAnalysis(NativeImageGenerator.java:745)
2023-02-07T15:19:03.7818363Z 	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.doRun(NativeImageGenerator.java:578)
2023-02-07T15:19:03.7823658Z 	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.run(NativeImageGenerator.java:535)
2023-02-07T15:19:03.7826713Z 	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.buildImage(NativeImageGeneratorRunner.java:403)
2023-02-07T15:19:03.7827466Z 	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.build(NativeImageGeneratorRunner.java:580)
2023-02-07T15:19:03.7833000Z 	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.main(NativeImageGeneratorRunner.java:128)
2023-02-07T15:19:03.7838257Z Caused by: org.graalvm.compiler.java.BytecodeParser$BytecodeParserError: com.oracle.graal.pointsto.constraints.UnresolvedElementException: Discovered unresolved type during parsing: javax.validation.Constraint. This error is reported at image build time because class uk.co.jemos.podam.typeManufacturers.TypeManufacturerUtil is registered for linking at image build time by command line
2023-02-07T15:19:03.7842986Z 	at parsing uk.co.jemos.podam.typeManufacturers.TypeManufacturerUtil.findAttributeStrategy(TypeManufacturerUtil.java:90)
2023-02-07T15:19:03.7845750Z 	at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.throwParserError(BytecodeParser.java:2518)
2023-02-07T15:19:03.7846508Z 	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.phases.SharedGraphBuilderPhase$SharedBytecodeParser.throwParserError(SharedGraphBuilderPhase.java:110)
2023-02-07T15:19:03.7847267Z 	at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.iterateBytecodesForBlock(BytecodeParser.java:3393)
2023-02-07T15:19:03.7847966Z 	at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.handleBytecodeBlock(BytecodeParser.java:3345)
2023-02-07T15:19:03.7851715Z 	at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.processBlock(BytecodeParser.java:3190)
2023-02-07T15:19:03.7852387Z 	at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.build(BytecodeParser.java:1138)
2023-02-07T15:19:03.7852958Z 	at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.buildRootMethod(BytecodeParser.java:1030)
2023-02-07T15:19:03.7859284Z 	at jdk.internal.vm.compiler/org.graalvm.compiler.java.GraphBuilderPhase$Instance.run(GraphBuilderPhase.java:97)
2023-02-07T15:19:03.7860051Z 	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.phases.SharedGraphBuilderPhase.run(SharedGraphBuilderPhase.java:84)
2023-02-07T15:19:03.7862988Z 	at jdk.internal.vm.compiler/org.graalvm.compiler.phases.Phase.run(Phase.java:49)
2023-02-07T15:19:03.7863750Z 	at jdk.internal.vm.compiler/org.graalvm.compiler.phases.BasePhase.apply(BasePhase.java:446)
2023-02-07T15:19:03.7864310Z 	at jdk.internal.vm.compiler/org.graalvm.compiler.phases.Phase.apply(Phase.java:42)
2023-02-07T15:19:03.7868409Z 	at jdk.internal.vm.compiler/org.graalvm.compiler.phases.Phase.apply(Phase.java:38)
2023-02-07T15:19:03.7869026Z 	at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.AnalysisParsedGraph.parseBytecode(AnalysisParsedGraph.java:135)
2023-02-07T15:19:03.7872700Z 	at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.meta.AnalysisMethod.ensureGraphParsed(AnalysisMethod.java:685)
2023-02-07T15:19:03.7873577Z 	at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.phases.InlineBeforeAnalysisGraphDecoder.lookupEncodedGraph(InlineBeforeAnalysis.java:180)
2023-02-07T15:19:03.7879098Z 	at jdk.internal.vm.compiler/org.graalvm.compiler.replacements.PEGraphDecoder.doInline(PEGraphDecoder.java:1162)
2023-02-07T15:19:03.7879734Z 	at jdk.internal.vm.compiler/org.graalvm.compiler.replacements.PEGraphDecoder.tryInline(PEGraphDecoder.java:1145)
2023-02-07T15:19:03.7883214Z 	at jdk.internal.vm.compiler/org.graalvm.compiler.replacements.PEGraphDecoder.trySimplifyInvoke(PEGraphDecoder.java:1003)
2023-02-07T15:19:03.7883923Z 	at jdk.internal.vm.compiler/org.graalvm.compiler.replacements.PEGraphDecoder.handleInvoke(PEGraphDecoder.java:957)
2023-02-07T15:19:03.7886604Z 	at jdk.internal.vm.compiler/org.graalvm.compiler.nodes.GraphDecoder.processNextNode(GraphDecoder.java:817)
2023-02-07T15:19:03.7887343Z 	at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.phases.InlineBeforeAnalysisGraphDecoder.processNextNode(InlineBeforeAnalysis.java:240)
2023-02-07T15:19:03.7888084Z 	at jdk.internal.vm.compiler/org.graalvm.compiler.nodes.GraphDecoder.decode(GraphDecoder.java:548)
2023-02-07T15:19:03.7888852Z 	at jdk.internal.vm.compiler/org.graalvm.compiler.replacements.PEGraphDecoder.decode(PEGraphDecoder.java:833)
2023-02-07T15:19:03.7892168Z 	at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.phases.InlineBeforeAnalysis.decodeGraph(InlineBeforeAnalysis.java:98)
2023-02-07T15:19:03.7892865Z 	at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.MethodTypeFlowBuilder.parse(MethodTypeFlowBuilder.java:179)
2023-02-07T15:19:03.7896421Z 	at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.MethodTypeFlowBuilder.apply(MethodTypeFlowBuilder.java:349)
2023-02-07T15:19:03.7897138Z 	at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.MethodTypeFlow.createFlowsGraph(MethodTypeFlow.java:93)
2023-02-07T15:19:03.7897626Z 	... 21 more
2023-02-07T15:19:03.7900315Z Caused by: com.oracle.graal.pointsto.constraints.UnresolvedElementException: Discovered unresolved type during parsing: javax.validation.Constraint. This error is reported at image build time because class uk.co.jemos.podam.typeManufacturers.TypeManufacturerUtil is registered for linking at image build time by command line
2023-02-07T15:19:03.7903436Z 	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.phases.SharedGraphBuilderPhase$SharedBytecodeParser.reportUnresolvedElement(SharedGraphBuilderPhase.java:333)
2023-02-07T15:19:03.7907309Z 	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.phases.SharedGraphBuilderPhase$SharedBytecodeParser.handleUnresolvedType(SharedGraphBuilderPhase.java:288)
2023-02-07T15:19:03.7912453Z 	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.phases.SharedGraphBuilderPhase$SharedBytecodeParser.handleUnresolvedLoadConstant(SharedGraphBuilderPhase.java:259)
2023-02-07T15:19:03.7913228Z 	at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.genLoadConstant(BytecodeParser.java:3945)
2023-02-07T15:19:03.7915846Z 	at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.processBytecode(BytecodeParser.java:5124)
2023-02-07T15:19:03.7916523Z 	at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.iterateBytecodesForBlock(BytecodeParser.java:3385)
2023-02-07T15:19:03.7919082Z 	... 46 more
@ppalaga ppalaga added the jakarta Related to Jakarta 9/10, Camel 4 and Quarkus 3 migration label Feb 7, 2023
ppalaga added a commit that referenced this issue Feb 7, 2023
ppalaga added a commit that referenced this issue Feb 8, 2023
ppalaga added a commit that referenced this issue Feb 8, 2023
@zhfeng
Copy link
Contributor

zhfeng commented Feb 10, 2023

Hmm, the transitive dependency uk.co.jemos.podam:podam only supports Java EE 7 and I doubt they have no plan to upgrade, see mtedone/podam#311

Our tests work in JVM mode because the @Id field class is primitive. see

public class EmployeeMappable extends Employee implements Mappable {
@Id
private long empId;

So there is no need to call dummyDocument in
https://github.com/nitrite/nitrite-java/blob/3.x/nitrite/src/main/java/org/dizitart/no2/util/ValidationUtils.java#L210

But during native building, it needs to static analyst all the branches. I belive we can catch the same issue in JVM mode if we use a Java class as an @Id filed.

Anyway, I can try to add a subsitution on DocumentUtils.dummyDocument to throw an UnSupported exception. But there is still a limitation on camel-nitrite, I think we need to add some notes in camel docs @davsclaus ?

And it seems that nitrite-4.x will move uk.co.jemos.podam:podam to test dependency but there is no any release for 4.x.

@zhfeng
Copy link
Contributor

zhfeng commented Feb 10, 2023

Add a substitution on DocumentUtils is wrong. I need more investigation.

zhfeng added a commit to zhfeng/camel-quarkus that referenced this issue Feb 10, 2023
zhfeng added a commit to zhfeng/camel-quarkus that referenced this issue Feb 10, 2023
@zhfeng zhfeng self-assigned this Feb 10, 2023
@zhfeng
Copy link
Contributor

zhfeng commented Feb 10, 2023

OK, after adding some substitutions in PodamFactoryImpl and ArrayTypeManufacturerImpl, the native tests work again. But I have to say our tests are very limited and some features in nitrite could not work in native even JVM mode.

aldettinger pushed a commit that referenced this issue Feb 10, 2023
@ppalaga
Copy link
Contributor Author

ppalaga commented Feb 11, 2023

Thanks @zhfeng, great that we have a workaround now!

Out of my curiosity: Isn't podam by any chance soaking to runtime class path by mistake? Data mocking sounds after a test dependency that should actually not be there. Or is it only required for running our tests?

@zhfeng
Copy link
Contributor

zhfeng commented Feb 12, 2023

@ppalaga No, podam is required by nitrite with compile scope. I don't think our tests depend on it. After go through the codes of nitrite, it seems that podam is used to validated the POJO class during creat the indexing. It looks like podam will be removed in nitrite 4.x but since there is no any release, I can not take a check.

[INFO]    \- org.dizitart:nitrite:jar:3.4.4:compile
[INFO]       +- com.h2database:h2-mvstore:jar:1.4.200:compile
[INFO]       +- org.objenesis:objenesis:jar:2.6:compile
[INFO]       +- com.fasterxml.jackson.core:jackson-databind:jar:2.14.1:compile
[INFO]       |  \- com.fasterxml.jackson.core:jackson-core:jar:2.14.1:compile
[INFO]       +- com.fasterxml.jackson.core:jackson-annotations:jar:2.14.1:compile
[INFO]       +- org.jasypt:jasypt:jar:1.9.3:compile
[INFO]       +- com.squareup.okhttp3:okhttp:jar:3.14.9:compile
[INFO]       |  \- com.squareup.okio:okio:jar:1.17.2:compile
[INFO]       \- uk.co.jemos.podam:podam:jar:7.2.3.RELEASE:compile
[INFO]          +- net.jcip:jcip-annotations:jar:1.0:compile
[INFO]          +- javax.annotation:javax.annotation-api:jar:1.3.2:compile
[INFO]          \- org.apache.commons:commons-lang3:jar:3.12.0:compile

@ppalaga
Copy link
Contributor Author

ppalaga commented Feb 12, 2023

Thanks for investigating, @zhfeng !

@zbendhiba zbendhiba added this to the 3.0.0-M1 milestone Mar 14, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
jakarta Related to Jakarta 9/10, Camel 4 and Quarkus 3 migration
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants