The google-bigquerry extension is unable to build a native image due to missing dependencies.
Upon discussion with engineering, this is most likely due to Netty version being upgraded to 4.1.108.Final causing this issue: https://github.com/apache/camel-quarkus/issues/5641
12:55:51,374 INFO -------------------- CompilationSupportedExtensionTest.extensionCanBeCompiled[Coordinates{groupId='org.apache.camel.quarkus', artifactId='camel-quarkus-google-bigquery', version='null'}] --------------------
23.0: Pulling from quarkus/mandrel-23-rhel8
Digest: sha256:4d9db352fd66b22464ce8b69ef24ec2eeb89f47063bc06d612ee76b58b59d3ab
Status: Image is up to date for registry.access.redhat.com/quarkus/mandrel-23-rhel8:23.0
registry.access.redhat.com/quarkus/mandrel-23-rhel8:23.0
========================================================================================================================
GraalVM Native Image: Generating 'camel-exts-for-quarkus-supported-extensions-1.0-snapshot-runner' (executable)...
========================================================================================================================
For detailed information and explanations on the build output, visit:
https://github.com/oracle/graal/blob/master/docs/reference-manual/native-image/BuildOutput.md
------------------------------------------------------------------------------------------------------------------------
Warning: Could not resolve class com.google.protobuf.DescriptorProtos$ExtensionRangeOptions$Declaration for reflection configuration. Reason: java.lang.ClassNotFoundException: com.google.protobuf.DescriptorProtos$ExtensionRangeOptions$Declaration.
Warning: Could not resolve class com.google.protobuf.DescriptorProtos$ExtensionRangeOptions$Declaration$Builder for reflection configuration. Reason: java.lang.ClassNotFoundException: com.google.protobuf.DescriptorProtos$ExtensionRangeOptions$Declaration$Builder.
Warning: Could not resolve class com.google.protobuf.DescriptorProtos$ExtensionRangeOptions$VerificationState for reflection configuration. Reason: java.lang.ClassNotFoundException: com.google.protobuf.DescriptorProtos$ExtensionRangeOptions$VerificationState.
Warning: Could not resolve class com.google.protobuf.DescriptorProtos$ExtensionRangeOptions$Declaration for reflection configuration. Reason: java.lang.ClassNotFoundException: com.google.protobuf.DescriptorProtos$ExtensionRangeOptions$Declaration.
Warning: Could not resolve class com.google.protobuf.DescriptorProtos$ExtensionRangeOptions$Declaration$Builder for reflection configuration. Reason: java.lang.ClassNotFoundException: com.google.protobuf.DescriptorProtos$ExtensionRangeOptions$Declaration$Builder.
Warning: Could not resolve class com.google.protobuf.DescriptorProtos$ExtensionRangeOptions$VerificationState for reflection configuration. Reason: java.lang.ClassNotFoundException: com.google.protobuf.DescriptorProtos$ExtensionRangeOptions$VerificationState.
Warning: Could not resolve class com.google.protobuf.DescriptorProtos$ExtensionRangeOptions$Declaration for reflection configuration. Reason: java.lang.ClassNotFoundException: com.google.protobuf.DescriptorProtos$ExtensionRangeOptions$Declaration.
Warning: Could not resolve class com.google.protobuf.DescriptorProtos$ExtensionRangeOptions$Declaration$Builder for reflection configuration. Reason: java.lang.ClassNotFoundException: com.google.protobuf.DescriptorProtos$ExtensionRangeOptions$Declaration$Builder.
Warning: Could not resolve class com.google.protobuf.DescriptorProtos$ExtensionRangeOptions$VerificationState for reflection configuration. Reason: java.lang.ClassNotFoundException: com.google.protobuf.DescriptorProtos$ExtensionRangeOptions$VerificationState.
Warning: Could not resolve class com.google.auth.appengine.AppEngineCredentials for reflection configuration. Reason: java.lang.ClassNotFoundException: com.google.auth.appengine.AppEngineCredentials.
Warning: Could not resolve class org.apache.commons.pool2.impl.DefaultEvictionPolicy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.apache.commons.pool2.impl.DefaultEvictionPolicy.
[1/8] Initializing... (7.8s @ 0.31GB)
Java version: 17.0.11+9-LTS, vendor version: Mandrel-23.0.4.0-1b2
Graal compiler: optimization level: 2, target machine: x86-64-v3
C compiler: gcc (redhat, x86_64, 8.5.0)
Garbage collector: Serial GC (max heap size: 80% of RAM)
6 user-specific feature(s)
- com.google.api.gax.grpc.nativeimage.GrpcNettyFeature
- com.google.api.gax.nativeimage.GoogleJsonClientFeature
- com.google.api.gax.nativeimage.OpenCensusFeature
- com.oracle.svm.thirdparty.gson.GsonFeature
- io.quarkus.runner.Feature: Auto-generated class by Quarkus from the existing extensions
- io.quarkus.runtime.graal.DisableLoggingFeature: Disables INFO logging during the analysis phase
12:56:26,357 WARNING [com.goo.api.gax.nat.NativeImageUtils] Failed to find io.grpc.netty.shaded.io.netty.channel.ProtocolNegotiators on the classpath for reflection.
[2/8] Performing analysis... [] (3.6s @ 0.35GB)
2,623 (52.33%) of 5,012 types reachable
2,504 (48.27%) of 5,188 fields reachable
4,644 (10.82%) of 42,933 methods reachable
1,754 types, 1,368 fields, and 24,542 methods registered for reflection
Fatal error: com.oracle.graal.pointsto.util.AnalysisError$ParsingError: Error encountered while parsing io.netty.buffer.PooledByteBufAllocatorL.<init>(PooledByteBufAllocatorL.java:47)
Parsing context:
at org.apache.arrow.memory.NettyAllocationManager.<clinit>(NettyAllocationManager.java:51)
at static root method.(Unknown Source)
at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.util.AnalysisError.parsingError(AnalysisError.java:149)
at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.MethodTypeFlow.createFlowsGraph(MethodTypeFlow.java:178)
at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.MethodTypeFlow.ensureFlowsGraphCreated(MethodTypeFlow.java:152)
at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.MethodTypeFlow.getOrCreateMethodFlowsGraphInfo(MethodTypeFlow.java:110)
at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.typestate.DefaultSpecialInvokeTypeFlow.lambda$onObservedUpdate$0(DefaultSpecialInvokeTypeFlow.java:63)
at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.util.LightImmutableCollection.forEach(LightImmutableCollection.java:90)
at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.typestate.DefaultSpecialInvokeTypeFlow.onObservedUpdate(DefaultSpecialInvokeTypeFlow.java:62)
at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.flow.TypeFlow.update(TypeFlow.java:583)
at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.PointsToAnalysis$1.run(PointsToAnalysis.java:474)
at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.util.CompletionExecutor.executeCommand(CompletionExecutor.java:187)
at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.util.CompletionExecutor.lambda$executeService$0(CompletionExecutor.java:171)
at java.base/java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1395)
at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373)
at java.base/java.util.concurrent.ForkJoinPool.externalHelpQuiescePool(ForkJoinPool.java:2104)
at java.base/java.util.concurrent.ForkJoinPool.awaitQuiescence(ForkJoinPool.java:3323)
at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.util.CompletionExecutor.complete(CompletionExecutor.java:237)
at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.PointsToAnalysis.doTypeflow(PointsToAnalysis.java:527)
at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.PointsToAnalysis.finish(PointsToAnalysis.java:515)
at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.AbstractAnalysisEngine.runAnalysis(AbstractAnalysisEngine.java:160)
at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.runPointsToAnalysis(NativeImageGenerator.java:767)
at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.doRun(NativeImageGenerator.java:582)
at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.run(NativeImageGenerator.java:539)
at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.buildImage(NativeImageGeneratorRunner.java:408)
at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.build(NativeImageGeneratorRunner.java:612)
at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.start(NativeImageGeneratorRunner.java:134)
at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.main(NativeImageGeneratorRunner.java:94)
Caused by: org.graalvm.compiler.java.BytecodeParser$BytecodeParserError: com.oracle.graal.pointsto.constraints.UnresolvedElementException: Discovered unresolved field during parsing: io.netty.buffer.PoolArena.chunkSize. This error is reported at image build time because class io.netty.buffer.PooledByteBufAllocatorL$InnerAllocator is registered for linking at image build time by command line