-
Notifications
You must be signed in to change notification settings - Fork 14
Closed
Labels
bugSomething isn't workingSomething isn't working
Description
Current Behavior
When deployed with helm chart in namespace default, Pod cryostat-v4 logs print Failed to syncronize Endpoints in namespace default error message.
2025-05-09 16:46:52,475 ERROR [io.cry.dis.KubeApiDiscovery] (executor-thread-1) Failed to syncronize Endpoints in namespace default: java.lang.NullPointerException: Cannot invoke "io.fabric8.kubernetes.api.model.ObjectReference.getNamespace()" because "ref" is null
at io.cryostat.discovery.KubeApiDiscovery.tuplesFromEndpoints(KubeApiDiscovery.java:232)
at io.cryostat.discovery.KubeApiDiscovery.getTargetTuplesFrom(KubeApiDiscovery.java:243)
at io.cryostat.discovery.KubeApiDiscovery.lambda$handleQueryEvent$4(KubeApiDiscovery.java:300)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1708)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
at io.cryostat.discovery.KubeApiDiscovery.handleQueryEvent(KubeApiDiscovery.java:312)
at io.cryostat.discovery.KubeApiDiscovery_Subclass.handleQueryEvent$$superforward(Unknown Source)
at io.cryostat.discovery.KubeApiDiscovery_Subclass$$function$$2.apply(Unknown Source)
at io.quarkus.arc.impl.AroundInvokeInvocationContext.proceed(AroundInvokeInvocationContext.java:73)
at io.quarkus.arc.impl.AroundInvokeInvocationContext.proceed(AroundInvokeInvocationContext.java:62)
at io.quarkus.narayana.jta.runtime.interceptor.TransactionalInterceptorBase.invokeInOurTx(TransactionalInterceptorBase.java:136)
at io.quarkus.narayana.jta.runtime.interceptor.TransactionalInterceptorBase.invokeInOurTx(TransactionalInterceptorBase.java:107)
at io.quarkus.narayana.jta.runtime.interceptor.TransactionalInterceptorRequiresNew.doIntercept(TransactionalInterceptorRequiresNew.java:41)
at io.quarkus.narayana.jta.runtime.interceptor.TransactionalInterceptorBase.intercept(TransactionalInterceptorBase.java:61)
at io.quarkus.narayana.jta.runtime.interceptor.TransactionalInterceptorRequiresNew.intercept(TransactionalInterceptorRequiresNew.java:32)
at io.quarkus.narayana.jta.runtime.interceptor.TransactionalInterceptorRequiresNew_Bean.intercept(Unknown Source)
at io.quarkus.arc.impl.InterceptorInvocation.invoke(InterceptorInvocation.java:42)
at io.quarkus.arc.impl.AroundInvokeInvocationContext.perform(AroundInvokeInvocationContext.java:30)
at io.quarkus.arc.impl.InvocationContexts.performAroundInvoke(InvocationContexts.java:27)
at io.cryostat.discovery.KubeApiDiscovery_Subclass.handleQueryEvent(Unknown Source)
at io.cryostat.discovery.KubeApiDiscovery_ClientProxy.handleQueryEvent(Unknown Source)
at io.cryostat.discovery.KubeApiDiscovery_handleQueryEvent_Invoker_-8wgLqvC_-i4engVkpoKZrK1uko.invoke(Unknown Source)
at io.cryostat.discovery.KubeApiDiscovery_handleQueryEvent_LazyInvoker_-8wgLqvC_-i4engVkpoKZrK1uko.invoke(Unknown Source)
at io.quarkus.vertx.runtime.EventConsumerInvoker.invokeBean(EventConsumerInvoker.java:79)
at io.quarkus.vertx.runtime.EventConsumerInvoker.invoke(EventConsumerInvoker.java:51)
at io.quarkus.vertx.runtime.VertxEventBusConsumerRecorder$3$1$2.call(VertxEventBusConsumerRecorder.java:158)
at io.quarkus.vertx.runtime.VertxEventBusConsumerRecorder$3$1$2.call(VertxEventBusConsumerRecorder.java:154)
at io.vertx.core.impl.ContextImpl.lambda$executeBlocking$4(ContextImpl.java:192)
at io.vertx.core.impl.ContextInternal.dispatch(ContextInternal.java:270)
at io.vertx.core.impl.ContextImpl$1.execute(ContextImpl.java:221)
at io.vertx.core.impl.WorkerTask.run(WorkerTask.java:56)
at io.vertx.core.impl.TaskQueue.run(TaskQueue.java:81)
at io.quarkus.vertx.core.runtime.VertxCoreRecorder$14.runWith(VertxCoreRecorder.java:635)
at org.jboss.threads.EnhancedQueueExecutor$Task.doRunWith(EnhancedQueueExecutor.java:2516)
at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2495)
at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1521)
at org.jboss.threads.DelegatingRunnable.run(DelegatingRunnable.java:11)
at org.jboss.threads.ThreadLocalResettingRunnable.run(ThreadLocalResettingRunnable.java:11)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.base/java.lang.Thread.run(Thread.java:1583)
Expected Behavior
kube-api discovery should be working in namespace default, with builtin name=kubernetes service.
Steps To Reproduce
helm install cryostat cryostat-charts/cryostat;kubectl logs cryostat-v4-5df98d8c48-9c9jg;
Environment
- OS: macOS 15.3.2
- Environment: OrbStack 1.10.3
- Version: Cryostat 4.0.0Anything else?
this kubernetes service in default namespace has no selector, so the endpoint is not ref to any pod.
apiVersion: v1
kind: Endpoints
metadata:
creationTimestamp: "2024-11-14T23:05:38Z"
labels:
endpointslice.kubernetes.io/skip-mirror: "true"
name: kubernetes
namespace: default
resourceVersion: "72"
uid: 3f90a71d-3843-4a13-ba40-9bf1d274c8b2
subsets:
- addresses:
- ip: 198.19.249.2
ports:
- name: https
port: 26443
protocol: TCPnot like other service, for example
apiVersion: v1
kind: Endpoints
metadata:
annotations:
endpoints.kubernetes.io/last-change-trigger-time: "2025-05-09T18:11:56Z"
creationTimestamp: "2025-05-09T17:36:16Z"
labels:
app.kubernetes.io/component: cryostat
app.kubernetes.io/instance: cryostat
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: cryostat
app.kubernetes.io/part-of: cryostat
app.kubernetes.io/version: 4.0.0
helm.sh/chart: cryostat-2.0.0
name: cryostat
namespace: default
resourceVersion: "36099"
uid: 71457534-39fc-46c2-981b-450d8e02f4e5
subsets:
- addresses:
- ip: 192.168.194.46
nodeName: orbstack
targetRef:
kind: Pod
name: cryostat-v4-5df98d8c48-9c9jg
namespace: default
uid: 40531965-e0c5-45a3-85f0-35f46422c7d1
ports:
- appProtocol: http
name: http
port: 4180
protocol: TCPReactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working