snowdrop-zen / quarkus

Quarkus: Supersonic Subatomic Java.
https://quarkus.io
Apache License 2.0
1 stars 0 forks source link

Kubernetes Client informer not working in native mode #124

Closed snowdrop-bot closed 3 years ago

snowdrop-bot commented 4 years ago

Describe the bug (Describe the problem clearly and concisely.)

Using the "informer" of the Fabric8 Kubernetes Client doesn't work in native image mode. It looks like a deserialziation issue.

Expected behavior

It should work, the same way it does in JVM mode.

Actual behavior

The list operation fails:

Exception on console ~~~ 2020-06-26 09:25:22,712 WARN [io.fab.kub.cli.inf.cac.Controller] (informer-controller-Foo) Reflector list-watching job exiting because the thread-pool is shutting down: java.util.concurrent.RejectedExecutionException: Error while starting ReflectorRunnable watch at io.fabric8.kubernetes.client.informers.cache.Reflector.listAndWatch(Reflector.java:85) at io.fabric8.kubernetes.client.informers.cache.Controller.run(Controller.java:112) at java.lang.Thread.run(Thread.java:834) at com.oracle.svm.core.thread.JavaThreads.threadStartRoutine(JavaThreads.java:497) at com.oracle.svm.core.posix.thread.PosixJavaThreads.pthreadStartRoutine(PosixJavaThreads.java:193) Caused by: java.util.concurrent.RejectedExecutionException: Error while doing ReflectorRunnable list at io.fabric8.kubernetes.client.informers.cache.Reflector.getList(Reflector.java:73) at io.fabric8.kubernetes.client.informers.cache.Reflector.reListAndSync(Reflector.java:94) at io.fabric8.kubernetes.client.informers.cache.Reflector.listAndWatch(Reflector.java:80) ... 4 more Caused by: io.fabric8.kubernetes.client.KubernetesClientException: An error has occurred. at io.fabric8.kubernetes.client.utils.Serialization.unmarshal(Serialization.java:248) at io.fabric8.kubernetes.client.utils.Serialization.unmarshal(Serialization.java:199) at io.fabric8.kubernetes.client.dsl.base.OperationSupport.handleResponse(OperationSupport.java:474) at io.fabric8.kubernetes.client.dsl.base.OperationSupport.handleResponse(OperationSupport.java:430) at io.fabric8.kubernetes.client.dsl.base.OperationSupport.handleResponse(OperationSupport.java:412) at io.fabric8.kubernetes.client.dsl.base.BaseOperation.listRequestHelper(BaseOperation.java:151) at io.fabric8.kubernetes.client.dsl.base.BaseOperation.list(BaseOperation.java:621) at io.fabric8.kubernetes.client.informers.SharedInformerFactory$1.list(SharedInformerFactory.java:134) at io.fabric8.kubernetes.client.informers.SharedInformerFactory$1.list(SharedInformerFactory.java:127) at io.fabric8.kubernetes.client.informers.cache.Reflector.getList(Reflector.java:67) ... 6 more Caused by: com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "apiVersion" (class org.acme.getting.started.crd.FooList), not marked as ignorable (2 known properties: "items", "metadata"]) at [Source: (BufferedInputStream); line: 1, column: 16] (through reference chain: org.acme.getting.started.crd.FooList["apiVersion"]) at com.fasterxml.jackson.databind.DeserializationContext.handleUnknownProperty(DeserializationContext.java:843) at com.fasterxml.jackson.databind.deser.std.StdDeserializer.handleUnknownProperty(StdDeserializer.java:1206) at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.handleUnknownProperty(BeanDeserializerBase.java:1610) at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.handleUnknownVanilla(BeanDeserializerBase.java:1588) at com.fasterxml.jackson.databind.deser.BeanDeserializer.vanillaDeserialize(BeanDeserializer.java:294) at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:151) at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4218) at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3259) at io.fabric8.kubernetes.client.utils.Serialization.unmarshal(Serialization.java:246) ... 15 more ~~~

To Reproduce Steps to reproduce the behavior:

  1. See the reproducer: https://github.com/ctron/quarkus-reproducer-crd

Configuration

# Add your application.properties here, if applicable.

Screenshots (If applicable, add screenshots to help explain your problem.)

Environment (please complete the following information):

Additional context (Add any other context about the problem here.)


https://github.com/quarkusio/quarkus/issues/10295


$upstream:10295$