Skip to content

memcached operator sample fails to start with NoSuchMethodError #3

Open
@mswiderski

Description

@mswiderski

Tying out this sample operator on clean install it fails with following exception

 --/ __ \/ / / / _ | / _ \/ //_/ / / / __/
 -/ /_/ / /_/ / __ |/ , _/ ,< / /_/ /\ \
--\___\_\____/_/ |_/_/|_/_/|_|\____/___/
2021-02-28 11:11:52,613 INFO  [io.jav.qua.ext.dep.QuarkusExtensionProcessor] (build-33) Processed 'io.javaoperatorsdk.sample.memcached.MemcachedController' controller named 'memcachedcontroller' for 'memcacheds.cache.example.com' CR (version 'cache.example.com/v1alpha1')
2021-02-28 11:11:54,088 INFO  [io.quarkus] (Quarkus Main Thread) memcached-operator 0.1.0-SNAPSHOT on JVM (powered by Quarkus 1.12.0.Final) started in 0.306s. Listening on: http://localhost:8080
2021-02-28 11:11:54,089 INFO  [io.quarkus] (Quarkus Main Thread) Profile dev activated. Live Coding activated.
2021-02-28 11:11:54,089 INFO  [io.quarkus] (Quarkus Main Thread) Installed features: [cdi, kubernetes, kubernetes-client, operator-sdk, smallrye-health]
2021-02-28 11:11:54,341 ERROR [io.qua.run.boo.StartupActionImpl] (Quarkus Main Thread) Error running Quarkus: java.lang.reflect.InvocationTargetException
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at io.quarkus.runner.bootstrap.StartupActionImpl$3.run(StartupActionImpl.java:134)
	at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.lang.NoSuchMethodError: io.fabric8.kubernetes.client.V1ApiextensionAPIGroupDSL.customResourceDefinitions()Lio/fabric8/kubernetes/client/dsl/MixedOperation;
	at io.javaoperatorsdk.operator.Operator.register(Operator.java:106)
	at io.javaoperatorsdk.operator.Operator.register(Operator.java:63)
	at java.base/java.util.Iterator.forEachRemaining(Iterator.java:133)
	at java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)
	at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:658)
	at io.javaoperatorsdk.quarkus.extension.OperatorProducer.operator(OperatorProducer.java:24)
	at io.javaoperatorsdk.quarkus.extension.OperatorProducer_ProducerMethod_operator_a8440c868181d0f10deca15fb7a236e1362600c2_Bean.create(OperatorProducer_ProducerMethod_operator_a8440c868181d0f10deca15fb7a236e1362600c2_Bean.zig:334)
	at io.javaoperatorsdk.quarkus.extension.OperatorProducer_ProducerMethod_operator_a8440c868181d0f10deca15fb7a236e1362600c2_Bean.create(OperatorProducer_ProducerMethod_operator_a8440c868181d0f10deca15fb7a236e1362600c2_Bean.zig:349)
	at io.quarkus.arc.impl.AbstractSharedContext.createInstanceHandle(AbstractSharedContext.java:96)
	at io.quarkus.arc.impl.AbstractSharedContext.access$000(AbstractSharedContext.java:14)
	at io.quarkus.arc.impl.AbstractSharedContext$1.get(AbstractSharedContext.java:29)
	at io.quarkus.arc.impl.AbstractSharedContext$1.get(AbstractSharedContext.java:26)
	at io.quarkus.arc.impl.LazyValue.get(LazyValue.java:26)
	at io.quarkus.arc.impl.ComputingCache.computeIfAbsent(ComputingCache.java:69)
	at io.quarkus.arc.impl.AbstractSharedContext.get(AbstractSharedContext.java:26)
	at io.javaoperatorsdk.quarkus.extension.OperatorProducer_ProducerMethod_operator_a8440c868181d0f10deca15fb7a236e1362600c2_Bean.get(OperatorProducer_ProducerMethod_operator_a8440c868181d0f10deca15fb7a236e1362600c2_Bean.zig:381)
	at io.javaoperatorsdk.quarkus.extension.OperatorProducer_ProducerMethod_operator_a8440c868181d0f10deca15fb7a236e1362600c2_Bean.get(OperatorProducer_ProducerMethod_operator_a8440c868181d0f10deca15fb7a236e1362600c2_Bean.zig:397)
	at io.javaoperatorsdk.sample.memcached.MemcachedOperator_Bean.create(MemcachedOperator_Bean.zig:202)
	at io.javaoperatorsdk.sample.memcached.MemcachedOperator_Bean.create(MemcachedOperator_Bean.zig:242)
	at io.quarkus.arc.impl.AbstractSharedContext.createInstanceHandle(AbstractSharedContext.java:96)
	at io.quarkus.arc.impl.AbstractSharedContext.access$000(AbstractSharedContext.java:14)
	at io.quarkus.arc.impl.AbstractSharedContext$1.get(AbstractSharedContext.java:29)
	at io.quarkus.arc.impl.AbstractSharedContext$1.get(AbstractSharedContext.java:26)
	at io.quarkus.arc.impl.LazyValue.get(LazyValue.java:26)
	at io.quarkus.arc.impl.ComputingCache.computeIfAbsent(ComputingCache.java:69)
	at io.quarkus.arc.impl.AbstractSharedContext.get(AbstractSharedContext.java:26)
	at io.quarkus.arc.impl.ClientProxies.getApplicationScopedDelegate(ClientProxies.java:17)
	at io.javaoperatorsdk.sample.memcached.MemcachedOperator_ClientProxy.arc$delegate(MemcachedOperator_ClientProxy.zig:67)
	at io.javaoperatorsdk.sample.memcached.MemcachedOperator_ClientProxy.run(MemcachedOperator_ClientProxy.zig:126)
	at io.quarkus.runtime.ApplicationLifecycleManager.run(ApplicationLifecycleManager.java:122)
	at io.quarkus.runtime.Quarkus.run(Quarkus.java:66)
	at io.quarkus.runtime.Quarkus.run(Quarkus.java:42)
	at io.javaoperatorsdk.sample.memcached.MemcachedOperator.main(MemcachedOperator.java:15)
	... 6 more

Looks like some sort of library conflict as the Kubernetes Client seems to be upgraded here compared to what quarkus provides with 1.12.0 version.

Any ideas how to resolve this?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions