Skip to content

panic (NPE) when applying sink #665

@zzzz465

Description

@zzzz465

Hi, I encountered panic error on deploying sink job to cluster.
from yaml, looks like selector is not configured correctly.

applied YAML

apiVersion: compute.functionmesh.io/v1alpha1
kind: Sink
metadata:
  annotations:
    meta.helm.sh/release-name: test-pulsar-resources
    meta.helm.sh/release-namespace: test-pulsar
  creationTimestamp: 2023-07-10T07:12:43Z
  generation: 3
  labels:
    app.kubernetes.io/managed-by: Helm
  name: system-container-to-es-logs
  namespace: test-pulsar
  resourceVersion: "369822483"
  uid: 681e825d-d7c2-4b4e-bab6-ffed33c8af68
spec:
  autoAck: true
  className: org.apache.pulsar.io.elasticsearch.ElasticSearchSink
  clusterName: "<cluster-name-here>"
  image: streamnative/pulsar-io-elastic-search:3.0.0.4
  input:
    topics:
      - persistent://<topic-name-here>
  java:
    jar: connectors/pulsar-io-elastic-search-3.0.0.4.nar
    javaOpts:
      - -Xms=64M
      - -Xmx=256M
  maxReplicas: 4
  minReplicas: 1
  processingGuarantee: atleast_once
  pulsar:
    authConfig:
      genericAuth:
        clientAuthenticationParameters: file:///var/run/secrets/kubernetes.io/serviceaccount/token
        clientAuthenticationPlugin: org.apache.pulsar.client.impl.auth.AuthenticationToken
    pulsarConfig: pulsar-config
    tlsConfig:
      enabled: false
  sinkConfig:
    bulkEnabled: true
    compatibilityMode: ELASTICSEARCH_7
    compressionEnabled: true
    elasticSearchUrl: <es-url-here>
    indexName: "" # use topic name as index name
  subscriptionPosition: earliest
status:
  conditions:
    HorizontalPodAutoscaler:
      action: NoAction
      condition: HPAReady
      status: "True"
    Service:
      action: NoAction
      condition: ServiceReady
      status: "True"
    StatefulSet:
      action: Create
      condition: StatefulSetReady
      status: "False"
  observedGeneration: 2
  replicas: 0
  selector: ""

panic log

panic: runtime error: invalid memory address or nil pointer dereference [recovered]
        panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x12f2315]

goroutine 551 [running]:
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Reconcile.func1()
        sigs.k8s.io/controller-runtime@v0.12.3/pkg/internal/controller/controller.go:118 +0x1f4
panic({0x165ad00, 0x25c0b00})
        runtime/panic.go:884 +0x213
github.com/streamnative/function-mesh/controllers/spec.CheckIfStatefulSetSpecIsEqual(0xc000698d80?, 0xffffffffffffffff?)
        github.com/streamnative/function-mesh/controllers/spec/common.go:1796 +0x35
github.com/streamnative/function-mesh/controllers.(*SinkReconciler).checkIfStatefulSetNeedUpdate(0xc0000d75a0?, 0xc0007e8f00, 0xc000a750b0?)
        github.com/streamnative/function-mesh/controllers/sink.go:333 +0x45
github.com/streamnative/function-mesh/controllers.(*SinkReconciler).ObserveSinkStatefulSet(0xc00038cd20, {0x1a835a0, 0xc000a750b0}, 0xc000698d80)
        github.com/streamnative/function-mesh/controllers/sink.go:71 +0x41b
github.com/streamnative/function-mesh/controllers.(*SinkReconciler).Reconcile(0xc00038cd20, {0x1a835a0, 0xc000a750b0}, {{{0xc000523605, 0xb}, {0xc00004bc00, 0x1b}}})
        github.com/streamnative/function-mesh/controllers/sink_controller.go:86 +0x39f
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Reconcile(0x1a834f8?, {0x1a835a0?, 0xc000a750b0?}, {{{0xc000523605?, 0x17753a0?}, {0xc00004bc00?, 0xc0006a4cf8?}}})
        sigs.k8s.io/controller-runtime@v0.12.3/pkg/internal/controller/controller.go:121 +0xc8
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler(0xc00022a280, {0x1a834f8, 0xc000401ea0}, {0x16b2ae0?, 0xc000082de0?})
        sigs.k8s.io/controller-runtime@v0.12.3/pkg/internal/controller/controller.go:320 +0x309
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem(0xc00022a280, {0x1a834f8, 0xc000401ea0})
        sigs.k8s.io/controller-runtime@v0.12.3/pkg/internal/controller/controller.go:273 +0x1d9
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2()
        sigs.k8s.io/controller-runtime@v0.12.3/pkg/internal/controller/controller.go:234 +0x85
created by sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2
        sigs.k8s.io/controller-runtime@v0.12.3/pkg/internal/controller/controller.go:230 +0x587

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